Powered by
Time, motion & flashing
Scrolling Text Uses the Outdated Marquee Element
Text that scrolls by itself can't be paused, so people who read slowly, or get distracted by movement, can't read it or focus on the page.
marqueeWCAG 2.0Introduced in WCAG 2.0.Level AA — the minimum. Missing it blocks people outright.
- Status
- SeriousSerious — Significant friction, or information that is lost.CurrentScanners run this rule today.
- Owner
- All roles
- Audit
- AutomatedA scanner finds it, and a clean scan means it's fixed.
Why it matters
The <marquee> element makes text slide across the screen without stopping. There is no built-in way to pause it, and browsers no longer officially support it.
Some people need more time to read. Others find movement pulls their eyes away from everything else. Moving text that won't stop shuts both groups out.
Who it affects
| Who | What they experience | Impact |
|---|---|---|
| Low-vision users (magnification) | Zoomed in, they see only a few letters at a time, and the text slides out of view. | High impact |
| Cognitive and neurodivergent users | The movement grabs their attention, and the text slides away before they finish reading it. | High impact |
| Screen reader users | Screen readers usually read the text, but it may be read out of order or repeated. | Partial impact |
| Keyboard-only users | A link inside the moving text can scroll out of view while it has focus. | Partial impact |
| Motor and dexterity | Links inside moving text are hard to click before they slide away. | Partial impact |
Business & product impact
| Area | Why | Impact |
|---|---|---|
| Legal | WCAG 2.2 Level A, the minimum, needs a way to pause moving content. Complaints under Australia's Disability Discrimination Act point to WCAG, and EN 301 549 asks the same in Europe. | High impact |
| Conversion | Offers and notices in a scrolling banner are often missed or ignored. Still text is easier to read and act on. | Moderate impact |
| SEO | Little or no search benefit. Don't sell it as one. | Low impact |
| Brand trust | Scrolling text looks dated and can feel spammy. | Moderate impact |
| Cost to fix | Usually quick: remove the element and show the text still. Fix it once in the shared banner. | High impact |
Fixing it in code
A sale banner
Don't
<marquee>Sale ends Friday — 30% off everything</marquee>A screen reader says: “Sale ends Friday — 30% off everything (while it keeps sliding past on screen)”
Do
<p class="banner">Sale ends Friday — 30% off everything</p>A screen reader says: “Sale ends Friday — 30% off everything”
Still text stays put, so everyone can read it at their own pace.
If it really must move
Don't
.ticker { animation: scroll 10s linear infinite; }Do
.ticker { animation: scroll 10s linear infinite; }
.ticker.paused { animation-play-state: paused; }
@media (prefers-reduced-motion: reduce) { .ticker { animation: none; } }A visible Pause button can add the paused class, and people who turn off motion see still text.
Designer's handoff note
Design news and offers as still text, not a ticker. If movement is truly needed, include a clear Pause button in the design.
Ask whether the message needs to move at all. Usually a short headline works better.
Quick test
Tool
The keyboard and your eyes
Checklist
- Pass
- No text moves, or it can be paused and you can read all of it.
- Fail
- Text keeps moving and there is no way to stop it.
What a green scan still misses
A scanner only finds the <marquee> element. It won't flag the same scrolling made with CSS or JavaScript, so check moving content by eye.
Reference
- Rule ID
marquee- Raised by
- axe-core: “<marquee> elements are deprecated and must not be used”
- WCAG
- 2.2.2 Pause, Stop, Hide (opens in a new tab) · Level A · since WCAG 2.0
- Other standards
- EN 301 549 9.2.2.2 · RGAA 13.8.1
- Last reviewed
- 14 October 2026