Web accessibility is not a nice-to-have — it’s a necessity (and a legal requirement in the EU).
Structure¶
- ☐ Semantic HTML elements (nav, main, article)
- ☐ Proper heading hierarchy (h1→h2→h3)
- ☐ Skip to content link
- ☐ Page language (lang attribute)
- ☐ Descriptive page titles
Images and Media¶
- ☐ Alt text on images
- ☐ Decorative images have alt=”“
- ☐ Video has captions
- ☐ Audio has transcript
Navigation¶
- ☐ Keyboard navigable (Tab, Enter, Escape)
- ☐ Visible focus indicator
- ☐ Logical focus order
- ☐ No keyboard traps
Forms¶
- ☐ Labels connected to inputs
- ☐ Descriptive error messages
- ☐ Required fields marked
- ☐ Autofill hints (autocomplete attribute)
Colors and Contrast¶
- ☐ Contrast ratio ≥ 4.5:1 (text)
- ☐ Information not conveyed by color alone
- ☐ Dark mode support
- ☐ Respects prefers-reduced-motion
Testing¶
- ☐ axe DevTools extension
- ☐ Screen reader test (VoiceOver/NVDA)
- ☐ Keyboard-only navigation test
- ☐ Lighthouse accessibility audit
Legislation¶
The European Accessibility Act applies from 2025. Accessibility is not optional.
accessibilityfrontendux