WCAG 1.2.3 · Level A · EN 301 549 9.1.2.3

Audio Description or Media Alternative (Prerecorded)

Requires prerecorded video with sound to offer either audio description or a full text alternative, so blind and low-vision users get the important visual information.

In brief

A video often shows things that nobody says out loud: a chart on a slide, a person's gesture, an error message on a screen, a scene change. A user who cannot see the picture misses all of it, even when the soundtrack plays perfectly.

This criterion requires prerecorded video with sound to offer one of two things. Either audio description, which is narration that describes the important visual details, or a media alternative, which is a full text version of the video that includes both what is said and what is shown. You can meet the criterion with either one. Note that criterion 1.2.5 (Level AA) then requires audio description specifically, so a media alternative alone is enough only for Level A.

What does it cover?

  • Prerecorded video with sound: Tutorials, product demos, training videos, recorded talks and promotional films, wherever they are embedded.
  • Audio description: Narration, placed in the pauses of the main soundtrack, that describes actions, people, scene changes and on-screen text that the soundtrack does not already convey.
  • Media alternative: A document, often called a descriptive transcript, that combines the dialogue with descriptions of the visual information, in the order it happens.
  • When no description is needed: If everything important in the picture is already said in the main soundtrack, there is nothing more to describe. The best way to get there is to narrate the visuals while you speak.
  • Exception: If the media is an alternative for text on the same page and is clearly labelled as such, no further alternative is required.
  • Out of scope: Captions are covered by 1.2.2, live media by 1.2.4, and the stricter requirement for audio description at Level AA by 1.2.5. Silent video is covered by 1.2.1.

Who does it affect?

Blind and low-vision users get the visual part of a video through audio description or a descriptive transcript. Deafblind users read the media alternative on a braille display. A descriptive transcript also helps people who cannot watch the video (while driving, or on a slow connection), people with cognitive or attention differences who find it easier to read than to follow a fast picture, and search engines.

In the EAA and EN 301 549

The European Accessibility Act (Directive (EU) 2019/882) applies to in-scope products and services placed on the market after 28 June 2025. Recital 47 names four principles for websites and mobile applications: perceivable, operable, understandable and robust. Giving non-visual access to what a video shows is part of "perceivable".

The technical counterpart is the standard EN 301 549, which incorporates WCAG 1.2.3 by reference and turns it into separate clauses for each kind of ICT. In addition, clause 7 of the standard sets requirements for the video players themselves.

Where WCAG 1.2.3 appears in EN 301 549
ClauseType of ICTWhat it requires
9.1.2.3Web pagesWeb content must satisfy WCAG success criterion 1.2.3.
10.1.2.3Non-web documents (PDF, Office files)The same criterion applies to video embedded in documents.
11.1.2.3Non-web software (native mobile apps)Software that supports screen readers must satisfy the criterion.
7.2Video technologies (players and software that show video with sound)The player must be able to play audio description, keep it synchronized and preserve it when the video is passed on.

Clause numbers follow the "9. + WCAG number" pattern of EN 301 549. In V3.2.1 the software clause is divided into further subclauses for open and closed functionality, and clause 7.2 is divided into sub-requirements for playback, synchronization and preservation. Check the exact numbers in the standard when you cite them.

Standard version: EN 301 549 V4.1.1 (September 2026) is based on WCAG 2.2 and is the first version prepared specifically for the EAA. It has not yet been cited in the Official Journal of the European Union, so for now it is best treated as a voluntary technical route to the EAA's requirements. Once cited, it will give a presumption of conformity. The text of criterion 1.2.3 is the same in WCAG 2.1 and 2.2.

A note on EAA scope: Article 2(4) excludes pre-recorded time-based media published before 28 June 2025, and third-party content that the business neither funds, develops nor controls. Videos you publish after that date, and older videos you republish or substantially change, are not covered by the exclusion.

Directive (EU) 2019/882, EUR-Lex, opens in a new tab

Code examples for the web

1. A link to a version with audio description

Offer a second version of the video whose soundtrack includes the description, and make the link easy to find next to the player.

Incorrect
<!-- The video shows a form being filled in, but the
     narration only says "as you can see here" -->
<video controls src="tour.mp4"></video>
Correct
<video controls src="tour.mp4">
  <track kind="captions" src="tour.en.vtt"
         srclang="en" label="English" default>
</video>
<p><a href="/videos/tour-described">Watch the product
   tour with audio description</a></p>

2. A descriptive transcript (media alternative)

A media alternative is not just the words. It also describes what is seen, in the order it happens, including text shown on screen.

Incorrect
<details>
  <summary>Transcript</summary>
  <p><strong>Anna:</strong> And then you click here.</p>
  <p><strong>Anna:</strong> Now it looks like this.</p>
