# Motion Accessibility

> Use when validating that an interaction preserves keyboard access, focus, semantics, and honors reduced-motion before it can ship.

- Skill: `suraj787/motion-accessibility` (Agent Skill)
- Install (CLI): `npx skillmds@latest add suraj787/motion-accessibility`
- Raw SKILL.md: https://api.skillmd.com/api/skills/suraj787/motion-accessibility/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Web & Frontend
- Author: Suraj787 (https://skillmd.com/u/suraj787)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/suraj787/motion-accessibility

---


# Motion Accessibility

**Responsibility:** Enforce the mandatory accessibility and reduced-motion invariants.
This is a non-negotiable gate.

## When to invoke

- During implementation and again at validation (step 12 of the root workflow).

## Inputs

- The implemented interaction and its reduced-motion variant.

## Outputs

- Pass/fail per invariant, with required fixes.

## Invariants

- Keyboard focus is never removed or obscured; focus order stays logical.
- Essential actions are never hover-only; they work via keyboard and touch.
- Status is never conveyed by motion alone, pair with text/icon/ARIA.
- `prefers-reduced-motion: reduce` is respected with a meaningful non-motion path.
- Decorative motion never blocks or delays input.
- Semantics (roles, names, states) are correct and announced.

## How it connects

- Reads `intelligence/` accessibility guidance; does not touch `registry/` ranking.
- Reports to `implementation-validation`; failures block the ship.

## Notes

A reduced-motion path is not "disable the animation and leave a gap", it must still
communicate the state change clearly. No interaction ships without it.

