One of the easiest mistakes to make as a new developer is thinking accessibility is something you add later. The truth is that HTML already gives you the building blocks, you just need to use them intentionally.
Accessibility, at its core, is making sure everyone can understand and use your page, regardless of how they navigate it. Some people use keyboards, some use screen readers, some zoom their pages, and some rely on clear hierarchy. Good HTML supports all of them.
It starts with something simple: alt text. When you include an image, the alt attribute describes what that image represents. If the image never loads, or someone can’t see it, the meaning is still preserved.
<img src="chair.jpg" alt="A simple wooden chair." />
This isn't decoration, it's communication.
Then there are labels, which do for forms what headings do for pages. A label tells the browser and the user what an input field is asking for. When you connect a <label> to an <input> using the for attribute, assistive tech knows exactly how to announce it.
<label for="email">Email address</label>
<input id="email" type="email" />
And beneath everything sits document structure. Screen readers rely on headings, sections, and landmarks to understand the flow of a page. Semantic elements (<main>, <nav>, <article>) become literal navigation tools.
Even small habits go a long way:
- Use one
<h1>for the main title per page. - Nest headings in order without skipping levels.
- Make links descriptive ("View project" instead of "Click here").
- Use buttons for actions, links for navigation.
Accessibility isn't a checklist, it's a mindset that starts with writing HTML like you expect someone else to navigate it in a completely different way than you do.
Once this idea settles in, your pages start becoming usable not just for some visitors, but for everyone.
Top comments (0)