( Perceivable / WCAG 1.4.2 )

Page auto-plays audio or video with sound

SeriousLevel AWCAG 1.4.2 — Audio Control

What is this issue?

A <video> or <audio> element carries the autoplay attribute and is not muted, so it begins playing sound automatically the moment the page loads, without any user action. WCAG 1.4.2 requires that audio playing automatically for more than three seconds have an easily discoverable mechanism to pause, stop, or control its volume independently of the system volume control. This element has neither the exception (being silent) nor a readily available stop control.

The three-second threshold matters: a very brief automatic sound is treated differently from continuous playback, but most autoplaying media (background video loops, promotional clips, ambient audio) runs well past that window with sound enabled.

Why does this matter?

Autoplaying audio competes directly with a screen reader’s own spoken output, which is itself an audio channel. When both play at once, neither is intelligible: the user can’t understand the screen reader telling them what’s on the page, and can’t understand what the autoplaying content is saying either, effectively blocking navigation until they can locate and stop the interfering sound, often without knowing exactly where on the page it’s coming from.

A page that greets every visitor with unexpected sound isn’t just an annoyance for people browsing with speakers on; it actively blocks anyone whose own navigation depends on a working audio channel from using the page at all until the interfering sound is dealt with.

Who is affected?

  • Screen reader users: experience a direct audio collision between the screen reader’s own spoken output and the page’s autoplaying sound, making both unintelligible until the interfering audio is located and stopped.
  • Cognitive disabilities: unexpected, uncontrolled sound is disorienting and can trigger anxiety or attention disruption for users sensitive to sudden auditory stimuli, independent of whether they’re using a screen reader.

What users experience

Priya arrives at a company’s homepage with NVDA running on her Windows laptop. NVDA announces the page title, immediately overlapped by a promotional video that started playing with sound the instant the page loaded. Both audio streams talk over each other, and she can’t make out a word of either one. She has to guess where the stray sound is coming from and hunt for a way to stop it, often without visual cues, since the video’s controls may not be anywhere near her current screen reader focus position, before she can resume using the page at all.

How do I fix it?

Remove the autoplay attribute entirely for any video or audio that carries real spoken or musical content, and let the user start playback deliberately. This sidesteps the problem completely since nothing plays until they choose it. This works because the requirement only applies to audio playing without user action; removing automatic playback removes the triggering condition, not just its symptom.

For background or decorative video that genuinely doesn’t need sound, such as a muted looping hero banner or an ambient product showcase, pair autoplay with muted instead. A muted autoplay video produces no audio at all, so it doesn’t collide with a screen reader’s output or trigger WCAG 1.4.2 in the first place, while still delivering the intended silent visual effect.

Code Examples

Before
<video autoplay src="/promo.mp4"></video>
<audio autoplay src="/background-music.mp3"></audio>
After
<!-- Background video: muted autoplay is fine, since it produces no audio -->
<video autoplay muted loop playsinline src="/hero-bg.mp4"></video>

<!-- Promo video with real content: let the visitor choose to play it -->
<video controls src="/promo.mp4"></video>

<!-- Background music: remove autoplay entirely -->
<audio controls src="/background-music.mp3"></audio>

The muted hero video keeps its visual effect with zero audio footprint, so it never collides with anything a screen reader says. The promo video and background music both switch to requiring a deliberate play action instead, which removes the “automatic” condition WCAG 1.4.2 is specifically concerned with.

Common Mistakes

Mistake: “Adding visible pause controls next to the autoplaying media satisfies the requirement.” A pause control helps, but it doesn’t prevent the initial disruptive window before anyone locates and activates it, and a screen reader user whose focus isn’t already positioned on that control has to search for it while two audio streams are talking over each other. Not autoplaying sound in the first place is the more reliable fix.

Mistake: “The autoplay attribute alone is the problem, so removing just that fixes everything, including muted video.” autoplay combined with muted is explicitly fine under this requirement, since a muted video produces no sound to control. The actual trigger is audio playing automatically, not automatic playback itself: a silent autoplaying video is a completely different situation from one with sound enabled.

Mistake: “This only matters for videos with music or speech, not short sound effects.” WCAG 1.4.2’s three-second threshold is a floor, not a free pass for anything under it that repeats. A short notification sound that autoplays and then loops every few seconds is functionally continuous, disruptive audio, even if each individual instance is brief.

How RedFlag Detects This

Custom automated: RedFlag’s own DOM detector, runs on every scan. RedFlag’s runCustomRules() engine (extension/content.js:506-520) inspects every <video> and <audio> element and flags any that carry the autoplay attribute without also being muted.

False negative: audio triggered programmatically after page load through JavaScript (a play() call fired a few seconds in, rather than the HTML autoplay attribute itself) is invisible to this DOM-attribute check, since it never sets autoplay in the markup at all. False positive: an autoplay video with no actual audio track in its source file, such as silent background footage encoded without sound, still gets flagged, since RedFlag checks only the muted attribute’s presence, not whether the underlying media file contains audio. Manual step: confirm any flagged element genuinely produces audible sound on autoplay, and that any legitimate use of unmuted autoplay provides an immediately available, easy-to-find stop control.

Manual Testing

  1. Open the page in a browser with NVDA or VoiceOver running, and with your device’s speakers on.
  2. Load the page fresh and listen for any sound starting automatically, without clicking play.
  3. If sound starts automatically and lasts more than a few seconds, look for a visible, easily reachable control to pause or stop it, including by keyboard alone.
  4. If audio autoplays with no easily discoverable stop control, or if it collides audibly with the screen reader’s own speech during navigation, the check fails.

1.4.2 Audio Control: If audio on a page plays automatically for more than three seconds, a mechanism must be available to pause, stop, or control its volume independently of the overall system volume. Unmuted autoplay audio or video with no such control fails this criterion directly.

Video is missing captions and Audio element has no caption track share the same media element types and the same underlying goal of making audio and video content usable by everyone, from a different angle: captions for deaf and hard-of-hearing viewers, rather than control over unexpected sound.

Page contains a blinking or scrolling element shares the same underlying principle from a visual angle: automatically playing, uncontrolled content that a user hasn’t chosen to start and has no easy way to stop.

References

Frequently asked questions

Is muted autoplay allowed under WCAG 1.4.2?

Yes. The criterion specifically targets audio that plays automatically for more than three seconds with no easy way to stop it. Muted autoplay, common for background or decorative video, produces no audio at all, so it does not trigger the requirement in the first place.

Does a visible pause button next to an auto-playing video satisfy this requirement?

It can, if the control is easy to find and operate immediately, including by keyboard, the moment the audio starts. The stricter and more reliable fix is to not autoplay sound in the first place, since a hidden or hard-to-reach pause control still leaves a window where the audio disrupts screen reader speech before anyone can act.

Does this rule apply to embedded third-party video players, like YouTube embeds?

Yes, in principle, though RedFlag's detector specifically checks native video and audio elements for the autoplay attribute. A third-party embed configured to autoplay with sound creates the same problem for the same reasons, even though RedFlag's automated check may not directly inspect the embed's internal player configuration.

Why is autoplaying audio worse for screen reader users specifically than for other visitors?

A sighted user without a screen reader running just hears one unwanted audio stream and can look for a way to stop it. A screen reader user is relying on their own audio channel, the screen reader's spoken output, to navigate the page at all, so competing autoplay audio makes both streams simultaneously hard to understand, effectively blocking navigation until the sound is dealt with.