Remix.run Logo
shakna 10 hours ago

JAWS user, here. It will read both aria-label and title, on a button, which is an interactive element. [0]

It does depend on the verbosity, if you dial that down, you'll probably lose the title element. But for images, which is what I was mentioning, it should pretty much always be read out.

[0] https://github.com/FreedomScientific/standards-support/issue...

zersiax 10 hours ago | parent [-]

I am ... relatively sure JAWS reads out title attributes of images because people kept erroneously sticking important info there decades ago, I wouldn't say that's a generally accepted recommendation. Not entirely sure what NVDA would do with an image that has only a title but no alt set.

shakna 10 hours ago | parent [-]

ARIA and the web group define title to be used. [0][1] It's just that many agents just don't use it correctly. JAWS and NVDA do. Microsoft Speech used to ignore it, but I think they fixed that around Windows 11 release. I'm not sure about VoiceOver. Most braille readers I've used... Well, you'll be lucky if they read anything correctly.

With the three big ones, JAWS, NVDA and Speech using it correctly, I'm pretty happy guiding people to use it today.

> The title attribute represents advisory information for the element, such as would be appropriate for a tooltip. On a link, this could be the title or a description of the target resource; on an image, it could be the image credit or a description of the image; on a paragraph, it could be a footnote or commentary on the text; on a citation, it could be further information about the source; on interactive content, it could be a label for, or instructions for, use of the element; and so forth. The value is text.

[0] https://html.spec.whatwg.org/multipage/dom.html#the-title-at...

> Most host languages provide an attribute that could be used to name the element (e.g., the title attribute in HTML), yet this could present a browser tooltip. In the cases where DOM content or a tooltip is undesirable, authors MAY set the accessible name of the element using aria-label, if the element does not prohibit use of the attribute.

[1] https://w3c.github.io/aria/#aria-label

[2] NVDA bug confirming they use it: https://github.com/nvaccess/nvda/issues/7841

[3] Sorry for the numbers everywhere. I've got a footnote macro set for the way most HNers use this.