New issue
Advanced search Search tips

Issue 595494 link

Starred by 3 users

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Android , Windows , Chrome , Mac
Pri: 1
Type: Bug-Regression
Team-Accessibility



Sign in to add a comment

[discussion] should Chrome expose the text, marked up with aria-hidden and referred to with aria-labelledby, to accessibility APIs

Project Member Reported by vtsaran@chromium.org, Mar 16 2016

Issue description

Version: Chrome 50 (Canary)
OS: all

What steps will reproduce the problem?
(1) Load the attached file into Chrome.
(2) Open VoiceOver on Mac OS X, NVDA on Windows, etc.
(3) Observe how the listbox option text is read.

What is the expected output? What do you see instead?
Screen reader should see the text for listbox options.
Instead, accessibility API returns an empty string.

Notes:
Chrome seems to do the right thing here, but does it? ARIA spec is not clear here.
Thoughts?
 
option.html
726 bytes View Download
Components: UI>Accessibility
Labels: -cr-ui-accessibility
Remove legacy label cr-ui-accessibility
Cc: dmazz...@chromium.org
Owner: dtseng@chromium.org
Status: Assigned (was: Untriaged)
Any comments at all? Anyone?
I remember discussing this point over with Dominic and he gave me some corner cases that make the decision not so simple. Personally, I would be in favor of exposing this. It has also been asked by one of our customers who is using this technique in their web app and they cannot easily work around it.

 Issue 594791  has been merged into this issue.
Labels: -Type-Bug -Pri-2 M-51 Pri-1 Type-Bug-Regression
Owner: dmazz...@chromium.org
Status: Started (was: Assigned)
Two bugs have been filed and multiple products are affected, so it seems more clear to me that this is a regression, though the spec is unclear.

I figured out the fix for this and it doesn't break any existing tests, making me confident that this should be fixed and ideally merged so that this gets out to users soon.

An example of what broke:

<input aria-labelledby="label">
<div id="label" aria-hidden="true">Hidden label</div>

In other browsers, and previous versions of Chrome, the text field got the accessible label "Hidden label", but in the latest version of Chrome it gets a blank label (because the label is aria-hidden). We should ignore aria-hidden when explicitly following something like aria-labelledby (but not otherwise).

Project Member

Comment 8 by bugdroid1@chromium.org, Apr 26 2016

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

commit 8dacc7a16ffdee2d4af5a60f6f9079c22fd7399c
Author: dmazzoni <dmazzoni@chromium.org>
Date: Tue Apr 26 16:06:21 2016

Accessible name calc should allow aria-labelledby to reference aria-hidden

The new accessible name calculation improved compatibility overall but broke
one specific case, where one element uses aria-labelledby (or aria-describedby)
to reference a subtree that's explicitly aria-hidden. The correct thing to
do here is ignore aria-hidden when an element is referenced explicitly.

<input aria-labelledby="label">
<div id="label" aria-hidden="true">Hidden label</div>

BUG= 595494 

Review URL: https://codereview.chromium.org/1917943002

Cr-Commit-Position: refs/heads/master@{#389798}

[add] https://crrev.com/8dacc7a16ffdee2d4af5a60f6f9079c22fd7399c/third_party/WebKit/LayoutTests/accessibility/name-calc-aria-hidden.html
[modify] https://crrev.com/8dacc7a16ffdee2d4af5a60f6f9079c22fd7399c/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp

Labels: Merge-Request-51

Comment 10 by tin...@google.com, Apr 26 2016

Labels: -Merge-Request-51 Merge-Approved-51 Hotlist-Merge-Approved
Your change meets the bar and is auto-approved for M51 (branch: 2704)
Please merge your change to M51 branch 2704 before 5:00 PM PST today so we can take it for tomorrow's Beta release.
Please merge your change to M51 branch 2704 before 5:00 PM PST, tomorrow (Friday), so we can take it in for next week M51 beta release. Thank you.
Project Member

Comment 13 by bugdroid1@chromium.org, Apr 28 2016

Labels: -merge-approved-51 merge-merged-2704
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6569fe5bbb0fca1b01108549ccbe0916e1d231eb

commit 6569fe5bbb0fca1b01108549ccbe0916e1d231eb
Author: Dominic Mazzoni <dmazzoni@chromium.org>
Date: Thu Apr 28 23:05:15 2016

Merge to M51: Accessible name calc should allow aria-labelledby to reference aria-hidden

The new accessible name calculation improved compatibility overall but broke
one specific case, where one element uses aria-labelledby (or aria-describedby)
to reference a subtree that's explicitly aria-hidden. The correct thing to
do here is ignore aria-hidden when an element is referenced explicitly.

<input aria-labelledby="label">
<div id="label" aria-hidden="true">Hidden label</div>

BUG= 595494 

Review URL: https://codereview.chromium.org/1917943002

Cr-Commit-Position: refs/heads/master@{#389798}
(cherry picked from commit 8dacc7a16ffdee2d4af5a60f6f9079c22fd7399c)

Review URL: https://codereview.chromium.org/1930253002 .

Cr-Commit-Position: refs/branch-heads/2704@{#297}
Cr-Branched-From: 6e53600def8f60d8c632fadc70d7c1939ccea347-refs/heads/master@{#386251}

[add] https://crrev.com/6569fe5bbb0fca1b01108549ccbe0916e1d231eb/third_party/WebKit/LayoutTests/accessibility/name-calc-aria-hidden.html
[modify] https://crrev.com/6569fe5bbb0fca1b01108549ccbe0916e1d231eb/third_party/WebKit/Source/modules/accessibility/AXNodeObject.cpp

Labels: Needs-Feedback
Verified the issue on Mac 10.11.4(VoiceOver), Win 7 and Ubuntu 14.04(ChromeVox extension) using 51.0.2704.36 and its working fine.Attached the screen cast of Mac here.
dmazzoni@ : While using NVDA on Win 10 the speech viewer does not read as exactly as above on tab press, though its read correctly when mouse hovered over the list items.
Please review and update if anything is missed.
595494_May_4.mp4
790 KB Download
Labels: -Needs-Feedback
Status: Verified (was: Started)
I believe NVDA is working as intended, any differences are not related to this bug. Thanks.


Sign in to add a comment