Skip to content
easeweb
Search topics

Flashing banners and videos that can trigger seizures

A flash-sale banner swaps black and yellow five times a second across the full width of the page: fast, bright and large enough to set off a seizure in people with photosensitive epilepsy.

WCAG 2.2
SC 2.3.1A
Required by
Section 508 · EN 301 549 (EU)
Broken animation: strobe 0.2s steps(1) infinite;
The accessibility problem illustrated: The whole banner swaps black and yellow.
01

The problem

People with photosensitive epilepsy can have a seizure from a few seconds of a large, bright banner flashing five times a second, before they have time to look away.

02

Try it

See how often the sale banner flashes in one second, and how much of the view it covers.

This page never plays flashing faster than three times a second, so the broken banner strobes at a fifth of its speed, and the strip under it shows its real second, frame by frame. The dashed box is 341 × 256 pixels, W3C’s estimate of a 10-degree field of view: a fast flash may cover a quarter of it. "Stop demo" is the Learn page’s own button, not the shop’s.

Broken Can you fix this?

Flash sale: 50% off everything until midnight

  • Wool coat $90
  • Linen shirt $34
  • Canvas tote $22
5 flashes a second The real banner’s second. Above, it strobes at a fifth of its speed: the real one flashes five times as often.

Fills under 1% of the dashed box The box is 341 × 256 pixels, W3C’s estimate of what the eye takes in at once. A flash this fast may fill a quarter of it; the hatched part is the banner’s share.

A recreated demo. The broken version is intentionally inaccessible.

03

The fix

Stop the flashing, slow it to one flash a second that ends after three, or keep the strobe to a small badge.

  1. 1Flash no more than three times in any one second, or keep the flash under a quarter of a 10-degree field.
  2. 2A warning, a Pause button or the reduced-motion query is never the fix.
  3. 3Check video and animated images with a flash analysis tool before they go live.
Before A banner that strobes
<div class="flash-sale">  <p>Flash sale: 50% off everything until midnight</p></div>
After

A still banner

<div class="flash-sale">  <p>Flash sale: 50% off everything until midnight</p></div>

Fixing this with an AI coding assistant? Get this guide as Markdown

04

Verify the fix

5 checks, no mouse.

Test with: Flash analysis, Reduced motion, Zoom

0 of 5 checked

Record the OS, browser and assistive-technology versions, the build, the date, and the actual result of each step. Repeat after the design, a campaign banner, a video or the animation library changes.

Limits

This is a starting pattern, not a guarantee for every application, and not medical advice. The thresholds lower the risk of a seizure but don't remove it: some people react below three flashes a second, and to still patterns of stripes or checks that 2.3.1 doesn't cover. The audit measures flashes it can read from the page, not video, animated images or canvas, and it doesn't add up small flashes that sit side by side. A flash analysis tool and a person still need to check what it can't see.

This is a recreated teaching example, not a finding about a named client. The code is a starting pattern: test it in your own product. No completed assistive-technology test is claimed here.

Keep this fixed as your code changes.

Turn guides like this into rules your coding agents and CI follow, then have the result retested with a keyboard and screen readers.

How retests work