chapter 5
Accessibility in software
Most of what you'll build at the hackathon is software. Here's the short version of what to do — and what to test — so people can actually use it.
WCAG in 30 seconds: POUR
The Web Content Accessibility Guidelines boil down to four words:
P
Perceivable
Users can sense the content — alt text, captions, contrast.
O
Operable
Users can interact — keyboard, voice, switch.
U
Understandable
Plain language, predictable patterns, clear errors.
R
Robust
Works with assistive tech today and tomorrow.
Alt text that actually works
Every meaningful image needs alt text. Decorative images get alt="".
Not great
alt="image"
alt="dog.jpg"
alt="a picture of a dog sitting on the grass on a sunny day at the park near…"
Better
alt="Golden retriever fetching a frisbee"
Describe purpose + context. Skip "image of" — screen readers already say it.
Color, contrast, and not relying on color alone
- Body text: 4.5:1 contrast minimum (WCAG AA). Large text: 3:1.
- Never use color as the only signal — pair it with text, icons, or shape. Red error? Add the word "error" and an icon.
- Check designs in grayscale and with a color-blindness simulator.
Keyboard navigation
- Everything clickable must be reachable with Tab and activatable with Enter / Space.
- Focus must be visible. Don't kill the outline.
- Add a "Skip to main content" link as the first focusable thing.
- Don't trap focus (except inside an open modal — and provide Escape).
Captions, transcripts, audio description
Captions
Spoken words + meaningful sound effects. Required for Deaf users; loved by everyone in libraries.
Transcripts
Text version of audio/video. Searchable, translatable, AI-friendly.
Audio description
Narration of important visuals for blind viewers — "she nods, then walks out."
Semantic HTML & ARIA
- Use
<button>for actions,<a>for navigation. A<div onclick>is invisible to keyboards and screen readers. - One
<h1>per page. Don't skip heading levels. - Form fields need real
<label>s — not just placeholders. - ARIA is a sharp tool: "No ARIA is better than bad ARIA." Reach for it only when HTML can't express the role.
Cognitive accessibility
- Plain language: short sentences, common words, one idea per paragraph.
- Consistent layout — nav in the same place every screen.
- Forgiving errors — let people undo, recover, and try again.
- Avoid auto-playing video, flashing content, and unexpected motion. Respect
prefers-reduced-motion.
Free tools to test with
axe DevTools
Browser extension. Auto-scans a page for ~50% of WCAG issues.
Lighthouse
Built into Chrome DevTools. Quick accessibility score.
WAVE
WebAIM's visual overlay of accessibility issues on the page.
NVDA / VoiceOver
Real screen readers. Try unplugging your mouse and navigating with Tab + a screen reader for 5 minutes.
Color Contrast Analyzer
TPGi's free desktop app — picks any pixel pair.
Keyboard-only test
No extensions needed. Just put your mouse away.
