Skip to content

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.
Save as PDF (opens in a new tab)

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 it affects, and how much
WhoWhat they experienceImpact
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 usersThe movement grabs their attention, and the text slides away before they finish reading it.High impact
Screen reader usersScreen readers usually read the text, but it may be read out of order or repeated.Partial impact
Keyboard-only usersA link inside the moving text can scroll out of view while it has focus.Partial impact
Motor and dexterityLinks inside moving text are hard to click before they slide away.Partial impact

Business & product impact

Business & product impact, with how much each claim weighs
AreaWhyImpact
LegalWCAG 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
ConversionOffers and notices in a scrolling banner are often missed or ignored. Still text is easier to read and act on.Moderate impact
SEOLittle or no search benefit. Don't sell it as one.Low impact
Brand trustScrolling text looks dated and can feel spammy.Moderate impact
Cost to fixUsually 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
Other standards
EN 301 549 9.2.2.2 · RGAA 13.8.1
Last reviewed
14 October 2026