Status Update
Comments
de...@google.com <de...@google.com> #2
Tested the issue on chrome version #129.0.6668.59 using Mac 14.6.1 as per comment#1
Steps to reproduce
================
(1) Launched chrome
(2) Opened given html
(3) Enabled voiceover and clicked on button
Observed "button with role=switch" announced twice and aria-checked, to "foo" is not announced correctly (Please see the ref screencast attached)
Attaching screencast for reference.
@Reporter: Could you please review the attached screencast and let us know if anything being missed here and please share the screencast of the issue for better triaging.
Thanks..!!
Steps to reproduce
================
(1) Launched chrome
(2) Opened given html
(3) Enabled voiceover and clicked on button
Observed "button with role=switch" announced twice and aria-checked, to "foo" is not announced correctly (Please see the ref screencast attached)
Attaching screencast for reference.
@Reporter: Could you please review the attached screencast and let us know if anything being missed here and please share the screencast of the issue for better triaging.
Thanks..!!
al...@chromium.org <al...@chromium.org> #3
This is works according to spec. According to ARIA's States and Properties section (https://w3c.github.io/aria/#document-handling_author-errors_states-properties ):
If a WAI-ARIA property contains an unknown or disallowed value, the user agent SHOULD expose to platform accessibility APIs as follows:
* When exposing as a platform accessibility API attribute, expose the unknown value — do not vet it against possible values.
* When exposing as a platform API Boolean state:
- For values of "" (empty string), "undefined" or no attribute present:
Follow the guidance in the Fallback values for missing required attributes table below, if applicable.
Otherwise, treat as false.
- Treat any other value as true. <-------
* Otherwise, ignore the value and treat the property as not present.
If a WAI-ARIA property contains an unknown or disallowed value, the user agent SHOULD expose to platform accessibility APIs as follows:
* When exposing as a platform accessibility API attribute, expose the unknown value — do not vet it against possible values.
* When exposing as a platform API Boolean state:
- For values of "" (empty string), "undefined" or no attribute present:
Follow the guidance in the Fallback values for missing required attributes table below, if applicable.
Otherwise, treat as false.
- Treat any other value as true. <-------
* Otherwise, ignore the value and treat the property as not present.
Description
Steps to reproduce the problem
Problem Description
Per ARIA spec, aria-checked="foo" is not a valid value of the aria-checked ARIA content attribute:https://www.w3.org/TR/wai-aria-1.2/#aria-checked . However, when a <button role="switch"> is supplied with aria-checked="foo", macOS VoiceOver announces the control's state as "on". If an invalid value is provided, the value of aria-checked should be "false".
Summary
aria-checked="foo" incorrectly announces as "on" for <button> with "switch" role
Custom Questions
Which component does this fall under?
Not sure - I don't know
Does this work in other browsers?
Yes - This is just a Chrome problem
Additional Data
Category: API
Chrome Channel: Not sure
Regression: N/A