-
Notifications
You must be signed in to change notification settings - Fork 125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WebKit does not fall back to 'nameFrom: contents' on aria-describedby reference when referenced element contains role="status" thus not announcing content via VoiceOver #2381
Comments
I've noticed this before as well, it's definitely caused frustration to developers. But this is not unique to aria-describedby, as we've similarly talked about this in the context of trying to name elements as well. |
For roles that are |
And for what it's worth, WebKit and Gecko match Chrome's behavior in this testcase if <input type="text" aria-describedby="message">
<div id="message" role="status">Complete this field</div> All three engines fallback to exposing |
Thanks for the thorough diagnosis @twilco! |
Discussed in today's working group meeting: https://www.w3.org/2024/11/21-aria-minutes#bae2 |
I think it's a big misunderstanding on the part of browsers that they don't transmit the text content as a description for role=status, for example, if it is referred to via aria-describedby. A div element, for example, may not be labelled at all (https://www.w3.org/TR/wai-aria-1.3/#generic) - consequently, according to this logic, I should never refer to a div via aria-labelledby or aria-describedby. The ‘Name From’ specification in the ARIA specification, however, means something different: If I am at the element (i.e. do not refer to the element via aria-labelledby or aria-describedby), then a div, for example, cannot be labelled (but still has its text content), whereas a role=status can be labelled and has its text content. A screen reader should first output the labelling of the live region for role=status and then the text content. Unfortunately, this is not formulated clearly enough in AccName, which leads to absurd misunderstandings. This must be fixed! |
Related: w3c/accname#153 (comment) and w3c/accname#120. The problem has been known for several years and unfortunately nothing has been done so far. I would very much welcome it if this could finally change! |
Description of bug or feature request
Nothing is announced when focus is placed on an input with an aria-describedby reference and the referenced node contains role=status, role=alert or aria-live. Occurs on Safari and Firefox, but works on Chrome.
Example:
In the following codepen, the first example has the role=status and the second one does not. Only the second one announces the referenced content: https://codepen.io/A11yGreg/pen/dyxazYY
I submitted a bug to WebKit and Tyler Wilcock advised me to submit a bug here. He believes the issue is caused by the following:
Will this require a change to CORE-AAM?
Will this require a change to the ARIA authoring guide?
The text was updated successfully, but these errors were encountered: