1.2.9 Audio-only (Live)

Level: AAA | Principle: Perceivable | Since: WCAG 2.0 | Automation: Manual


What This Means

Live audio-only content — such as a live radio broadcast, a conference call, or a live podcast — must have a real-time text alternative. This means someone is typing or using speech-to-text technology to provide a live transcript as the audio plays.

Unlike prerecorded content where you can prepare captions in advance, live content requires a real-time captioning service (often called CART — Communication Access Realtime Translation) or automated speech recognition with human correction.

This ensures that deaf users and hard of hearing users can follow live audio events as they happen, rather than having to wait for a recording to be transcribed after the fact.

Who This Affects

  1. Deaf users — cannot hear live audio broadcasts at all
  2. Hard of hearing users — may miss portions of live audio, especially with poor audio quality
  3. Users in noisy environments — live text provides a fallback when audio is hard to hear
  4. Non-native speakers — reading along with live text aids comprehension

Common Pitfalls

1. No live captioning for audio streams

<!-- Bad: live audio with no text alternative -->
<audio src="https://stream.example.com/live" controls autoplay>
  Live radio broadcast
</audio>

<!-- Good: live audio with real-time transcript -->
<audio src="https://stream.example.com/live" controls autoplay>
  Live radio broadcast
</audio>
<div aria-live="polite" aria-label="Live transcript" class="live-transcript">
  <p>[Live transcript will appear here as the broadcast progresses]</p>
</div>

2. Relying on automated speech recognition without review

<!-- Bad: raw automated transcription with no correction -->
<div id="auto-captions"></div>

<!-- Good: automated transcription with human monitor correcting errors -->
<div aria-live="polite" id="live-captions" role="log">
  <!-- CART provider or human-monitored ASR feeds corrected text here -->
</div>

How to Test

  1. Identify all live audio-only content on the site (live radio streams, conference calls, live podcasts).
  2. Start the live audio and check whether a real-time text transcript appears alongside the audio player.
  3. Compare the live transcript against the audio for accuracy and check that it stays synchronized within a few seconds.
  4. Open a screen reader and verify the live transcript area uses aria-live or role="log" so new text is announced automatically.
  5. Confirm the transcript area is visually positioned near the audio player and easy to find.
  6. Pass: Live audio-only content has a real-time text alternative that is accurate, synchronized, and accessible to screen readers.
  7. Fail: No live transcript is provided, the transcript is inaccurate or severely delayed, or the region is not accessible to assistive technology.

How to Fix

  1. Hire a CART (Communication Access Realtime Translation) provider for important live audio events
  2. For frequent live streams, implement automated speech recognition with a human monitor to correct errors in real time
  3. Display the live transcript in an aria-live="polite" region near the audio player
  4. Use a role="log" container so assistive technology announces new text as it appears
  5. After the event, replace the live transcript with a reviewed and corrected version

Resources

  1. WCAG Understanding 1.2.9
  2. How to Meet 1.2.9