1.2.4 Captions (Live)
Level: AA | Principle: Perceivable | Since: WCAG 2.0 | Automation: Manual
What This Means
All live audio content presented as part of synchronized media (live video streams, webinars, live events) must have real-time captions. These captions must be synchronized with the audio and appear as the content is being delivered, not added after the fact.
Live captions are essential for deaf and hard-of-hearing users to participate in real-time events. Unlike pre-recorded captions, live captions must be generated in the moment, which requires planning and dedicated captioning resources.
Who This Affects
- Deaf and hard-of-hearing users — without live captions, they are completely excluded from real-time events
- Non-native language speakers — live captions help them follow fast-paced or accented speech
- Users in noisy environments — captions let them follow along when they cannot hear audio clearly
- Users with auditory processing disorders — reading captions reinforces comprehension
Common Pitfalls
1. Live stream with no captioning at all
<!-- Bad: live video with no caption support -->
<video id="live-stream" autoplay>
<source src="https://stream.example.com/live" type="video/mp4">
</video>
2. Relying solely on auto-generated captions without monitoring
<!-- Bad: unmonitored auto-captions produce frequent errors -->
<iframe
src="https://www.youtube.com/embed/live_stream?cc_load_policy=1"
title="Live event">
</iframe>
<!-- Auto-captions mangle proper nouns, technical terms, and multiple speakers -->
3. Captions with excessive delay
Live captions that appear 10+ seconds behind the speaker make it impossible for caption-reliant users to follow along or participate in Q&A.
4. No captions for live audio in a webinar platform
Many webinar tools offer captioning features, but they are often not enabled by default. Organizers forget to activate them or do not hire a live captioner.
How to Fix
Use a professional CART captioner
<!-- Good: embed a live caption feed from a CART provider -->
<video id="live-stream" controls autoplay>
<source src="https://stream.example.com/live" type="video/mp4">
</video>
<div id="live-captions" role="log" aria-live="polite" aria-label="Live captions">
<!-- CART captions are streamed here in real-time -->
</div>
CART (Communication Access Realtime Translation) providers deliver human-generated captions with high accuracy, typically at 98%+ for trained captioners.
Enable built-in platform captioning
<!-- Good: Zoom, Teams, and similar platforms have built-in live caption features -->
<!-- Enable "Live Transcription" or "CART Captions" in your platform settings -->
<!-- For Zoom: Settings > In Meeting > Closed Captioning > Enable -->
Use AI-assisted captioning with human monitoring
For events where a professional CART captioner is not available, use AI-assisted live captioning with a human editor correcting errors in real-time. This hybrid approach balances cost with accuracy.
How to Test
- Join or load the live stream or webinar and check whether real-time captions appear.
- Compare the live captions against the spoken audio for accuracy, noting errors in proper nouns, technical terms, and speaker identification.
- Check that captions appear within a few seconds of the spoken words, not with excessive delay.
- Verify that the caption area is positioned where it does not obscure critical video content.
- Open a screen reader and confirm the live caption region is discoverable and announced via
aria-live. - Pass: Live captions appear in real time, are reasonably accurate, identify speakers, and stay synchronized with the audio.
- Fail: No live captions are provided, captions have excessive errors, or the caption region is inaccessible to screen readers.
axe-core Rules
No automated axe-core rules. This criterion requires manual testing.