What do you think about the use of aria-label on elements with no role?

https://www.w3.org/Bugs/Public/show_bug.cgi?id=28413

Developers are confused about what should happen if you put an aria-label
on an element with no role, like an empty <div> element. While most
browsers do interpret the aria-label and expose it, some screen readers
ignore it. For example:

<div aria-label="Label">Text</div>

Firefox exposes "Label" as the accName, but "Text" as the IAccessibleText,
and Windows screen readers read out "Text". Safari+VoiceOver is different,
VoiceOver reads out "Label".

Do you think the current Windows end-user behavior is correct, or not?
Should we clarify the spec to make it crystal-clear that adding aria-label
on any random element does not necessarily override that element's text, or
should we change the current behavior?

Note that elements without an ARIA role can still get a label, it depends
on computed role, not the ARIA role. As an example:

<h3 aria-label="ARIA Heading">Text Heading</h3>

Every browser and screen reader combination I tested read out "ARIA
Heading" here, not "Text Heading".

Received on Monday, 6 April 2015 20:21:44 UTC