Skip to main content
WCAGrules
Quick navigation

Add caption text streams in SMIL 2.0

SM12 is a sufficient technique when used with G87, and W3C also files it for live captioning with G9 alongside. It is SM11's method in SMIL 2.0, and the objective is stated the same way for both. Give people who are Deaf or hard of hearing a way to view the material. Separate regions hold the video and the caption text. The two display together. The two versions of the technique are close enough that choosing between them is a question about your player rather than about what viewers receive. What is worth carrying away from either is the shape of the answer. Caption text stays text, in its own region, under the viewer's control. Once it is baked into the video frame it stops being captions and becomes part of the picture. In an HTML5 player the same idea is a WebVTT file attached with a track element.

How we find it in an audit

We watch muted with captions on, and we grade what we get against what the soundtrack actually carried. Every line of dialogue, every sound that carries meaning, and speaker identification wherever it is not obvious who is talking. Speaker labeling is our own standard rather than something the technique requires, and we hold to it because a two-person argument with no names attached is unreadable. Machines can find the missing track. Only a person can hear that a caption said something different from the line it was standing in for.

How affected users experience it

Simplified captions are allowed and they are normal practice, which is the single most useful thing a video owner can be told. Nobody is asking for a verbatim transcript pinned to the frame at a speed no one can read. What is being asked for is that the dialogue arrives, in essence or word for word, and that the sounds that matter arrive with it. Where captions fail viewers is not simplification. It is silence, whole passages with no caption at all, and sound effects treated as though they were decoration rather than plot.

Passes vs. fails

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

Passes

<region id="video"/>
<region id="captions"/>
<par>
  <video src="seminar.mp4" region="video"/>
  <textstream src="seminar.rt" region="captions"/>
</par>
<!-- Text stays text, so viewers can turn it off, restyle it, or send it to braille. -->

Fails

<region id="video"/>
<par>
  <video src="seminar.mp4" region="video"/>
</par>
<!-- No caption region and no text stream. -->

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 only alongside G87, so the pair is what passes and neither half does on its own.

This guide is our interpretation of W3C technique SM12: Providing captions through synchronized text streams in SMIL 2.0. 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