Reproduction steps:
- turn on ChromeVox
- in ChromeVox's background page, eval:
editing.useRichText = true
- load
<div contenteditable>This <b>is</b> a test.</div>
result:
Character movement is broken.
The following is output of the accessibility tree as one presses right arrow in the format:
anchorObject.name@anchorOffset-focusObject.name-focusOffset
All nodes are static text.
log: Speak (I) "T"
"This @0-This @0"
log: Speak (I) "h"
"This @1-This @1"
log: Speak (I) "i"
"This @2-This @2"
log: Speak (I) "s"
"This @3-This @3"
log: Speak (I) " "
"This @4-This @4"
<<<<< broken
"This @5-This @5"
log: Speak (I) category=nav "This "
log: Speak (Q) category=nav "is"
log: Speak (Q) category=nav " a test."
"is@1-is@1"
"is@2-is@2"
log: Speak (I) category=nav "This "
log: Speak (Q) category=nav "is"
log: Speak (Q) category=nav " a test."
" a test.@1- a test.@1"
log: Speak (I) " "
" a test.@2- a test.@2"
log: Speak (I) "t"
" a test.@3- a test.@3"
log: Speak (I) "e"
...
>>>
Expectations
When moving from the last space in 'This ', we end up somehow at index 5 of "This ", which is technically wrong. We should be at index 0 of "is".
Comment 1 by dtseng@chromium.org
, May 17 2017