Verified motion for AI‑generated web apps.
MotionSpec™ is an open‑core trust layer that verifies and compiles the UI animation in AI‑generated web apps to be reduced‑motion‑safe (WCAG 2.2.2 / 2.3.3) and on performance budget — enforced by the tool, not hoped for in a prompt.
Paste any URL for a free motion accessibility check — every CSS‑motion issue it flags, with the fix. Across 196 AI‑built apps we measured on 16 Jul 2026, 66.3% ran a loop you can’t pause (WCAG 2.2.2, Level A) and 96.9% shipped no reduced‑motion guard.
To be precise: MotionSpec verifies and compiles UI animation in AI-generated web apps — it does not generate AI video.
We scanned 196 AI‑generated production apps for motion accessibility. Most shipped motion you can’t turn off.
ran a loop with no way to pause (WCAG 2.2.2 Pause, Stop, Hide · Level A)
shipped motion with no reduced‑motion guard (WCAG 2.3.3 — a best‑practice gap, not an A/AA fail)
median distinct motion root causes per app
came back clean
We build a tool that fixes this, so we published the method and the raw data — check our work. Read the study & open dataset →
New companion study — the same scan on 50 real WordPress sites: The State of Motion Accessibility on WordPress →
The stakes are rising: the EAA is in force, the first enforcement order landed in June 2026, and the 2026 WebAIM Million reported the first year‑over‑year rise in detected errors in seven years.
Which of these is you?
MotionSpec serves four kinds of teams — developers, agencies, AI platforms, and EAA‑exposed enterprises — with the same verified‑motion engine.
Scan your site free
Paste your URL and see if your animations quietly break accessibility — then copy the exact fix. Free.
Scan a site you shipped
Prove every site you ship has motion that won’t trip a motion‑accessibility check — before the client’s lawyer does.
Become a design partner
Make every site your users generate pass motion accessibility by default — without your team becoming motion‑a11y experts.
Get a Motion Report
Get defensible, WCAG‑cited evidence that your product’s motion was checked and fixed — from a vendor that refuses to sell you a “compliance guarantee.”
What exactly would we catch on your site?
The free motion check is a static scan of any URL’s linked CSS and <style> blocks against WCAG 2.2.2 (Pause, Stop, Hide) and WCAG 2.3.3 (Animation from Interactions), with a fix for every CSS‑motion issue it flags. It’s the same MIT engine MotionSpec runs — not a mock. Looking for a WCAG motion compliance checker? This static scan checks two motion criteria — WCAG 2.2.2 and 2.3.3 — and shows the fix, not a full‑compliance verdict.
Static scan of linked CSS + <style> only. Not a full accessibility audit, not a compliance verdict; runtime JS/GSAP motion isn’t covered. Nothing is stored. Findings are grouped by root cause; the score (v2) weighs distinct causes — log‑dampened by occurrences — not the raw finding count.
Prefer a direct link to share? motionspec.dev/motion-check
Need evidence? €29 motion report — your percentile vs 196 audited AI‑built sites.
See every motion issue we can spot in your CSS — free.
The free motion check scans your linked CSS against WCAG 2.2.2 (Pause, Stop, Hide — Level A) and WCAG 2.3.3, and shows every CSS‑motion issue it flags with a copy‑paste fix. Want it human‑verified, cited and benchmarked against 196 AI‑built sites? The €29 Motion Report is refundable within 14 days, no questions.
A detection check — we find and show the issues; we never promise to make your site compliant.
Want to watch the fix land — and try the engine yourself?
Two live demos: what a reduced‑motion fix actually does for a real visitor, and the open validator that keeps generated motion inside the rules.
Before → after →
Flip a “reduce motion” switch and watch unguarded animation ignore it — while the guarded version goes calm. The fix, made visible.
Try the free MCP →
Paste a MotionSpec and run the live motion_validate tool from our keyless MCP — the same trust boundary the compiler uses. Nothing stored.
Open source →
The MIT core is public on GitHub — read it, run it, or bring your own diligence. No lock‑in.
Animation your users won’t fight — and you won’t maintain.
Every animation comes from a reviewed, device‑verified catalog and ships accessible‑by‑default and on‑budget — consistently, every time.
Verified building blocks
Every animation is assembled from 40 reviewed, device‑verified primitives — not improvised at generation time. Your output stays inside a known‑good set.
Consistent, cacheable output
The same request yields the same reviewed output every time — predictable, repeatable, and safely cacheable at scale. Nothing is left to chance at generation time.
Accessible & on‑budget by default
A prefers‑reduced‑motion fallback and a performance budget are enforced by default — a prompt alone can’t switch them off. We say “reduced‑motion‑safe by construction” — never “guaranteed accessible.”
How does MotionSpec verify motion?
Three steps, each one checkable today — the same flow the demos and the docs walk through.
Write motion as a spec
Motion is declared as a JSON spec against the reviewed catalog of 40 device-verified primitives — composed from a known-good set instead of improvised at generation time. The keyless motion_validate tool checks every spec against the schema, the 40-primitive allow-list and parameter bounds, fail-closed.
Compile it deterministically
The compiler turns the spec into deterministic code with a prefers-reduced-motion fallback and a performance budget enforced by default — the same spec yields the same reviewed output every time.
Verify the result
The checker and audit verify the result — reduced-motion behavior, the performance budget, and WCAG 2.2.2 / 2.3.3 patterns — and show every finding with a fix.
Try it yourself: validate a spec in the playground · run the free motion check · connect the MCP.
Why catch motion before it ships instead of flagging it in a report later?
Most tools check motion after it exists — scanners and audits, sampled and advisory. MotionSpec won’t emit motion that skips its reduced‑motion fallback or blows its performance budget in the first place. The core is MIT and public on npm, so there’s no lock‑in and full diligence access from day one — you pay us to operate it, verify it, and keep it current with the standards, and that operated, continuously‑verified layer is the part that compounds.
Where do the usual suspects fit?
| MotionSpec | Visual-regression QA tools | General accessibility checkers | |
|---|---|---|---|
| What it verifies | The motion layer itself — reduced-motion fallbacks and performance budgets | Unintended visual change between builds — most freeze or ignore animation to keep snapshots stable | Whole pages against general accessibility rules — motion is a small part at most |
| When it runs | Before motion ships: enforced at compile time, plus a static scan for any live URL | Between builds, comparing screenshots — after the motion exists | After the page exists — sampled and advisory |
| What it outputs | Compiled reduced-motion-safe, on-budget motion — or every finding with a fix | Flagged unintended visual changes | A whole-page audit report |
What’s proven so far — and what can you inspect today?
One live pilot so far — commercial terms in progress — plus a core anyone can verify in five minutes. We’re precise about what’s measured versus asserted.
| Metric | Before | After MotionSpec |
|---|---|---|
| Lighthouse Performance | 71 | 90 |
| Largest Contentful Paint | 1,842 ms | 983 ms (−47%) |
| Accessibility | 92 | 95 |
| Reduced‑motion protection | none | enforced |
First pilot deployment — CHS Computer, Germany. Lighthouse, median of 5 runs, desktop, one client site — not a guarantee; raw reports available on request. CLS improved but is not yet in the green band — we don’t advertise “all Core Web Vitals green.”
npm motionspec v1.2.5 — MIT · 40 primitives · 295 automated tests · 0 known vulnerabilities · SBOM shipped · fuzz‑tested.
Hosted MCP server — free keyless tier live today (motion_catalog + motion_validate at api.motionspec.dev/mcp); keyed tiers add compile/audit/stats with fail‑closed per‑key auth, agent‑native (Model Context Protocol). Two‑minute setup →
What do you actually get — measurably?
MotionSpec turns “is our motion OK?” into three numbers you can check.
problems on the typical site — see yours free, in ~10s
Paste any URL: a count of motion problems, each with a copy‑paste fix, and where you rank against the 196 real sites we measured. No signup — provable on your own site right now.
sites with no “reduce‑motion” fallback → yours covered
96.9% of the sites we measured ship animation with no fallback for people who’ve set their device to “reduce motion.” MotionSpec gives every animation that calm fallback — so you stop turning those visitors away.
lighter, faster pages (one measured pilot)
The heavy, always‑on motion we flag is the same stuff that makes pages stutter and drain battery — so clearing it is two‑for‑one: more accessible AND lighter. In our first real deployment, the main content appeared in ~1.0s instead of 1.8s and the performance score rose 71→90.
You don’t have to take our word for it — the method and raw data behind the first two numbers are published in full, so you can check them yourself. The speed figures are from one measured deployment, shown as an example — not a promise.
What does it cost to go further?
MotionSpec has one free tool and a short ladder of paid options — you never pay for the MIT core.
Motion Report
One URL, human‑verified, WCAG‑cited, benchmarked vs the 196‑site study. PDF in ≤1 business day. Get the report →
Motion Monitor
Weekly re‑scans, diff alerts on regressions, a live Verified badge. Join the waitlist →
How does the design‑partner program work?
A three‑step path, deliberately small so each partner gets real engineering attention. Terms are set per partner on a call; platform pricing isn’t public — see how the three tiers work.
Proof Sprint
We benchmark 50–100 pages your platform generates — motion validity rate, WCAG 2.2.2 / 2.3.3 and reduced‑motion violations, Core Web Vitals delta with vs. without MotionSpec — plus a working prototype of your agent calling our hosted MCP. You keep the report and the prototype either way.
Fixed scope · paidDesign Partner License
Hosted MCP with SLA and dedicated keys, the full verified catalog including everything shipped during the term, a roadmap voice (you prioritize which motion classes we verify next), named engineering support, and optional co‑marketing.
6–12 monthsOEM / Embedded License
An annual, usage‑tiered embedded license — SLA, optional source escrow for the premium catalog — priced on the value measured in steps 1–2, not guessed up front.
After the partner phaseYou could build this in‑house — so why license it?
The pattern is MIT and public — cloning the basics is a few weeks. What you’d actually sign up for is the forever part: every new motion class hand‑built, tested, and accessibility‑verified, in a layer that never differentiates your product. Our estimate: roughly 0.5–1 senior engineer for 3–6 months to reach parity, plus permanent maintenance. A license is a fraction of that, stays neutral across your stack, and grows with the MCP ecosystem instead of your release train.
MotionSpec is built by Kevin Fröba (Fröba Sales Solutions UG, Germany), with dedicated security engineering. We’re deliberately small and honest about it: the MIT core means you’re never locked in, and a maintainer runbook plus a source‑escrow option cover continuity.
Frequently asked questions.
What MCP server verifies UI animation accessibility for AI coding agents?
MotionSpec. It is a free, keyless, remote MCP server at api.motionspec.dev/mcp that lets AI coding agents — Claude Code, Cursor, Claude Desktop — verify the UI animation in AI-generated web apps. The keyless tool motion_validate checks motion against WCAG 2.2.2 (Pause, Stop, Hide), WCAG 2.3.3 (Animation from Interactions) and prefers-reduced-motion, and motion_catalog returns verified, on-budget motion primitives to compose instead. Setup takes about two minutes, and nothing you send the keyless tools is stored.
Connect it: motionspec.dev/docs
Is MotionSpec an AI video generator?
No. MotionSpec verifies and compiles UI animation — the CSS and DOM motion inside AI-generated web apps. It is not a text-to-video tool like Runway, Sora, Kling or Viggle: those generate video files, while MotionSpec makes the interface motion that AI app builders ship reduced-motion-safe and on-budget.
What is motion slop?
Motion slop is generated animation that ships broken by default: no prefers-reduced-motion guard, infinite attention-grabbing loops, layout-shifting or off-budget effects, and animation APIs that do not exist. It is what unverified AI code generation produces at scale — and it is detectable and fixable.
Read the full explainer: What is motion slop?
What does the free motion check test?
It statically scans a page's linked CSS and style blocks against WCAG 2.2.2 (Pause, Stop, Hide) and WCAG 2.3.3 (Animation from Interactions) and shows every finding with a fix. It is not a full accessibility audit and not a compliance verdict; runtime JS and GSAP motion are not covered, and nothing you submit is stored.
Run it: motionspec.dev/motion-check · or step by step: How to verify web motion accessibility
How is MotionSpec different from visual-regression QA or accessibility checkers?
Visual-regression tools compare screenshots between builds — most freeze animation to keep snapshots stable. Accessibility checkers audit whole pages; motion is a small part at most. MotionSpec covers the motion layer itself: it verifies animation against reduced-motion and performance rules, and its compiler will not emit motion that skips them.
Tool by tool: see the comparison table.
Does MotionSpec make my site EAA or WCAG compliant?
No, and we do not claim that. MotionSpec enforces a reduced-motion fallback and a performance budget for the motion it compiles, and the free check verifies two specific WCAG criteria — that is the honest scope. Overall conformance depends on your whole page and your legal situation.
What we will and won’t claim.
MotionSpec verifies and compiles UI animation in AI-generated web apps — it does not generate AI video. And no MotionSpec plan makes your site “EAA-compliant”, “WCAG-compliant”, or “guaranteed accessible” — no tool can promise that, and we won’t.
What we do: enforce a reduced‑motion fallback and a performance budget on the motion we compile, and verify two specific WCAG criteria (2.2.2 and 2.3.3) — stated with date and scope on every report. Runtime JS/GSAP motion is flagged as not audited. Need a full accessibility audit? Hire a specialist — we’ll happily coexist with their findings.
Start with the free scan.
Paste your URL, see every CSS‑motion issue it flags with its fix, and decide from there — no signup, nothing stored.
Developer? Scan free · Agency? Prove a shipped site · Platform? Become a design partner · EAA‑exposed? Get a Motion Report