</details>
Correct
<details>
  <summary>Descriptive transcript</summary>
  <p><em>[Visual: The Settings page. Anna moves the
  pointer to a blue button labelled "Save".]</em></p>
  <p><strong>Anna:</strong> And then you click here.</p>
  <p><em>[Visual: A green message appears: "Changes
  saved".]</em></p>
  <p><strong>Anna:</strong> Now it looks like this.</p>
</details>

3. Put the visual information in the narration

The cheapest way to meet the criterion is to write the script so that the soundtrack already says what the picture shows. Then no separate description is needed.

Incorrect
Narration script:
"Click this button, then pick one of these options.
As you can see, the result appears over here."
Correct
Narration script:
"Select the blue Export button in the top right corner,
then choose CSV from the list. The exported file
appears in the Downloads panel on the left."

4. A description text track that a script passes to screen readers

A track with kind="descriptions" holds the description as timed text. Browsers do not read it aloud on their own, so a small script sends each cue to a live region that screen readers announce. A recorded audio description is a better experience than this, so treat it as a supplement.

Incorrect
<video controls src="tour.mp4">
  <track kind="descriptions" src="tour.desc.vtt"
         srclang="en">
</video>
<!-- Nothing reads the cues to the user -->
Correct
<video id="tour" controls src="tour.mp4">
  <track kind="descriptions" src="tour.desc.vtt"
         srclang="en" label="Description">
</video>
<div id="desc-live" class="sr-only" aria-live="polite"></div>

<script>
const video = document.getElementById("tour");
const live = document.getElementById("desc-live");
const track = video.textTracks[0];
track.mode = "hidden"; // Load the cues, do not draw them

track.addEventListener("cuechange", () => {
  const cue = track.activeCues[0];
  if (cue) live.textContent = cue.text;
});
</script>

Code examples for mobile

The same rule applies in native mobile apps. Use the platform's video player, include a second audio track that carries the description, and mark it so the system can find it.

iOS (SwiftUI)

import SwiftUI
import AVKit

struct TourVideoView: View {
    @State private var player = AVPlayer(
        url: URL(string: "https://example.com/tour.m3u8")!
    )

    var body: some View {
        VideoPlayer(player: player)
            .frame(height: 220)
            .task { await selectAudioDescription() }
    }

    // Choose the audio track that describes the video.
    // The HLS stream must mark that track with the
    // public.accessibility.describes-video characteristic.
    // AVKit also follows the "Audio Descriptions" setting in
    // Settings > Accessibility.
    private func selectAudioDescription() async {
        guard let item = player.currentItem,
              let group = try? await item.asset
                .loadMediaSelectionGroup(for: .audible)
        else { return }

        let described = AVMediaSelectionGroup.mediaSelectionOptions(
            from: group.options,
            withMediaCharacteristics: [.describesVideoForAccessibility]
        )
        if let option = described.first {
            item.select(option, in: group)
        }
    }
}

Android (Jetpack Compose, Media3)

import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
import androidx.compose.ui.viewinterop.AndroidView
import androidx.media3.common.C
import androidx.media3.exoplayer.ExoPlayer
import androidx.media3.ui.PlayerView

@Composable
fun TourVideo(player: ExoPlayer, preferDescription: Boolean) {
    // The stream must contain an audio track whose role flags
    // include ROLE_FLAG_DESCRIBES_VIDEO.
    LaunchedEffect(preferDescription) {
        player.trackSelectionParameters = player
            .trackSelectionParameters
            .buildUpon()
            .setPreferredAudioRoleFlags(
                if (preferDescription) C.ROLE_FLAG_DESCRIBES_VIDEO else 0
            )
            .build()
    }

    AndroidView(factory = { context ->
        PlayerView(context).apply { this.player = player }
    })
}

How to test

  • Find the videos that need it: List the prerecorded videos with sound. For each, decide whether the soundtrack already says everything important that the picture shows. If it does, nothing more is needed.
  • Listen without looking: Close your eyes or turn off the screen and play the video. Can you follow what is happening and what is on screen?
  • Find the alternative: Is there a version with audio description, or a descriptive transcript? Is it next to the video and easy to find with a screen reader and the keyboard?
  • Compare the alternative with the video: Does it cover actions, scene changes, people and any text that appears on screen, in the right order?
  • Check the audio description: Is it clear, placed in the pauses and not talking over dialogue? Can the user turn it on without sight?
  • Test on each platform: Check the web player and the native mobile players. Does the described track get selected, and does the system setting carry over?
  • Limits of automated tools: Automated tools can detect that a video element exists, but cannot judge whether a description is complete or useful. Only a person can decide that.

Common mistakes

  • Relying on captions alone: Captions give the sound, not the picture. A video can be fully captioned and still be inaccessible to a blind user.
  • "As you can see here" narration: Phrases that depend on seeing the screen leave the listener without information.
  • A transcript that has only dialogue: A media alternative must include the visual information too.
  • Describing only some of the visuals: Leaving out on-screen text, scene changes or important actions.
  • Hiding the alternative: A described version that is not linked next to the video, or a track that no user can switch on.
  • Description that talks over dialogue: Audio description belongs in natural pauses.
  • Forgetting Level AA: A descriptive transcript meets Level A only. Criterion 1.2.5 requires audio description for Level AA.
  • Not updating the alternative when the video changes: A new cut of the video needs a new description.

Sources

Standard version: EN 301 549 V4.1.1 (2026-09), WCAG 2.2. This page is for informational purposes only and is not legal advice. For binding requirements, refer to the official texts of the European Accessibility Act (Directive (EU) 2019/882) and EN 301 549.

Corpowid is recognized by Gartner

Corpowid has been recognized by Gartner, a leading global research and advisory firm, for our innovation and performance in digital accessibility. These badges reflect our commitment to creating inclusive, AI-powered web experiences.

Have questions about Corpowid?

Let’s connect.

We will get back to you as soon as possible.