Issue metadata
Sign in to add a comment
|
role="combobox" breaks aria-owns (AKA broken autocomplete a11y) |
||||||||||||||||||||||||
Issue description
Version: 53.0.2768.0 canary (64-bit)
OS: Windows 10 64 bit
STR:
1. Start Chrome and the NVDA screen reading software.
2. Open this URL: data:text/html,<div contentEditable="true" role="combobox" aria-owns="list" onKeyDown="this.setAttribute('aria-activedescendant', 'item');">content</div><ul id="list"><li id="item">item</li></ul>
3. Focus the combo box.
4. Press a key; e.g. down arrow.
Expected: NVDA should say "list item 1 of 1"
Actual: NVDA says "unknown 1 of 1"
If an element has role="combobox", it seems to break aria-owns. You can't get to any ARIA owned descendants in the tree. If an owned descendant gets accessible focus (as happens here), it has a role of unknown and doesn't expose other information.
Note that this does not occur if you use role="textbox" instead.
Impact: This breaks accessible autocompletes, including those on Gmail.
NVDA issue: https://github.com/nvaccess/nvda/issues/6075
,
Jun 23 2016
Nektarios, I already wrote this change: https://codereview.chromium.org/2072013004/ - I think it's the same issue, and possibly a duplicate of bug 619641 .
,
Jun 23 2016
Yes, I remember seeing this change in the last few days. But I thought that it only touches Blink code. From what I see using chrome://accessibility and the sample provided by Jamie, the internal accessibility tree appears to be correct in this case without your change. On the other hand, the platform specific tree is missing the combo box's children, i.e. the selected item in the list. I might have overlooked something though.
,
Jul 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/6647bd1dd8ba1f3f32e8e636f834270e5ee0edf3 commit 6647bd1dd8ba1f3f32e8e636f834270e5ee0edf3 Author: dmazzoni <dmazzoni@chromium.org> Date: Fri Jul 01 21:29:38 2016 Native text field elements shouldn't allow aria-owns children. BUG= 620432 Review-Url: https://codereview.chromium.org/2119893002 Cr-Commit-Position: refs/heads/master@{#403537} [modify] https://crrev.com/6647bd1dd8ba1f3f32e8e636f834270e5ee0edf3/third_party/WebKit/LayoutTests/TestExpectations [modify] https://crrev.com/6647bd1dd8ba1f3f32e8e636f834270e5ee0edf3/third_party/WebKit/LayoutTests/accessibility/aria-owns-ignores-leafs.html [modify] https://crrev.com/6647bd1dd8ba1f3f32e8e636f834270e5ee0edf3/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp
,
Jul 1 2016
The latest version of the ARIA Spec doesn't use aria-owns for attaching the list of choices to a combo box. It uses aria-controls. https://rawgit.com/w3c/aria/master/aria/aria.html We decided to expose the children of combo boxes, search boxes and text boxes that are added using aria-owns only when such boxes are non-editable. Otherwise, if such boxes are made editable either using contenteditable or an <input> or <textarea> field, there would be possible confusion between the children that are present because of the text found in the box and the children that are added using aria-owns. Admittedly, the former are not visible to screen readers if an <input> or a <textarea> field is used, but nevertheless we have to deal with them internally. The way we implement aria-owns is to re-order the accessibility tree internally and not expose the fact that aria-owns has been used to screen readers. With our latest changes, auto-complete should work because it shouldn't matter to screen readers if the list of choices is not a child but a sibling of the text field. Please let us know if any clarifications or other approaches are needed.
,
Jul 8 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/734e21b735b81cc5c8ac04a98e330a9e7f51decd commit 734e21b735b81cc5c8ac04a98e330a9e7f51decd Author: nektar <nektar@chromium.org> Date: Fri Jul 08 20:17:48 2016 The children of non-editable combo boxes, search boxes and text fields specified via e.g. aria-owns should not be hidden from platform trees. Children of combo boxes, search boxes and text fields might not always be part of the shadow DOM, especially when no <input> or contentEditable . tags have been usedThey might be a list of combo box items specified via aria-owns. data:text/html,<div role="combobox" aria-owns="list" onKeyDown="this.setAttribute('aria-activedescendant', 'item');">content</div><ul id="list"><li id="item">item</li></ul> BUG= 620432 R=dmazzoni@chromium.org TESTED=manually with Jaws NVDA and Voiceover Review-Url: https://codereview.chromium.org/2120523002 Cr-Commit-Position: refs/heads/master@{#404478} [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility.cc [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility.h [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility_android.cc [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility_android.h [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility_win.cc [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/browser/accessibility/browser_accessibility_win_unittest.cc [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-autocomplete-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-searchbox-expected-mac.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-searchbox-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-mac.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-searchbox-with-selection-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-textbox-expected-mac.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-textbox-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-mac.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/aria/aria-textbox-with-selection-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/html/input-datetime-expected-mac.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/content/test/data/accessibility/html/input-datetime-expected-win.txt [modify] https://crrev.com/734e21b735b81cc5c8ac04a98e330a9e7f51decd/third_party/WebKit/Source/modules/accessibility/AXNodeObject.h
,
Sep 8 2016
,
Nov 14 2016
|
|||||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||||
Comment 1 by nek...@chromium.org
, Jun 23 2016