Skip to main content
Perceivly: Perceivly home

2.2.4 Interruptions

Level AAA · added in WCAG 2.0

Users must be able to postpone or turn off interruptions, such as popups, alerts and automatic content updates. Only emergency messages, such as safety warnings or a coming loss of data or connection, may interrupt regardless.

Who it helps

People with attention or cognitive disabilities lose their place when something pops up or the page changes. Screen reader and magnifier users can be pulled away mid-sentence, or start reading one item and finish in another.

How to meet it

Examples

Fails:A signup dialog opens on its own after 10 seconds
<dialog id="signup">...</dialog>
<script>
  setTimeout(() => document.getElementById("signup").showModal(), 10000);
</script>
Fails:New posts are pushed into the feed and announced as they arrive
<ol id="feed" aria-live="assertive">
  <!-- new posts are inserted here every 30 seconds -->
</ol>
Passes:The dialog opens only when the user asks for it
<button type="button" onclick="document.getElementById('signup').showModal()">
  Get our newsletter
</button>
<dialog id="signup">...</dialog>
Passes:New posts wait until the user chooses to load them
<button type="button" id="load-new" hidden>Show 3 new posts</button>
<ol id="feed">
  <!-- posts load only when the button is pressed -->
</ol>

Can a scanner detect this?

No

axe-core has no rule for interruptions, because they depend on timers, scroll position and server updates. Stay on each page for a while, scroll and interact, and note anything that appears or changes without your request.

No automated rule tests this criterion. Check it by hand.

Common mistakes

Official W3C explanation of 2.2.4

Check your own page

See which automated WCAG checks your page fails, with the failing elements and how to fix them.

Enter a page address, for example example.com/shop.

Reviewed November 2, 2026