Provide Captions for Prerecorded Video

Content available in English only.

Accessibility isn’t just about avoiding violations — it’s about ensuring that everyone can use your product with confidence. This guide explains each rule’s intent, highlights common issues, and shows how to fix them according to WCAG and the European Accessibility Act (EAA).

These guidelines do not replace the official WCAG standards. They’re concise, developer-focused notes to help you identify and fix issues effectively.

If a prerecorded video contains speech, it must have captions — no exceptions.

Why this matters and how to fix it

Why this matters

Prerecorded video content without captions is inaccessible to people who are deaf, hard of hearing, or who cannot play audio in their environment. Captions ensure that all spoken dialogue, important sounds, and speech-identifying information are available in text form. WCAG 2.2 and EN 301 549 require captions for nearly all prerecorded media that includes speech or meaningful audio.

How to fix this issue

Add synchronized captions to the video. Captions must include spoken dialogue, speaker identification when necessary, and important non-speech audio such as sound effects, music cues, and environmental sounds. Ensure the captions align with the video's timing and are easy to read. Use standard HTML `<track kind="captions">` where possible or embed captions in the player.

Automated detection · Manual review recommended

Developer guidance

Check for a `<track kind="captions">` element inside your `<video>` element. If missing, generate caption files using tools like WebVTT (`.vtt`) and include them with `<track src="captions.vtt" kind="captions" srclang="en">`. If using a custom player (YouTube, Vimeo, Wistia), enable built-in caption tracks and verify that captions are complete and accurate. Do not rely solely on auto-generated captions unless they are manually corrected.


Code examples

Incorrect Implementation

<video src="promo.mp4" controls></video>
<!-- No caption track provided -->

Correct Implementation

<video src="promo.mp4" controls>
  <track src="promo-en.vtt" kind="captions" srclang="en" label="English Captions" />
</video>

Real-World Examples

Before

<video src="training-intro.mp4" controls></video>
<!-- Users who cannot hear the audio miss all spoken instructions -->

After

<video src="training-intro.mp4" controls>
  <track src="training-intro-captions.vtt" kind="captions" srclang="en" />
</video>
<!-- Captions provide dialogue plus important non-speech cues like 'door opens', 'machine beeps', etc. -->

CSS Example (Guidance)

/* Optional styling for custom caption displays */
.video-captions {
  font-size: 1rem;
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  padding: 4px 8px;
  border-radius: 4px;
}

Manual testing

  1. 1. Identify all prerecorded videos containing speech or meaningful audio.
  2. 2. Check if captions can be turned on in the video player.
  3. 3. Inspect the HTML to confirm a <track kind="captions"> element or valid embedded captions.
  4. 4. Verify that captions include dialogue, non-speech sounds, and speaker identification where needed.
  5. 5. Play through the video to ensure timing and accuracy.
  6. 6. If available, test captions with a screen reader to confirm discoverability and labeling.
eu icon getwcag

Trusted by organizations across Europe working toward WCAG and EAA conformance