3 ms·
> This element does not announce itself as an interactive element to screen reader users Are you sure? Screen readers should be able to detect a div with a onc
by randyrand 1y ago
> This element does not announce itself as an interactive element to screen reader users
Are you sure? Screen readers should be able to detect a div with a onclick as interactable, no? And if they can’t, that seems like an exceedingly simple fix. I’d be shocked if they can’t already detect onclick.
- rictic 1y agoA click handler can be doing a lot of things that aren't much like a button, like letting you close a modal if you click outside of it, capturing mouse events for a game, or passively recording events for analytics. All that a click handler tells you is that there's some code that sometimes cares about some clicks somewhere inside that element.
- knute 1y agoAlso a click handler on a div isn't going to do much for someone who isn't using a mouse, which would include a lot of screen reader users.
- randyrand 1y agoAll of those seem like examples of things you’d want your screen reader to tell you about.
- zahlman 1y agoSure. What is the screen reader's plan for determining the purpose of the attached JavaScript?
- randyrand 1y agoSame as a button. Read the text in the element. If no text, skip it or say "clickable". I'm not arguing a div is better. I'm just saying screen readers could announce a div with an onclick if they wanted to.
- 1-more 1y agoI can confirm. I got decent with VoiceOver as the "guy on the team who gives a shit about this" (unofficial title) and yeah, it stinks. Also, you don't necessarily move through the page linearly with a screen reader; the rotor lets you jump between links, or jump to forms, or jump to navs. The more semantic your markup, the better it will be populated.
- cferdinandi 1y agoIt's worth noting that VoiceOver is well-known for being a lot more lax than most other screen readers. Other options tend to be a lot more strict around standards and what they'll announce.