Allow Users to Postpone or Suppress Interruptions
Interruptions (like alerts, page updates, chat messages popping up) can be postponed or suppressed by the user, except for interruptions involving an emergency.
Why It Matters
Unexpected interruptions can disrupt concentration and workflow, particularly for users with attention deficits or cognitive impairments. For screen reader users, sudden updates or alerts can interrupt the reading flow, making it hard to follow the content. Allowing users to control when or if interruptions occur provides a less disruptive experience.
Fixing the Issue
Avoid unnecessary interruptions. If non-emergency updates or alerts are needed (e.g., new chat message notifications, content updates):
- Provide a mechanism for the user to postpone or disable these types of interruptions (e.g., a “Do Not Disturb” setting, options to control notification frequency).
- Use less intrusive methods for non-critical updates, such as subtle visual indicators or status messages in designated areas (see WCAG 4.1.3) rather than pop-up dialogs or immediate content shifts.
- Reserve immediate, unavoidable interruptions only for true emergencies (e.g., critical system alerts, tornado warnings).
Good Code Example
(Conceptual) A notification system with user controls:
-
<fieldset> <legend>Notification Preferences</legend> <label> <input type="checkbox" id="enable-chat-popups" checked> Enable chat message pop-ups </label> <br> <label> <input type="checkbox" id="enable-auto-refresh" checked> Allow automatic content updates </label> </fieldset> <script> // Example: Chat message arrives function onNewChatMessage(message) { const allowPopups = document.getElementById('enable-chat-popups').checked; if (allowPopups) { // Show an immediate pop-up notification (potentially disruptive) // showPopupNotification(message); console.log("Showing chat popup (user enabled)"); } else { // Show a less intrusive indicator (e.g., badge count) // updateBadgeCount(); console.log("Showing subtle chat notification (popups disabled)"); } } // Similar logic for auto-refresh based on #enable-auto-refresh setting </script>
Bad Code Example
Unsolicited pop-up advertisement interrupts the user:
-
// setTimeout(function() { // // Show a large modal advertisement after user has been on page for 10 seconds // // This is an interruption the user cannot control or postpone (unless they have ad blockers) // // showModalAd(); // console.log("Showing intrusive pop-up ad now!"); // }, 10000);
Search Ultimate Guide

Free eBook
Integrating Accessibility Compliance Into Your Budget
A Practical Guide for Healthcare Leaders Navigating the New HHS Ruling
Need Help with Compliance?
Our team is here to guide you through the process of meeting accessibility standards. Contact us today to get started.