Skip to main content
WCAGrules
Quick navigation

Do not embed blinking content without a pause

F7 is a documented failure under the pause, stop, hide rule, and it covers content you did not write. The blinking lives inside an object, an applet or a plug-in, where the browser has no way to stop it and the embed offers no control of its own. It is still your page and still your finding. Three conditions have to hold together before it is one. The blinking starts on its own, it runs longer than five seconds, and it sits alongside other content. That third condition is the one summaries drop, and it is what exempts a full-screen loading animation with nothing else on the page. Two harms come out of the same movement. Nobody can read the blinking thing between flashes, and nobody can read anything else while it flashes.

How we find it in an audit

A reviewer loads the page, touches nothing, and watches for ten seconds with a stopwatch running. Anything still blinking at five is a candidate. Then we look for the control, inside the embed and in the page around it, and we try it from the keyboard. Automated tools cannot see inside a plug-in or a cross-origin frame, so this comes down to watching. We record what else is on screen too, because a blink with the page to itself is a different finding from one competing with an article.

How affected users experience it

Blinking is not mainly a screen reader problem. It lands on people with attention and cognitive disabilities, who lose the sentence they were reading every time it moves, and on people with low vision, who are magnifying the same flicker to a much larger size. For anyone with a seizure disorder the rate matters as well as the duration, and a fast enough flash is a separate and more serious rule of its own. The reader who wants the blinking message is stuck as well. Between flashes there is nothing to read.

Passes vs. fails

Passes: under the flash threshold. Fails: flashing above 3 per second.

Passes

<object data="promo-animation.svg" type="image/svg+xml" id="promo"></object>
<button onclick="pausePromo()">Pause animation</button>
<!-- Or configure the embedded animation to stop itself inside five seconds. -->

Fails

<object data="promo-animation.svg" type="image/svg+xml"></object>
<!-- The embed blinks for as long as the page is open, and the page offers no control. -->

How this gets tested

The W3C publishes test rules that define what a checker looks for here.

The other techniques filed under this rule

11 guides on this site are filed under 2.2.2 Pause, Stop, Hide. W3C documents this one as a failure of that rule, so it describes a way the rule gets broken rather than a way to pass it.

This guide is our interpretation of W3C technique F7: Failure of Success Criterion 2.2.2 due to an object or applet … for more than five seconds. W3C publishes its techniques as guidance rather than as the standard, and says so on every one of them. The success criterion is what conformance is measured against, and a technique is one documented way to meet it.

Go somewhere useful

Find tools, resources and your workspace.

29 destinations