Skip to main content
Chapter 6 of 8 · Software

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.