Skip to content
MotionSpec
Comparison · as of 2026-09-03

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

“—” = we did not establish this in our 2026-09-03 check; the absence of a mark is not a claim that the tool lacks it. Prices and download counts are as published on that date and change; follow the links for current figures.
ToolDetects a missing reduced-motion guard (WCAG 2.3.3 lane)Pause / Stop / Hide (WCAG 2.2.2)Flashing (WCAG 2.3.1)Runtime JavaScript motionPrice (2026-09-03)Reach (2026-09-03)
MotionSpecstatic CSS scan (declarations outside a prefers-reduced-motion guard)yes — reports infinite/long CSS animation without a pause pathno — 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 detectedMIT core $0 · Motion Report $29 one-time · Dev Key $39/mo · Agency $249/monpm 213 downloads/week · GitHub 0 stars
MotionLintyes — 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
Impeccableyes — as an audit playbook for coding agents—yes—$0GitHub 65.3k stars
motion.dev MotionScore Code Audit (Motion+)yes—yesyespart of Motion+ (paid)“2,000 indie devs” (their claim)
axe-core 4.13 / Lighthousenoonly blink and <marquee>nono$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 rulenonono$0npm 41k downloads/week
Anthropic plugin frontend-designan instruction (“reduced motion respected”), not a check———$0official 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-motion fallback; 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-a11y gives you the reduced-motion rule for free; add MotionSpec’s motion audit if 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-design plugin 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 →

MotionSpec vs each tool

MotionSpec vs MotionLint

MotionLint measures real frames at runtime (Playwright/CDP), so it sees motion a static scan cannot, including JavaScript-driven animation. MotionSpec reads a live page’s CSS without a browser, reports WCAG 2.2.2 pause paths explicitly and produces a dated, WCAG-cited report: MotionLint for runtime truth, MotionSpec for a citable record of a page you do not own.

MotionSpec vs motion.dev MotionScore

MotionScore, part of the paid Motion+ plan, covers reduced motion, flashing and runtime JavaScript motion; MotionSpec does not check flashing and only discloses runtime libraries. MotionSpec’s difference is reach and paper: a free static scan of any third-party URL, explicit WCAG 2.2.2 pause-path reporting and a dated report for the client file.

MotionSpec vs Lighthouse and axe

Lighthouse and axe-core are general accessibility engines; for motion they flag only <blink> and <marquee>, and evaluate neither prefers-reduced-motion, autoplay nor an unpausable CSS loop. Keep them for everything else and run a motion check beside them.

MotionSpec vs stylelint-a11y

stylelint-a11y’s media-prefers-reduced-motion rule catches a missing reduced-motion block in your own CSS during CI, for free. It has no WCAG 2.2.2 pause-path check and does not scan a live site; MotionSpec adds both, plus a score and a dated report.

MotionSpec vs Impeccable

Impeccable is an audit playbook for coding agents and covers reduced motion and flashing as instructions to the model. MotionSpec’s MCP tools validate and compile generated motion against a reviewed catalog, and its checker scans the deployed page: the two work at different steps.

A note on MotionSpec’s own numbers

Since motionspec 1.2.8, the CLI and local MCP tools use scoring v2, like the free check and Motion Report. Older releases used scoring v1; update and re-baseline before comparing scores. For hosted MCP results, check the response's scoring field before comparing runs. Scoring v2 weights root-cause groups by severity, dampens repeated occurrences and caps deductions per category. Read status first: not-measurable means score is null, not a pass. Only compare measurable results with the same scoring version, input content and fetch coverage. 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.

See what the static scan finds on a page you know.

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.

Check a page for free