Overview
All pre-recorded video with audio must have synchronized captions. This serves deaf/hard-of-hearing users and anyone in a noisy or silent environment.
Captions make video usable for the roughly 1-in-8 people with hearing loss—and for the far larger group watching on mute, in a noisy place, or learning the language. WCAG 1.2.2 requires synchronized captions for all pre-recorded video with audio, and missing captions are a frequent basis for ADA complaints against media-heavy sites. Captions also boost SEO and engagement, since the transcript becomes indexable text and most social video is watched without sound.
The Problem
This pattern is inaccessible — avoid it.
The Fix
Use this accessible pattern instead.
Step-by-step
Generate a WebVTT (.vtt) or SRT (.srt) caption file for each video.
Add a <track> element inside <video> with kind="captions".
Use auto-captioning tools (YouTube, Otter.ai, Rev) then manually review for accuracy.
For third-party embeds (YouTube, Vimeo), enable captions in the player settings.
Captions must be synchronized and include non-speech sounds ('[applause]', '[music]').
Common Mistakes
Shipping video with no <track> captions at all.
Relying on auto-generated captions without reviewing them for accuracy.
Captions that omit speaker changes and non-speech sounds ([music], [applause]).
Burning captions into the video so they can’t be turned off or restyled.
How to Test for It
Mute the video and confirm you can follow it entirely from the captions.
Check captions are synchronized and accurate (aim for over 99%).
Confirm captions can be toggled and aren’t permanently burned in.
Framework Notes
How to apply this fix in your stack.