Three Flashes ensures that users are not exposed to visual flashing that could trigger seizures or other serious physical reactions. At this level, any flashing above three times per second is prohibited, regardless of size, brightness, or colour.
This criterion exists because seizure triggers can occur almost instantly, especially for users who apply magnification or high-contrast display settings. At Level AAA, prevention must be absolute rather than conditional.
WCAG Success Criterion
2.3.2 Three Flashes (Level AAA)
Web pages do not contain anything that flashes more than three times in any one-second period.
Why This Matters
Some individuals have photosensitive seizure disorders, including photosensitive epilepsy. For these users, exposure to flashing content can trigger seizures within seconds. Unlike many accessibility barriers, seizure triggers cannot be mitigated after exposure. Warnings, instructions, or “turn it off” controls are not sufficient because the harm can occur before the user can react.
Even users without epilepsy may experience:
- Migraines
- Dizziness or nausea
- Disorientation or eye strain
Because of this risk, flashing limits apply to all content on the page, not just primary or interactive elements. This is enforced through Conformance Requirement 5: Non-Interference.
Intent of the Criterion
This success criterion intends to further reduce seizure risk beyond Level A.
SC 2.3.1 (Level A) allows limited flashing if it remains:
- Below brightness thresholds, or
- Below size thresholds
SC 2.3.2 removes these allowances entirely.
At Level AAA:
- Brightness does not matter
- Size does not matter
- Colour does not matter
If flashing exceeds three times per second, the content cannot conform, even if the flashing affects only a single pixel.
This strict approach accounts for unknown user conditions such as:
- High zoom or screen magnification
- High-contrast or forced-colour modes
- Close viewing distances or large displays
Flashing vs. Blinking (Important Distinction)
These terms are often confused, but WCAG treats them differently.
Blinking
- Slow, repeating visual changes
- Primarily causes distraction
- May be allowed temporarily if it stops or can be paused
- Covered by SC 2.2.2 Pause, Stop, Hide
Flashing
- Rapid changes in brightness or color
- Can trigger seizures
- Never allowed above three flashes per second at Level AAA
If blinking occurs faster than three times per second, it is treated as flashing and falls under this criterion.
Scope of the Requirement
This criterion applies to all visual content, including:
- Videos
- Animations and GIFs
- Canvas, SVG, or WebGL effects
- CSS or JavaScript-driven visual changes
Flashing may be caused by:
- Strobe effects
- Rapid explosions or muzzle flashes
- Lightning effects
- Alternating high-contrast frames
Content must be evaluated at the largest size it may be viewed, including full-screen playback and under zoom.
Who This Helps
This criterion primarily supports users who:
- Have photosensitive epilepsy
- Have other seizure disorders
- Are highly sensitive to visual stimuli
- Use screen magnifiers or high-contrast display settings
By eliminating flashing above safe limits entirely, this requirement protects the most vulnerable users without requiring them to opt out of visual experiences.
Common Failure Patterns
Failures commonly occur when:
- Animated GIFs loop rapidly
- Video effects include strobe-like flashes
- CSS animations alternate brightness too quickly
- Game or promotional effects use flashing to draw attention
At Level AAA, even very small or subtle flashing can cause failure.
Examples
Passing example
A movie scene involving lightning is edited so that lightning flashes no more than three times per second, even during intense moments.
Failing example
A visual effect flashes more than three times per second, even if it:
- Is dim
- Covers a very small area
- Appears briefly
Rule Description
Content must not include any flashing that exceeds three flashes per second, regardless of brightness, size, or colour. This requirement applies whether the flashing is decorative, informational, or interactive.
The Algorithm
- Identify any content that rapidly changes brightness or colour
- Measure how many flashes occur within one second
- If flashing exceeds three times per second:
- The criterion fails
- If flashing never exceeds three times per second:
- The criterion passes
No additional thresholds or exceptions apply at Level AAA.
How to Test This
- Review animations, videos, and GIFs frame-by-frame
- Test content at maximum size (full-screen, zoomed)
- Check for rapid brightness or colour changes
- Verify flashing never exceeds three times per second
- Use specialised tools (such as PEAT) where applicable
Wrapping Up
Three Flashes (Level AAA) is the strictest seizure-safety requirement in WCAG. Unlike Level A, there are no allowances for dim, small, or brief flashing. If flashing exceeds three times per second, the content cannot conform.
At Level AAA, prevention is absolute, because when it comes to seizure risk, mitigation is not enough.