# Using the `track` element to provide audio descriptions

ID: H96

Technology: html

Type: Technique

## When to Use

HTML

## Description

The objective of this technique is to use the HTML `track` element to specify a descriptions timed text track for a `video` element. Audio description timed text tracks contain textual descriptions of the video component of the media resource, intended for audio synthesis when the visual component is obscured, unavailable, or not usable. The user agent makes the cues available to the user in a non-visual fashion, for instance, by synthesizing them into speech.

The `src` attribute of the `track` element is an URL providing the text track data.

The audio description cues must fit into the gaps available in the audio component of the media resource. If there is not enough time to synthesize the description text in the track cue's time interval, user agents may truncate the speech. This limits the amount of supplementary information that can be added.

User agents may also support extended audio descriptions by halting the video until the description has been completely synthesized, then restarting the video.

As of September 2023 when this Advisory technique was last reviewed by the Working Group, there is no native support in user agents for this technique. However, support is available via JavaScript polyfills.

## Examples

### Audio description in one language

A `video` element for a video in the English language. The audio descriptions are provided in the WebVTT format.

    <video poster="myvideo.png" controls>
      <source src="myvideo.mp4" srclang="en" type="video/mp4">
      <track kind="descriptions" label="English" src="myvideo-en.vtt" srclang="en">
    </video>

### Audio description in multiple languages

A `video` element for a video with both an English and French language source element, and with an English and a French audio description track using the WebVTT file format.

    <video poster="myvideo.png" controls>
      <source src="myvideo.mp4" srclang="en" type="video/mp4">
      <source src="myvideo.webm" srclang="fr" type="video/webm">
      <track kind="descriptions" label="English" src="myvideo-en.vtt" srclang="en">
      <track kind="descriptions" label="Français" src="myvideo-fr.vtt" srclang="fr">
    </video>

## Tests

### Procedure

For each `video` element used to play a video:

1. Check that the video contains a `track` element of `kind="descriptions"` in the language of the video.

### Expected Results

- Check #1 is true.

## Related Techniques

- G173
- G8

## Resources

- Video.js, a free and open source HTML5 video player
- HTML - the `track element`
- WebVTT: The Web Video Text Tracks Format