VO should jump to web dialogs/menus if focus isn't moved (within some timeframe) when one appears. This should be limited to modal dialogs. (@aria-modal). <rdar://problem/16043767>
Created attachment 297971 [details] patch
Comment on attachment 297971 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=297971&action=review > Source/WebCore/ChangeLog:9 > + author didn't handle the focus movements. "focus movement." > LayoutTests/accessibility/mac/aria-modal-auto-focus.html:47 > + newBtn = accessibilityController.accessibleElementById("new"); extra space > LayoutTests/accessibility/mac/aria-modal-auto-focus.html:64 > + }, 100); do we have to wait .1s here or can this be faster? > LayoutTests/accessibility/mac/aria-modal-auto-focus.html:80 > + if (sh == "show") { bad indentation
Created attachment 297976 [details] patch updated from review
Comment on attachment 297976 [details] patch Attachment 297976 [details] did not pass mac-debug-ews (mac): Output: http://webkit-queues.webkit.org/results/2825563 New failing tests: imported/w3c/web-platform-tests/IndexedDB/interfaces.worker.html
Created attachment 297981 [details] Archive of layout-test-results from ews112 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews112 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Comment on attachment 297976 [details] patch Clearing flags on attachment: 297976 Committed r210265: <http://trac.webkit.org/changeset/210265>
All reviewed patches have been landed. Closing bug.
Hi, I faced these issues with the current implementation: 1. if dialog has no children, the focus is not moved to the dialog (it has a valid tabindex, -1 or 0) 2. focus is always moved to the first focusable child, w/o respecting the tab order (e.g. 1st focusable child has tabindex=0, 2nd focusable child has tabindex=1) 3. focus is moved in the dialog only by toggling aria-modal attribute from false to true. I'd expect toggling the visibility of the element would trigger the focus move (e.g. display:none -> display:block)