Implement rich editable line output
- text selection change events (from accessibility)
- cvox.EditableTextBase module
- Output module
ChromeVox can provie rich text feedback for simple structures such as links and headings.
Given a previous and current text selection event:
1. handle the case where the selections are on the same node by taking a diff of their text content based on their plain text representation.
2. otherwise, output the line based on the selection's start
- In 2, we use ChromeVox's line hueristic to compute the line (i.e. nodes falling on the same y-coordinate).
- bugs with selection (e.g. selections falling on unexpected nodes when moving by character).
This support is currently enabled only as a runtime flag one sets via the console:
editing.useRichText = true;
within a background page context.