Skip to main content
WCAGrules
Quick navigation

Add caption text streams in SMIL 1.0

SM11 is a sufficient technique when used with G87, the general technique for closed captions, and W3C also files it for live captioning with a second partner technique. The mechanism explains what closed means. SMIL 1.0 lets you define separate regions, one for the video and one for the caption text, so the captions render alongside the picture rather than being burned into it. That separation is what lets a viewer turn them off, restyle them, or have them read by a braille display. Captions burned into the video frame are pixels and can do none of that. The technique comes in two shapes, an external text stream and one held inside the presentation, and both count. If you are not publishing SMIL, the same separation today is a track element pointing at a WebVTT file, which every current browser reads without a plug-in.

How we find it in an audit

Our reviewers watch the video twice, once with sound and once muted with captions on, and compare the two passes line by line. The question is whether the second pass carries everything the first one did. Dialogue, yes, and also the sounds that change what the scene means, a knock at the door, a phone, laughter. Automation is genuinely useful for the first half, since a missing track is a fact a machine can establish. It is useless for the second. Whether a caption matches what was said is something only a person hears.

How affected users experience it

Deaf and hard of hearing viewers are the audience here. Captions are not a convenience for them. They are the film. A video with no caption track is a video they cannot watch. Captions that carry the words and skip the sounds leave them reading a script rather than watching a scene, missing the door that slammed and the alarm that started. Captions delivered as a separate text stream have one more advantage that rarely gets mentioned. A deafblind viewer can route them to a braille display, which burned-in captions make impossible.

Passes vs. fails

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

Passes

<region id="video"/>
<region id="captions"/>
<par>
  <video src="townhall.mp4" region="video"/>
  <textstream src="townhall.rt" region="captions"/>
</par>
<!-- Today: <track kind="captions" srclang="en" src="townhall.vtt"> -->

Fails

<region id="video"/>
<par>
  <video src="townhall.mp4" region="video"/>
</par>
<!-- One region, no text stream, no captions of any kind. -->

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 SM11: Providing captions through synchronized text streams in SMIL 1.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