[Webkit-unassigned] [Bug 158120] New: AX: Voiceover does not follow browser focus on DOM reorder
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu May 26 10:29:11 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=158120
Bug ID: 158120
Summary: AX: Voiceover does not follow browser focus on DOM
reorder
Classification: Unclassified
Product: WebKit
Version: WebKit Nightly Build
Hardware: Macintosh
OS: All
Status: NEW
Severity: Normal
Priority: P2
Component: Accessibility
Assignee: webkit-unassigned at lists.webkit.org
Reporter: holla at marcysutton.com
CC: webkit-bug-importer at group.apple.com
Created attachment 279894
--> https://bugs.webkit.org/attachment.cgi?id=279894&action=review
HTML file with buggy reorder functionality
In Safari, Chrome and Firefox on OSX, Voiceover has problems following the browser's focus state when a list of similar items is reordered with `insertBefore`. I originally encountered it in Angular but was able to reproduce it in vanilla JavaScript (thanks to the Angular team for help. Related bug: https://github.com/angular/angular.js/issues/14677)
After exploring this problem, there appears to be a bug with Voiceover's tracking of elements and state change detection. When items (A, B) are swapped in the DOM to become (B, A), even with `A.focus()` Voiceover keeps focus on B (now in the first position).
Here is a screencast demonstrating the issue: https://www.youtube.com/watch?v=hqd4ZgQMuK0
I have attached a demo file, it can also be viewed on the Web: http://codepen.io/ExpertSystem/pen/mEbKMP
Steps to reproduce:
1. Open the attached page in Safari, Chrome or Firefox and turn on Voiceover.
2. Tab onto one of the reorder buttons.
3. Hit an arrow key to reorder up or down.
4. Observe Voiceover cursor becoming separated from the browser's (managed) focus state.
Expected behavior:
Voiceover should follow the browser's focus state when a list is reordered. Although not ideal, a temporary workaround was found by dynamically creating an offscreen button and sending focus to it before sending focus to item A. Voiceover can keep up, but the delay is problematic for users. Proof of concept: http://codepen.io/ExpertSystem/pen/bebKWR?editors=0010
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20160526/8a9db2f8/attachment.html>
More information about the webkit-unassigned
mailing list