acc
How to fix: Media captions & transcripts (WCAG 1.2.2, 1.2.3 A)
Why this matters
Video without captions is inaccessible to deaf + hard-of-hearing users (and to anyone watching on mute, e.g. in public). Audio without transcript: same. WCAG 1.2.2 (captions for prerecorded video) and 1.2.3 (audio description or alt) are Level A.
Background
Video without captions excludes deaf + hard-of-hearing users + anyone watching on mute. Audio without transcript: same. WCAG 1.2.2 + 1.2.3 are Level A baselines.
References
WCAG 2.1 SC 1.2.2 Captions (Prerecorded) A · SC 1.2.3 Audio Description or Alt (A)
How to fix
Code snippet for each stack we cover. Pick the one matching your server / framework.
nginx
No server config — content addition.
apache
Same.
cloudflare
Same.
wordpress
Generate captions via the WP Caption Manager plugin OR upload .vtt files alongside videos. YouTube/Vimeo auto-captions work too — review for accuracy.
flask
<video><track kind="captions" src="captions.vtt" srclang="en" label="English"></video>
express
Same.
rails
Same.
Verify it's working
Play a video on your site with audio muted. Captions should appear automatically (or be available via the captions menu).
Want to know if your site has this issue?
Run a free 53-check audit — security, GDPR, NIS2, and technical SEO.
Audit my site →