This is a real report, not a mock-up.
It was produced on 29 August 2026 by the same renderer that runs when you buy a Motion Report, fed by the same live scan engine. Every candidate, every WCAG citation and every fix below comes out of an actual scan.
The page it scans is our own /before-after demo, which
deliberately ships motion the checker should flag — six infinite animations with no pause
path (WCAG 2.2.2, Level A) and several animation layers sitting outside the
prefers-reduced-motion guard (WCAG 2.3.3) — so the report has something
to show. A clean page produces a much shorter report; the scoring, the sections and the
disclosures are identical.
Get this report for your page — $29 Fourteen‑day refund, no questions asked.
13 distinct motion-a11y root cause(s), 14 occurrence(s), in the static scan.
This score is higher than 82 of the 196 pages in the study, and level with 2 of them.
Benchmark population: the July 2026 MotionSpec “State of Motion” study — 196 production pages generated by five AI app-builder platforms, scanned with this same engine and scoring (v2). It benchmarks against AI-generated UIs, not the general web. Scores in that population cluster on a few values, so this report gives raw counts only: any single summary figure would suggest a precision these clustered scores do not carry.
| Measure | This page | 196-page study (AI-generated UIs, July 2026) |
|---|---|---|
| Score (v2) | 26/100 | median 35/100 |
| Motion without a reduced-motion guard | Yes | present on 190 of 196 pages |
| Infinite animation without a pause path (WCAG 2.2.2, Level A) | Yes | present on 130 of 196 pages |
| Statically clean (no candidates) | No | 6 of 196 pages |
| Severity | Candidate (root cause) | Occurrences | Score impact |
|---|---|---|---|
| High | Infinite animation without pause path (no animation-play-state / data-* toggle) WCAG 2.2.2 Pause, Stop, Hide — Level A |
1× | −20 |
| High | Infinite animation without pause path (no animation-play-state / data-* toggle) WCAG 2.2.2 Pause, Stop, Hide — Level A |
1× | −20 |
| High | Infinite animation without pause path (no animation-play-state / data-* toggle) WCAG 2.2.2 Pause, Stop, Hide — Level A |
1× | −20 |
The highest-priority candidates are the infinite animations without a pause path — WCAG 2.2.2 (Pause, Stop, Hide) is a Level-A criterion, the strictest conformance tier, and continuous movement is a real barrier for people with attention and vestibular conditions. The unguarded-motion candidates are animation that, as scanned, still runs when a visitor’s OS-level “reduce motion” setting is on; a single prefers-reduced-motion media query per animation layer usually clears this class in one change. The matching criterion, WCAG 2.3.3, is Level AAA — so this is a robustness gap, not a Level-A conformance failure. The suggested fixes in this report are CSS-only and incremental — none require redesigning the page. After deploying, re-run the free checker to see the new scan result.
Candidates are grouped by root cause: one CSS root cause (a @keyframes animation or a transition layer) applied to N selectors is one candidate with N occurrences — not N candidates. Groups are ordered by their score impact. Candidates describe the page as scanned: they are engineering observations to check, not confirmed defects and not a judgement of the team that built it.
Make it pausable: html[data-ms-paused] .wavemark { animation-play-state: paused !important; } + pause button.
Make it pausable: html[data-ms-paused] .bgfx { animation-play-state: paused !important; } + pause button.
Make it pausable: html[data-ms-paused] .cta { animation-play-state: paused !important; } + pause button.
Make it pausable: html[data-ms-paused] .spinner { animation-play-state: paused !important; } + pause button.
Make it pausable: html[data-ms-paused] .track { animation-play-state: paused !important; } + pause button.
Make it pausable: html[data-ms-paused] .cue span { animation-play-state: paused !important; } + pause button.
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } } — or guard the transition utilities layer.
@media (prefers-reduced-motion: reduce) { .bgfx { animation: none; transition: none; } }
@media (prefers-reduced-motion: reduce) { .cta { animation: none; transition: none; } }
@media (prefers-reduced-motion: reduce) { .spinner { animation: none; transition: none; } }
@media (prefers-reduced-motion: reduce) { .track { animation: none; transition: none; } }
@media (prefers-reduced-motion: reduce) { .cue span { animation: none; transition: none; } }
Animate only transform/opacity (compositor-safe), e.g. transform instead of background.
No coverage limitations were flagged for this scan beyond the general static-scan scope described under Methodology.
infinite iteration (or >5 s autoplay) and deprecated <marquee>, with no detectable pause/stop mechanism. Mapped to WCAG 2.2.2 Pause, Stop, Hide (Level A).prefers-reduced-motion guard — animations/transitions that run even when the visitor's OS asks for reduced motion. Mapped to WCAG 2.3.3 Animation from Interactions (Level AAA) and reduced-motion best practice; this is a robustness gap, not a Level-A failure.transform/opacity (layout/paint work; vestibular and performance risk). Best-practice candidate.scoring v2: 100 minus, per root-cause group (same kind + same keyframes/transition-props/selector-family), severity-weight x min(3, 1 + 0.4*log2(occurrences)); per-category caps (infinite/marquee 40, autoplay 25, unguarded 30, risky-props 15) so one issue class cannot zero the score alone; floor 0.
Comparison figures come from the MotionSpec State of Motion in AI-Generated UIs study (Motion Accessibility Index #1, July 2026): 196 publicly accessible production pages generated by five AI app-builder platforms (anonymized cohorts A–E), scanned with this same engine and scoring. Dataset: CC BY 4.0, motionspec.dev/blog/state-of-motion-ai-generated-uis.
This is an automated, point-in-time engineering assessment based on publicly reachable pages. It is not a legal compliance determination. Prepared for the buyer's internal use; please do not redistribute or use it to make public claims about third-party sites.
If this report is not useful to you, email hello@motionspec.dev within 14 days, quoting the report number above, and we refund the purchase in full — no questions asked.
The scan reflects the page as served on 29 August 2026. After you ship fixes, you can re-check the page free of charge at any time: motionspec.dev/motion-check.
Write to hello@motionspec.dev and quote the report number above.
Imprint / Impressum: Froeba Sales Solutions UG (haftungsbeschränkt) — MotionSpec, hello@motionspec.dev.
Report example-2026-08-29, generated 29 August 2026 from a static scan of https://motionspec.dev/before-after. MotionSpec is an EU trademark application of Froeba Sales Solutions UG.
WCAG is a trademark of the W3C. This document cites WCAG success criteria for engineering orientation only.