We'd like to set Google Analytics cookies to learn how people use the Knowledge Base, so we can improve it. We set them only if you accept.

Skip to main content
Digital Accessibility Knowledge Base

video-caption

Web validation

Prerecorded video that includes sound must expose a track element for captions.

Captions turn a prerecorded video's soundtrack into synchronized text, so dialogue, sound effects, and music cues are perceivable for people who are deaf or hard of hearing. Every video with meaningful audio needs a captions file linked through a track element with kind="captions". Without it, a whole layer of information is lost.

Pass Patterns

A single captions track

The video links one caption file declared with kind="captions".

HTML
<video width="300" height="200" controls>
    <source src="myVideo.mp4" type="video/mp4">
    <track src="captions_en.vtt" kind="captions" srclang="en" label="English captions">
</video>

Multiple caption languages

Two caption tracks let the viewer choose a language.

HTML
<video width="300" height="200" controls>
    <source src="promo.mp4" type="video/mp4">
    <track src="captions_en.vtt" kind="captions" srclang="en" label="English captions">
    <track src="captions_es.vtt" kind="captions" srclang="es" label="Spanish captions">
</video>

Fail Patterns

No captions track

The video has audio but provides no <track> element for captions.

HTML
<video width="300" height="200" controls>
    <source src="productDemo.mp4" type="video/mp4">
</video>

Track marked as subtitles

The <track> uses kind="subtitles", so it omits the sound-effect descriptions that captions provide.

HTML
<video controls>
    <source src="lecture.mp4" type="video/mp4">
    <track src="lecture_en.vtt" kind="subtitles" srclang="en">
</video>

WCAG techniques

Sufficient techniques

Failure techniques

ACT Rules

Try It Yourself

Watching the video

  1. Load the page and start the video.
  2. Turn captions on using the video player's controls.
  3. Pause now and then to confirm captions appear in sync.

Expected results: The player exposes a captions track, and caption text appears in sync with the video.

Actual results: No captions track is available, so the audio has no text equivalent.

Inspecting the browser dev-tools

  1. Right-click the video and choose Inspect.
  2. Expand the <video> element.
  3. Look for a <track> child with kind="captions".

Expected results: A track element with kind="captions" and a valid src is present.

Actual results: No track with kind="captions" exists, or the only track uses kind="subtitles".

FAQ

How does this issue relate to 1.2.2 Captions (Prerecorded)?

SC 1.2.2 requires captions for all prerecorded audio in synchronized media. A captions <track> provides that text alternative, so dialogue and important sounds are available as synchronized text.

Why is this issue marked as Critical?

Without captions, people who are deaf or hard of hearing miss dialogue, narrative cues, and sound effects, losing the core meaning of the content. The barrier affects every major browser and assistive technology, so it is rated critical.

Standards and Regulations

StandardSuccess CriterionReference
WCAG 2.21.2.2 Captions (Prerecorded) (A)Captions are provided for all prerecorded audio content in synchronized media, except when the media is a media alternative for text and is clearly labeled as such.
EN 301 5499.1.2.2 Captions (Prerecorded)Same as the WCAG text.
Section 5081194.22(b)Equivalent alternatives for any multimedia presentation shall be synchronized with the presentation.
508 Trusted Tester1.2.2-captions-equivalent, 17.AThe multimedia provides accurate captions for the audio content.

Personas impacted by this issue