- Success Criterion 1.4.2
- Conformance level A
Audio That Starts on a Single-Page-App Route Change
1.4.2 — Audio Control
Scenario
Setting
A used-car marketplace's listing filter
What’s wrong
Audio starts on route change in SPAs (no full page load — users can't rely on browser mute heuristics) with no in-page stop.
Example
function onFilterChange() {
document.querySelector("#filter-audio").play();
}
<!-- audio replays on every SPA route change when filters are applied, no stop button anywhere --> Why it matters
A shopper adjusting filters repeatedly triggers overlapping chime sounds that stack up because the page never fully reloads.
How to test
Navigate between views in a single-page app: if audio starts on a route change with no full page reload (so browser tab-mute doesn't help) and no in-page stop control, it fails.
How to fix
Add a persistent, in-app mute toggle that survives route changes in a single-page app; don't assume users can just reload.
function onFilterChange() {
if (audioEnabled) document.querySelector("#filter-audio").play();
} Outcome
The shopper mutes the chime once and filters through dozens of listings without any repeated sound.
Who is affected
Users with cognitive load or attention-related conditions, and anyone who can't rely on refreshing the tab to silence it.
Learn more
- Understanding Understanding document (opens in a new tab)
Related scenarios
- Page Audio That Autoplays Past 3 Seconds With No Control
- Autoplaying Video or Audio With No Way to Pause It
- Background Music That Autostarts With No Visible Player
- Autoplaying Hero Video With Sound and No Pause Button
- Embedded Ad or Carousel iframe That Starts Playing Audio
- Looping Notification Sound With No Way to Turn It Off