We talk a lot about WCAG criteria, contrast ratios, and semantic elements.
But it's easy to forget what's actually at stake.
Behind every accessibility guideline, there's a person.
Someone navigating with a keyboard only. Someone who can't distinguish colors. Someone using a screen reader on their phone. Someone whose hands don't move the way most interfaces expect.
These aren't edge cases.
They are a significant part of your audience.

The layer most teams underestimate
Semantic HTML is not just a technical detail.
It's the most fundamental layer that connects your code to real people — people who interact with the web in ways most teams never simulate during development.
It defines whether your interface can be:
- reached
- understood
- navigated
Or silently ignored.
The invisible failure
When accessibility breaks, most teams assume users will struggle, complain, or report issues.
That's not what usually happens.
When your code doesn't reach them, they don't get frustrated. They simply don't know you exist online.
No feedback. No analytics signal. No bug report.
Just lost reach.
Not edge cases — actual users
The groups affected are not marginal.
They include:
- Keyboard-only users
- People with low vision
- Screen reader users
- Users with motor disabilities
- Users with cognitive disabilities
- Older adults
Designing without them in mind doesn't just reduce usability — it removes entire segments of users from your product.
The real question
Accessibility is often framed as compliance.
But the real question is simpler:
How many people are you unintentionally excluding?
And how big could your reach be if your product were fully accessible?
Semantic HTML is where that answer starts.