New issue
Advanced search Search tips

Issue 829945 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Closed: Apr 2018
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug
Team-Accessibility

Blocking:
issue 666049



Sign in to add a comment

VoiceOver doesn't speak aria-activedescendant changes in comboboxes

Project Member Reported by dmazz...@chromium.org, Apr 6 2018

Issue description

Try these three examples:

https://kloots.github.io/chrome-aria-autocomplete-bug.html

https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.0pattern/combobox-autocomplete-list.html

https://www.w3.org/TR/2017/NOTE-wai-aria-practices-1.1-20171214/examples/combobox/aria1.1pattern/listbox-combo.html

On Windows with NVDA, these comboboxes correctly announce autocomplete choices when you arrow up/down, and announce characters when you arrow left/right.

On macOS with VoiceOver, arrowing up/down through the choices is silent. macOS doesn't directly look for activeDescendant, it wants AXOwns instead and looks for which option is selected.

 
Blocking: 666049
Project Member

Comment 3 by bugdroid1@chromium.org, Apr 9 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ffc347415085145dfb72def6169b13e04ccaf24f

commit ffc347415085145dfb72def6169b13e04ccaf24f
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Mon Apr 09 21:40:49 2018

Support aria-activedescendant in comboboxes on Mac with VoiceOver.

Mac's accessibility API doesn't have a way for us to expose the
active descendant of a control. For something like a list box or grid,
we just pretend that the active descendant is actually focused and that
basically works.

For a combobox, we need VoiceOver to announce the selected option
while keeping focus on the text box. Fix this by exposing the
AXOwns relationship, which VoiceOver uses to find a list box owned
by a combo box.

Rather than plumbing through aria-owns, instead we just expose the
parent of the activeDescendant target. That way things just work if
the author uses aria-activedescendant correctly even if they forget
aria-owns.

Also implements AXHasPopup to match Safari.

Bug:  829945 
Change-Id: I7f670ecb8af1056e14e889d31aa52a9917719964
Reviewed-on: https://chromium-review.googlesource.com/999958
Commit-Queue: Dominic Mazzoni <dmazzoni@chromium.org>
Reviewed-by: Nektarios Paisios <nektar@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549286}
[modify] https://crrev.com/ffc347415085145dfb72def6169b13e04ccaf24f/content/browser/accessibility/browser_accessibility_cocoa.mm

Labels: TE-Verified-M67 TE-Verified-67.0.3393.0
Able to reproduce this issue on Mac OS 10.13.3 on the build without fix 67.0.3390.0 and the issue is fixed on the latest Canary 67.0.3393.0.

VoiceOver is announcing the choices in aria-activedescendant while navigating through the comboboxes using the arrow keys.
Attached is the screen cast for reference.

Hence adding TE verified labels as the fix is working as intended.

Thanks..
// Attaching the screen cast for Comment #4.
829945-1.webm
3.2 MB View Download
Status: Fixed (was: Started)
Status: Verified (was: Fixed)
Project Member

Comment 8 by bugdroid1@chromium.org, Jun 15 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/54e50674f6daa850def14795337f6ae5fed08233

commit 54e50674f6daa850def14795337f6ae5fed08233
Author: Aaron Leventhal <aleventhal@chromium.org>
Date: Fri Jun 15 19:38:59 2018

Activedescendant and listbox fixes for Mac a11y

General fixes for active descendant and list boxes on Mac.
- Introduce missing focusedAncestor property. Also, since there are 3 properties that always point
to an ancestor. Group them together in the code and do not expose for root of contents.
(Note: this is now similar to related WebKit code).
- In a list, do not force focus to the listbox, as this breaks ARIA list boxes, by causing focus
events to not be fired for active descendant changes. It also appears to be unnecessary despite the
provided code comment.

Bug: 666049, 829945 
Change-Id: I14c8c6836f2bb26d9ae0fe43d3e1b4d200abd413
Reviewed-on: https://chromium-review.googlesource.com/1096060
Reviewed-by: Dominic Mazzoni <dmazzoni@chromium.org>
Commit-Queue: Aaron Leventhal <aleventhal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#567766}
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/browser/accessibility/accessibility_tree_formatter_mac.mm
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/browser/accessibility/browser_accessibility_cocoa.mm
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/browser/accessibility/browser_accessibility_manager_mac.mm
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-activedescendant-expected-blink.txt
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-activedescendant-expected-mac.txt
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-activedescendant.html
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-listbox-aria-selected-expected-blink.txt
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-listbox-aria-selected-expected-mac.txt
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/aria/aria-listbox-aria-selected.html
[modify] https://crrev.com/54e50674f6daa850def14795337f6ae5fed08233/content/test/data/accessibility/event/listbox-next-expected-mac.txt

Sign in to add a comment