Hacker News new | ask | show | jobs
by neontomo 476 days ago
> but they don't do very much

no no no, different elements have different behaviours. for example, a button automatically has accessibility features like being able to tab to it and select with Enter key, which is essential for a screenreader. do that with a div and you end up building the functionality from scratch.

if all you care about is the visuals, sure, there's little difference, but once you scratch the surface you will have a poor product by not using the correct elements (where there is a clear "correct" ofc, sometimes it's subjective).

2 comments

Svelte 5 does a great job of raising warnings for this. You try to use an onclick on a div you get warning to make it tab-able and give it an aria role, and a reccomendation that you should probably be using a button.
it's also essential for keyboard navigation. accessibility is not only for people who have some impairment!