1.2.1 Audio-only and Video-only (Prerecorded)

WCAG 2.2 · 1.2.1 A Perceivable

What it requires

For prerecorded media that is audio-only (such as a podcast or an MP3) or video-only (silent video, such as an animation with no soundtrack), you must provide an alternative that presents the same information for people who cannot perceive the original:

  • Audio-only: provide a text alternative — typically a transcript — that conveys the equivalent information.
  • Video-only: provide either a text alternative (a description of what happens) or an audio track that describes the visual content.

The criterion applies only to prerecorded media and does not cover media used as an alternative for text that is clearly labelled as such. Live media and synchronised audio-plus-video are handled by other 1.2.x criteria.

  • People who are blind or low-vision cannot perceive video-only content and rely on a text or audio description.
  • People who are Deaf or hard of hearing cannot access audio-only content and rely on a transcript.
  • People with cognitive disabilities who benefit from reading at their own pace, and anyone in a sound-off or screen-off context, also benefit from the alternative.

How to detect it

Checks for audio-only and video-only alternatives
Check How to do it
Inventory media Find every prerecorded audio-only and video-only file on the page.
Manual — audio-only Confirm a transcript exists nearby and that it covers all spoken words and meaningful sound.
Manual — video-only Confirm a text description or a descriptive audio track conveys the same information as the visuals.
Keyboard / screen reader Tab to the alternative; verify the link or transcript is reachable and announced, not hidden behind a mouse-only control.
Zoom At 200% the transcript text reflows and remains readable.
Automated tools axe and similar tools cannot verify this — judging whether an alternative is equivalent requires a human.

How to fix it

  1. Identify whether each media item is audio-only or video-only.
  2. For audio-only, write a full transcript of the speech and significant sounds.
  3. For video-only, write a text description of the visual events, or add an audio track that narrates them.
  4. Place the alternative adjacent to the player with a clear, programmatically associated label or link.
  5. Verify the alternative is keyboard reachable and announced by a screen reader.
<figure>
  <audio controls src="interview.mp3"></audio>
  <figcaption>
    <a href="interview-transcript.html">Read the full transcript</a>
  </figcaption>
</figure>

Copy-paste tests

Automated coverage

These axe-core rules flag failures of this criterion: audio-caption. Run them via the axe DevTools browser extension or axe-core in CI. Automated tools only catch some failures, so manual review is still required.

Run this in the browser console

find-media.js
// Read-only: lists audio-only and video-only media for review.
const media = [...document.querySelectorAll('audio, video')];
media.forEach(el => el.style.outline = '3px solid orange');
console.table(media.map(el => ({
  tag: el.tagName,
  src: el.currentSrc || el.getAttribute('src') || '(source child)',
  hasTrack: !!el.querySelector('track'),
  describedby: el.getAttribute('aria-describedby') || ''
})));
console.log('Review each: audio-only needs a transcript; video-only needs a transcript or audio description.');

What to check manually: confirm each audio-only clip has an equivalent text transcript nearby, and each silent video-only clip has a transcript or an audio-description track that actually conveys its visual content. No script can verify the description is accurate.