marquee
Web validation
<marquee> elements must not be used.The <marquee> element creates automatically scrolling text. Users cannot pause, stop, or hide the motion, and it keeps moving for as long as the content is on screen.
Continuous movement distracts people with attention-related or cognitive disabilities. Moving links are hard to select for people with limited motor control, and screen reader users may struggle to track content that keeps changing position.
Pass Patterns
Static text with no movement
The message stays in place, so it needs no pause, stop, or hide control.
<p class="announcement">
Early-bird registration closes Friday.
</p>Live region that updates without scrolling
aria-live="polite" announces updates while the text stays still, avoiding distraction.
<div aria-live="polite">
New status: Backup completed successfully.
</div>Fail Patterns
Scrolling text that never stops
The <marquee> scrolls continuously with no built-in control, so users cannot pause or stop it.
<marquee behavior="scroll" direction="left">
Flash sale: 50% off today only!
</marquee>WCAG techniques
Sufficient techniques
- SCR33: Using script to scroll content, and providing a mechanism to pause it
- G4: Allowing the content to be paused and restarted from where it was paused
- G186: Using a control in the web page that stops moving, blinking, or auto-updating content
Failure techniques
ACT Rules
Try It Yourself
Inspecting the browser dev-tools
- Open the page and open your browser's dev tools.
- Search the Elements panel for
<marquee>. - Check whether any
<marquee>element is present.
Expected results: No <marquee> element appears on the page.
Actual results: Any <marquee> element is a violation.
Watching the page
- Load the page and watch any moving text.
- Look for a control to pause, stop, or hide it.
- Time how long the movement lasts.
Expected results: Moving content stops within five seconds or offers a control to pause it.
Actual results: The content scrolls for more than five seconds with no way to stop it.
FAQ
How does this issue relate to 2.2.2 Pause, Stop, Hide?
SC 2.2.2 requires a way to pause, stop, or hide moving or scrolling content that lasts more than five seconds. The <marquee> element has no native control, so its scrolling content cannot meet this requirement.
Why is this issue marked as Serious?
Uncontrolled motion can pull attention away from other tasks, frustrate people who use assistive technology, and stop some users from reading or activating links inside the moving text. These barriers affect core comprehension and operability across browsers and devices, so the severity is serious.
Standards and Regulations
| Standard | Success Criterion | Reference |
|---|---|---|
| WCAG 2.2 | 2.2.2 Pause, Stop, Hide (A) | For moving, blinking, scrolling, or auto-updating information, a mechanism exists to pause, stop, or hide it, with specific exceptions for essential activity and time-based media. |
| EN 301 549 | 9.2.2.2 Pause, Stop, Hide | Same as the WCAG text. |
| 508 Trusted Tester | 2.2.2-blinking-moving-scrolling, 2.B | The user can pause, stop, or hide moving, blinking, or scrolling content. |