Skip to main content
Perceivly: Perceivly home

1.2.1 Audio-only and Video-only (Prerecorded)

Level A · added in WCAG 2.0

Prerecorded audio-only content, such as a podcast, needs a text transcript with the same information. Prerecorded video-only content, such as a silent animation, needs a text description or an audio track that describes it.

Who it helps

Deaf and hard-of-hearing people rely on a transcript to get the content of audio. Blind people and people with low vision need a text or audio version of what a silent video shows. Transcripts also help people who read faster than they listen.

How to meet it

Examples

Fails:A podcast episode with no transcript
<h2>Episode 12: Writing alt text</h2>
<audio controls src="/audio/ep12.mp3"></audio>
Fails:A silent setup video with no description
<h2>Set up your device</h2>
<video controls src="/video/setup-steps.mp4"></video>
Passes:The same episode with a transcript right below the player
<h2>Episode 12: Writing alt text</h2>
<audio controls src="/audio/ep12.mp3"></audio>
<details>
  <summary>Transcript</summary>
  <p><strong>Dana:</strong> Welcome back to the show.</p>
  <p><strong>Sam:</strong> Today we're talking about alt text.</p>
  <p>[Theme music fades out]</p>
</details>
Passes:The silent video with a linked text description
<h2>Set up your device</h2>
<figure>
  <video controls src="/video/setup-steps.mp4"></video>
  <figcaption>
    <a href="/setup-steps-description">Read a text description of the video</a>
  </figcaption>
</figure>

Can a scanner detect this?

Partly

axe-core's audio-caption rule looks for a captions track on audio elements, but it is deprecated, off by default and only flags audio for review. No tool can find a transcript elsewhere on the page or tell whether it matches the recording. Check each audio file and silent video by hand.

axe-core rules that test it

Common mistakes

Official W3C explanation of 1.2.1

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026