←back to thread

Just use a button

(gomakethings.com)
284 points moebrowne | 7 comments | | HN request time: 0.909s | source | bottom
1. randyrand ◴[] No.45775197[source]
> 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.

replies(2): >>45775278 #>>45775700 #
2. rictic ◴[] No.45775278[source]
A 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.
replies(2): >>45775493 #>>45776048 #
3. knute ◴[] No.45775493[source]
Also 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.
4. 1-more ◴[] No.45775700[source]
I 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.
replies(1): >>45775977 #
5. cferdinandi ◴[] No.45775977[source]
It'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.
6. randyrand ◴[] No.45776048[source]
All of those seem like examples of things you’d want your screen reader to tell you about.
replies(1): >>45777730 #
7. zahlman ◴[] No.45777730{3}[source]
Sure.

What is the screen reader's plan for determining the purpose of the attached JavaScript?