1.4.2 Audio Control
WCAG 2.2 · 1.4.2 A Perceivable
What it requires
If any audio plays automatically for more than 3 seconds, the user must be given a mechanism to either pause or stop that audio, or a mechanism to control its volume independently from the overall system volume level. The control has to be easy to find — ideally near the top of the page and reachable by keyboard — so it can be used before the sound interferes with anything else.
The simplest way to satisfy the criterion is to not auto-play audio at all: let the user choose to start it. Auto-playing audio of 3 seconds or less is not covered, but anything longer needs a control. Adjusting the operating-system volume does not count, because that affects everything; the control must act on the page audio specifically.
- Screen-reader users. Auto-playing audio competes with the synthesised speech of the screen reader, making the page impossible to navigate by ear.
- People with low vision who magnify the screen and may not see a small, distant stop button while sound is already playing.
- People with cognitive or attention-related disabilities, for whom unexpected sound is distracting or disorienting.
- Anyone in a shared or quiet environment who needs to silence the page quickly — a usability win for everyone.
How to detect it
| Check | How | Pass condition |
|---|---|---|
| Auto-play audit | Load the page with sound on; note any audio that starts on its own. | No audio auto-plays, or it stops within 3 seconds. |
| Control present | If audio plays > 3 s, look for a pause/stop or independent volume control. | A working control exists and silences the page audio. |
| Keyboard / screen reader | Tab to the control with the keyboard; confirm a screen reader announces it early in the page. | Control is focusable, labelled, and operable without a mouse. |
| Automated tools | Run axe, WAVE, or similar. | Cannot reliably detect auto-playing audio — manual testing is required. |
How to fix it
- Prefer not auto-playing audio: require an explicit user action to start it.
- If audio must auto-play, ensure it lasts 3 seconds or less, or add a control.
- Provide a visible, keyboard-operable pause/stop button (or independent volume control) placed early in the DOM.
- For embedded media, expose the player's native
controlsand avoid theautoplayattribute. - Re-test by ear with a screen reader running to confirm the page can be silenced quickly.
<!-- No autoplay: user starts it, native controls let them stop it -->
<audio src="welcome.mp3" controls>
Your browser does not support audio.
</audio>
Copy-paste tests
Automated coverage
The axe-core rule no-autoplay-audio flags failures of this criterion. Run it via the axe DevTools browser extension or axe-core in CI. Automated tools catch only some failures, so manual review is still required.
Run this in the browser console
// Surfaces media that may play sound automatically. Read-only.
const suspects = [...document.querySelectorAll('audio, video')].filter(
(m) => m.autoplay || (m.hasAttribute('autoplay') && !m.muted)
);
console.table(
suspects.map((m) => ({
tag: m.tagName,
autoplay: m.autoplay,
muted: m.muted,
controls: m.controls,
src: m.currentSrc || m.src
}))
);
suspects.forEach((m) => (m.style.outline = '3px solid red'));
console.log('Auto-playing media found:', suspects.length);
What to check manually: play the page and confirm any sound that starts automatically stops within 3 seconds, or that an independent pause/volume control is available. A script cannot judge actual loudness or whether sound truly auto-starts on load.
Related
- WCAG 2.2 criteria index — all 87 success criteria.
- Learn catalog — lessons mapped to the criteria they satisfy.
- Timeouts & auto-updating content — managing content that changes or plays without the user asking.