Using HTML to improve accessibility
What we will go through
- What web accessibility means
- The HTML features that do most of the work
- Keyboard testing in two minutes
- ARIA basics and when to skip it
Short answer
Web accessibility means people with disabilities can use your site, including people who are blind, deaf, have low vision, or use only a keyboard. Most of the work is plain HTML done right: a lang attribute, logical headings, alt text, linked labels, real buttons and links, and visible focus. Use ARIA only when HTML has no element for the job.
Who accessibility serves
Around 1 in 6 people worldwide live with a significant disability, according to the World Health Organization. Add older adults, people with a broken arm, and anyone using a phone in bright sunlight, and accessibility helps nearly everyone. In the Philippines, Batas Pambansa Blg. 344 covers physical access, and many government and enterprise clients now ask for WCAG conformance on websites too.
The HTML checklist
| Check | HTML that does it |
|---|---|
| Page language set | <html lang=“en”> |
| Clear outline | One h1, then h2 and h3 in order |
| Images described | alt text, or alt="" for decoration |
| Fields named | <label for> linked to each input |
| Actions reachable | Real <button> and <a href> |
| Regions marked | header, nav, main, footer |
| Links make sense alone | Descriptive anchor text |
| Media accessible | Captions and transcripts |
| Data tables readable | th with scope, caption |
Test with your keyboard
- Click the address bar, then press Tab repeatedly.
- Can you see where focus is at every step?
- Can you reach every link, button, and field?
- Does the order follow the visual order?
- Can you press buttons with Enter or Space and escape any popup?
If you get stuck anywhere, so will a keyboard user. Never remove the focus outline in CSS without replacing it.
ARIA: only when needed
<!-- Good: names an icon-only button -->
<button type="button" aria-label="Close menu">×</button>
<!-- Bad: ARIA that native HTML already provides -->
<div role="button" tabindex="0">Order</div>
ARIA, Accessible Rich Internet Applications, adds roles and names for screen readers. It does not add keyboard behavior. The first rule of ARIA is to use a native HTML element when one exists. Wrong ARIA is worse than no ARIA.
Run a two minute accessibility check
Step 1 of 5
Check the language
View page source and confirm the html tag has a lang attribute.
Check headings
Use a free browser extension like HeadingsMap and confirm one h1 and no skipped levels.
Check images
Hover or inspect images and confirm each has fitting alt text.
Tab through
Press Tab through the page and confirm focus is always visible.
Run Lighthouse
Open Chrome DevTools, go to Lighthouse, and run an Accessibility report.
Try it: fix five problems
This snippet has a missing alt, an unlinked label, a div button, a vague link, and a skipped heading. Fix all five.
Live preview
Quick quiz
Common mistakes
- Removing focus outlines. Keyboard users get lost.
- ARIA on top of the wrong element. role=“button” on a div still lacks keyboard support.
- Only automated testing. Tools catch about a third of issues. Test by hand too.
Your action
Tick each item when you can do it. Your progress saves on this device.
Key terms
- Web accessibility
- Designing sites everyone can use, including people with disabilities.
- WCAG
- Web Content Accessibility Guidelines.
- Focus
- The element currently selected for keyboard input.
- ARIA
- Attributes that add roles and names for assistive technology.
- Lighthouse
- A free Chrome audit tool for accessibility, SEO, and performance.
Questions beginners ask
Is a perfect Lighthouse score enough?
No. It means no automated issues were found. Manual checks still matter.
Which screen reader should I try?
NVDA is free on Windows. VoiceOver is built into Mac and iPhone. TalkBack is on Android.
Does accessibility help SEO?
Many basics overlap: headings, alt text, link text, and clear structure.
Related lessons
Need a website built or fixed while you practice? The team at Remar Digital can help.