At Level AA, recorded videos whose pictures carry information need audio description; a text transcript alone no longer satisfies the requirement.
A video from the motor vehicle office walks through an eye test. The narrator says, "Look at the chart and read the third line." A blind viewer cannot tell what chart, which letters, or what happens when you read them wrong.
WCAG 1.2.5 (Level AA) requires audio description for all prerecorded video content in synchronized media. Standard audio description fills the natural pauses in the dialogue with information about actions, characters, scene changes and on-screen text that the soundtrack does not already convey. If the soundtrack already says everything important, no additional description is needed.
At Level A, criterion 1.2.3 let you choose between audio description and a text media alternative. At Level AA the audio description itself is required, even if you met 1.2.3 with text.
The cheapest audio description is a script that does not need one. Before recording, read the script as if the screen were off.
"Now, as you can see here, enter your details
in these boxes and then click the button.""Enter your license plate number in the first box,
and the last four digits of your VIN in the second.
Then select the blue Check Status button below them."Where a description cannot fit in the gaps, a separate described track carries it. Voice it in the same tone as the original and keep to what matters for understanding.
Departments make videos to explain a process: renewing a license, filing a permit, enrolling a child. They often depend on a cursor moving across a form, which the narrator rarely names. Since Title II refers to both Level A and Level AA, an entity that has a descriptive transcript but no described version has met the Level A choice in 1.2.3 and still has this Level AA item open. Departments tend to start with videos that explain a task a resident must complete. See WCAG 2.1 AA and the ADA for how the two levels fit together.
A second version of the video (or an extra audio track) must be easy to find. Show the choice next to the player.
<video controls src="/video/dmv-eye-test.mp4"></video><video id="dmv-video" controls src="/video/dmv-eye-test.mp4"></video>
<ul>
<li><a href="/video/dmv-eye-test-described.mp4">
Watch the version with audio description</a></li>
</ul>A toggle that keeps the playback position avoids making the viewer start over.
<button id="ad-toggle">Audio description</button>
<script>
const video = document.getElementById('dmv-video');
document.getElementById('ad-toggle').onclick = () => {
video.src = 'dmv-eye-test-described.mp4';
};
</script><button id="ad-toggle" aria-pressed="false">Audio description</button>
<script>
const video = document.getElementById('dmv-video');
const toggle = document.getElementById('ad-toggle');
toggle.addEventListener('click', () => {
const on = toggle.getAttribute('aria-pressed') === 'true';
const t = video.currentTime, paused = video.paused;
video.src = on ? 'dmv-eye-test.mp4' : 'dmv-eye-test-described.mp4';
video.addEventListener('loadedmetadata', () => {
video.currentTime = t;
if (!paused) video.play();
}, { once: true });
toggle.setAttribute('aria-pressed', String(!on));
});
</script>The toggle itself is a button with a pressed state, so it is operable by keyboard and announced correctly.
Apps need the same described version or additional audio track. The built-in players can switch between audio tracks, so the effort lies in producing the narration and offering the choice in your own controls.