We talk a lot about WCAG criteria, contrast ratios and semantic elements, and it's easy to forget what's 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.
They are a significant part of your audience.

The layer most teams underestimate
Semantic HTML is the most basic layer between your code and the people who use the web in ways most teams never simulate during development. It decides whether your interface can be reached, understood and navigated, or whether it gets silently ignored.
The invisible failure
When accessibility breaks, most teams assume users will struggle, complain or report issues. Usually they don't.
When your code doesn't reach them, they don't get frustrated. They simply don't know you exist online.
You get no feedback, no analytics signal and no bug report, only lost reach.
Who is affected
The groups affected 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 removes entire groups of users from your product.
How many people are you excluding?
Accessibility is often framed as compliance. I find a simpler question more useful: 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.