MotionSpec vs MotionScore, MotionLint, Lighthouse, axe, stylelint-a11y
The short version. Nobody covers all of motion accessibility, and the tools overlap less than their names suggest. Linters catch a missing prefers-reduced-motion block in CSS. Runtime tools measure what actually moves in a browser. General accessibility engines such as axe and Lighthouse barely look at motion at all. MotionSpec sits in a narrow spot: a static scan of somebody else’s live site that returns a score, a badge and a dated report, plus a compiler whose output carries the reduced-motion fallback and a pause path by construction. Where a tool below does something MotionSpec does not, the table says so.
Side by side
| Tool | Detects a missing reduced-motion guard (WCAG 2.3.3 lane) | Pause / Stop / Hide (WCAG 2.2.2) | Flashing (WCAG 2.3.1) | Runtime JavaScript motion | Price (2026-09-03) | Reach (2026-09-03) |
|---|---|---|---|---|---|---|
| MotionSpec | static CSS scan (declarations outside a prefers-reduced-motion guard) | yes — reports infinite/long CSS animation without a pause path | no — not checked (the report says so) | static only — runtime libraries are disclosed as “not audited”, an external bundle without a trace in the HTML is not detected | MIT core $0 · Motion Report $29 one-time · Dev Key $39/mo · Agency $249/mo | npm 213 downloads/week · GitHub 0 stars |
| MotionLint | yes — at runtime (Playwright/CDP frame measurement) | — | — | yes — measures real frames | $0 (MIT, since 04/2026; MCP registry since 2026-07-27) | npm 241 downloads/month · GitHub 0 stars |
| Impeccable | yes — as an audit playbook for coding agents | — | yes | — | $0 | GitHub 65.3k stars |
| motion.dev MotionScore Code Audit (Motion+) | yes | — | yes | yes | part of Motion+ (paid) | “2,000 indie devs” (their claim) |
| axe-core 4.13 / Lighthouse | no | only blink and <marquee> | no | no | $0 · axe DevTools Pro roughly $79–99/mo (secondary source) | npm 68.9M downloads/week (axe-core) |
| stylelint-a11y (two forks) | yes — media-prefers-reduced-motion rule | no | no | no | $0 | npm 41k downloads/week |
Anthropic plugin frontend-design | an instruction (“reduced motion respected”), not a check | — | — | — | $0 | official Claude Code marketplace (291 plugins) |
Where MotionSpec is alone — and where it is not
- Alone: a static scan of a third-party live URL that returns a score, a badge and a dated, WCAG-cited report; a deterministic compiler whose output carries the
prefers-reduced-motionfallback; explicit reporting of WCAG 2.2.2 pause paths for looping motion. - Not alone, or not there: detecting a missing reduced-motion guard (stylelint-a11y, Impeccable, MotionScore and MotionLint all do it, in CSS or at runtime); flashing analysis (Impeccable and MotionScore cover it, MotionSpec does not); runtime measurement (MotionLint measures real frames, MotionSpec only discloses that a runtime library is present — and misses one that arrives in an external bundle).
- Everyone: none of these tools makes a site WCAG-, EAA- or ADA-compliant, and none replaces a full accessibility audit. Each covers a slice; the slices are listed above.
Which one to reach for
- You lint your own CSS in CI —
stylelint-a11ygives you the reduced-motion rule for free; add MotionSpec’smotion auditif you also want the 2.2.2 pause-path check and a score. - You want to know what actually moves in a browser — MotionLint measures frames at runtime; MotionSpec’s static scan cannot.
- You direct a coding agent — Impeccable’s playbook and the Anthropic
frontend-designplugin instruct the model; MotionSpec’s MCP tools validate and compile the result against a reviewed catalog. - You ship other people’s sites and need paper — the free check for the pre-flight, the Motion Report for the client file, the Agency plan for ten domains at once.
- You already run Lighthouse or axe — keep them; neither evaluates animation,
prefers-reduced-motion, autoplay or an unpausable loop, so a motion tool sits beside them rather than replacing them. What the Lighthouse score does and does not tell you →
A note on MotionSpec’s own numbers
MotionSpec currently reports two scores for the same findings: the website’s free check and the Motion Report use scoring v2 (severity weights per root cause, log-dampened by occurrences, per-category caps); npx motionspec audit (v1.2.7) and the MCP tools still report scoring v1 (a flat deduction per finding). Same findings, different weighting — the same URL can show two numbers today. A unified score is planned. The reach figures for MotionSpec above are our own: 213 npm downloads a week and 0 GitHub stars on 2026-09-03.
How this table was made
Each row comes from the tool’s own documentation, source or npm/GitHub page as read on 2026-09-03, plus a run of the tool where one was possible. Prices are the published list prices on that day; where we only had a secondary source (axe DevTools Pro), the table says so. We will correct any cell a maintainer shows to be wrong — write to hello@motionspec.dev and the change lands with a date.
Paste a URL into the free motion check — four checks, every finding with its fix, and an explicit list of what the scan could not see. No signup, nothing stored.
Run the free motion check