Techniques for WCAG 2.0

On this page:

-

# SM11: Providing captions through synchronized text streams in SMIL 1.0

## Applicability

Applies to SMIL 1.0

This technique relates to:

- Success Criterion 1.2.4 (Captions (Live))
  - How to Meet 1.2.4 (Captions (Live))
  - Understanding Success Criterion 1.2.4 (Captions (Live))

## User Agent and Assistive Technology Support Notes

There is no universal standard format for representing captions in SMIL 1.0. Different user agents support different caption formats. A file in a supported format must be provided as the textstream src argument for the caption textstream.

QuickTime supports QTText caption files. Real-based players, such as RealPlayer and GRiNS, support RealText caption files. WindowsMedia supports SAMI files, but does not support SMIL. Flash does not support a specific file type, but can parse XML-based caption file; actually the FLVPlayback component support for SMIL is intended to detect parameters like movie/server url or multi-bandwidth indications specified in a <switch> tag.

## Description

The objective of this technique is to provide a way for people who are deaf or otherwise have trouble hearing the dialogue in audio visual material to be able to view the material. With this technique all of the dialogue and important sounds are available in a text stream that is displayed in a caption area.

With SMIL 1.0, separate regions can be defined for the video and the captions. The captions and video playback are synchronized, with the caption text displayed in one region of the screen, while the corresponding video is displayed in another region.

## Examples

### Example 1: SMIL 1.0 caption sample for Quickime player

Example Code:

    <?xml version="1.0" encoding="UTF-8"?>
    <smil xmlns:qt="http://www.apple.com/quicktime/resources/smilextensions"
      xmlns="http://www.w3.org/TR/REC-smil" qt:time-slider="true">
      <head>
        <layout>
          <root-layout width="320" height="300" background-color="black"/>
          <region top="0" width="320" height="240" left="0" background-color="black"
          id="videoregion"/>
          <region top="240" width="320" height="60" left="0" background-color="black"
          id="textregion"/>
        </layout>
      </head>
      <body>
        <par>
          <video dur="0:01:20.00" region="videoregion" src="salesdemo.mov"
          alt="Sales Demo"/>
          <textstream dur="0:01:20.00" region="textregion" src="salesdemo_cc.txt"
          alt="Sales Demo Captions"/>
        </par>
      </body>
    </smil>

### Example 2: SMIL 1.0 caption sample for RealMedia player

Example Code:

    <?xml version="1.0" encoding="UTF-8"?>
    <smil xmlns="http://www.w3.org/TR/REC-smil">
      <head>
        <layout>
          <root-layout background-color="black" height="310" width="330"/>
          <region id="video" background-color="black" top="5" left="5"
          height="240" width="320"/>
          <region id="captions" background-color="black" top="250"
          height="60" left="5" width="320"/>
        </layout>
      </head>
      <body>
        <par>
          <video src="salesdemo.mpg" region="video" title="Sales Demo"
          alt="Sales Demo"/>
          <textstream src="salesdemo_cc.rt" region="captions"
          system-captions="on" title="captions"
          alt="Sales Demo Captions"/>
        </par>
      </body>
    </smil>

The example shows a `<par>` segment containing a `<video> and a <code><![CDATA[<textstream>` tag. The system-captions attribute indicates that the textstream should be displayed when the user's player setting for captions indicates the preference for captions to be displayed. The `<layout>` section defines the regions used for the video and the captions.

### Example 3: SMIL 1.0 caption sample with internal text streams

Example Code:

    <?xml version="1.0" encoding="UTF-8"?>
    <smil xmlns="http://www.w3.org/TR/REC-smil">
      <head>
        <layout>
          <root-layout background-color="black" height="310" width="330"/>
          <region id="video" background-color="black" top="5" left="5"
          height="240" width="320"/>
          <region id="captions" background-color="black" top="250"
          height="60" left="5" width="320"/>
        </layout>
      </head>
      <body>
        <par>
          <video src="salesdemo.mpg" region="video" title="Sales Demo"
          alt="Sales Demo"/>
          <text src="data:,This%20is%20inline%20text." region="captions" begin="0s"
          dur="3" alt="Sales Demo Captions">
            <param name="charset" value="iso-8859-1"/>
            <param name="fontFace" value="System"/>
            <param name="fontColor" value="yellow"/>
            <param name="backgroundColor" value="blue"/>
          </text>
        </par>
      </body>
    </smil>

This example shows a `<text>` element that includes synchronized text streams within the SMIL file.

## Resources

Resources are for information purposes only, no endorsement implied.

- Synchronized Multimedia Integration Language (SMIL) 1.0

- Synchronized Multimedia Integration Language (SMIL 2.0)

- Accessibility Features of SMIL

- NCAM Rich Media Accessibility, Accessible SMIL Templates

- RealText

- SAMI 1.0

## Related Techniques

- SM12: Providing captions through synchronized text streams in SMIL 2.0

## Tests

### Procedure

1. Enabled caption preference in player, if present

2. Play file with captions

3. Check whether captions are displayed

### Expected Results

- #3 is true

- Top
- Contents
- Intro
- Previous: Technique SM7
- Next: Technique SM12