Content must not flash more than 3 times per second
Rule
flash-rate· Deeper checks · impact serious · Live only (static → incomplete)
Why it matters
Content flashing more than three times in any one-second period can trigger seizures in people with photosensitive epilepsy. A CSS animation whose cycle is 333ms or shorter MAY produce that flash rate — but only if it is plausibly still running: computed animation state persists after a finite animation finishes, so only infinite animations (or finite ones whose total runtime spans several seconds) are considered; finished fast one-shots (e.g. a 0.25s×3 entrance pop) are never flagged. The engine cannot see the keyframes, flash area, or luminance delta from the animation name alone — smooth fast cycles like spinner rotation do not flash — so this is surfaced for review rather than as a hard failure.
How to fix
Verify the animation does not actually flash (smooth motion such as rotation is fine). If it does, slow it below 3 cycles per second, limit it to fewer than 3 iterations, or reduce the flashing area/contrast below the general flash threshold. Strobe-like effects should simply be removed.
Example
<div style="width:300px;height:100px;animation: strobe 0.2s infinite">SALE!</div>
<div style="width:300px;height:100px;animation: glow 2s infinite">SALE!</div>
Example
<div style="width:300px;height:100px;animation: flicker 0.2s 50">SALE!</div>
<div style="width:300px;height:100px;animation: pop 0.25s 3">New</div>
A fast one-shot finishes in under a second and cannot sustain a flash rate — only long-running fast cycles are surfaced for review.
WCAG success criteria
2.3.1 Three Flashes or Below Threshold — Level A
Nothing on the page may flash more than three times per second, to avoid triggering photosensitive seizures.
Standards
This rule contributes to the following standards:
WCAG A EN 301 549 Section 508 Trusted Tester
| Standard | Criteria |
|---|---|
| Section 508 | 1194.22(j) |
| EN 301 549 | 9.2.3.1 |