Skip to main content
WCAGrules
Quick navigation

Add captions to every video with speech

Prerecorded video with sound needs captions running in time with it, carrying the dialogue and any sound that carries meaning. The door slamming counts. So does the phone ringing offscreen. W3C lists G87 as sufficient for 1.2.2 Captions (Prerecorded) when a more specific technique does the actual work, usually H95 and the track element. It lists the same technique again for 1.2.4 Captions (Live) at Level AA, paired there with G9. Closed is the load-bearing word here. Closed captions stay hidden until a viewer asks for them, which is why the player has to support them, and captions burned permanently into the picture are a separate technique, G93. One distinction settles most of the arguments about this. Subtitles carry the dialogue in another language and leave the sounds out. Captions carry the dialogue and the sounds in the language the video is already in, so a subtitle track is not a caption track.

How we find it in an audit

We play every video on an audited page with captions turned on, which is W3C's own test, then grade what appears. Present, accurate, in time, and readable. Unreviewed machine captions are the finding we write most often, because they garble exactly the words that matter. Names, prices, product terms. Each one goes in the report with its timestamp, so your team can watch the sentence break.

How affected users experience it

Captions serve deaf and hard-of-hearing viewers rather than blind ones, and blind viewers need the same video's audio description instead. The group in the overlap needs both. Deafblind users read a video through a braille display, so without a text version, either the caption track or a transcript, the video does not exist for them at all. One video, three audiences, three different pieces of text.

Passes vs. fails

Passes: reviewed captions, in sync. Fails: speech with no captions.

Passes

<video src="founder-story.mp4" controls>
  <track kind="captions" src="founder-story-en.vtt" srclang="en" label="English" default>
</video>

Fails

<video src="founder-story.mp4" controls></video>

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

Other ways to satisfy this rule

8 guides on this site are filed under 1.2.2 Captions (Prerecorded). W3C lists this one as sufficient for that rule when it is implemented through a more specific technique, so the condition is part of the test rather than a footnote to it.

This guide is our interpretation of W3C technique G87: Providing closed captions. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations