accessibility-issues — скилл для Claude Code: анимации без вреда
Разбирает анимацию, которая мешает людям с вестибулярными нарушениями, когнитивной перегрузкой или скринридером, и подсказывает, что чинить.
npx skills add dylantarre/animation-principles --skill accessibility-issues -a claude-codeЧто делает accessibility-issues
Скилл включается, когда анимация выталкивает часть пользователей: жалобы на укачивание, потеря фокуса клавиатуры во время перехода, мелькание, путаница у скринридера. Дальше он раскладывает проблему по принципам анимации и даёт правку к каждому. Например, избыточный squash and stretch советует убрать для prefers-reduced-motion и заменить сменой прозрачности, а дуги заменить линейным движением там, где элемент интерфейса важен.
Внутри — список признаков проблемы, разбор по принципам, быстрые правки и чек-лист для проверки. Есть готовые сниппеты: CSS-блок с медиазапросом prefers-reduced-motion: reduce, который глушит длительность анимаций и переходов, и проверка той же настройки через window.matchMedia в JS.
Одно условие стоит держать в голове: чек-лист требует теста со включённым скринридером, а не только чтения кода. Если в проекте анимация запускается сама по себе, скилл прямо говорит убрать автоплей и дать пользователю самому вызвать движение.
Какие задачи решает
- убрать анимацию для тех, кто включил уменьшение движения
- найти переход, из-за которого пропадает фокус клавиатуры
- снизить частоту мелькания ниже опасного порога
- объяснить скринридеру, что содержимое изменилось
- оставить один движущийся элемент вместо пяти
Примеры запросов агенту
- Проверь мою анимацию модалки на проблемы доступности и покажи, что чинить
- Пользователи жалуются на укачивание от параллакса — прогони по чек-листу accessibility-issues
- Добавь в этот CSS уважение к prefers-reduced-motion по паттерну из скилла
Как установить accessibility-issues
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-issues -a claude-code2Вручную: положить файлы
~/.claude/skills/accessibility-issues/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/accessibility-issues/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-issues -a codex2Вручную: положить файлы
.agents/skills/accessibility-issues/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-issues -a cursor2Вручную: положить файлы
.cursor/skills/accessibility-issues/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install dylantarre/animation-principles accessibility-issues2Вручную: положить файлы
.github/skills/accessibility-issues/SKILL.md1Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-issues -a gemini-cli2Командой платформы
gemini skills install https://github.com/dylantarre/animation-principles --path skills/12-by-problem-type/accessibility-issuesВручную: положить файлы
.devin/skills/accessibility-issues/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add dylantarre/animation-principles --skill accessibility-issues -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора86
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о accessibility-issues
Как установить accessibility-issues в Claude?
Выполните npx skills add dylantarre/animation-principles --skill accessibility-issues -a claude-code. После этого файл скилла лежит в ~/.claude/skills/accessibility-issues/SKILL.md.
Что делает accessibility-issues?
Смотрит на анимацию с точки зрения тех, кому она мешает, и предлагает конкретные правки: убрать дисторсию, ограничить число движущихся элементов, выровнять тайминги, заменить дуги на линейное движение.
Что нужно, чтобы скилл сработал?
Ничего сверх обычного окружения. Он опирается на медиазапрос prefers-reduced-motion и window.matchMedia, а проверку советует делать со включённым скринридером.
Исходный текст
SKILL.md · MIT
---
name: accessibility-issues
description: Use when animation excludes users with vestibular disorders, cognitive disabilities, or assistive technology needs
---
# Accessibility Issues
Make animations inclusive using Disney's principles thoughtfully.
## Problem Indicators
- Motion sickness complaints
- Vestibular disorder triggers
- Screen reader confusion
- Cognitive overload
- Seizure risk (flashing)
- Keyboard focus lost during animation
## Diagnosis by Principle
### Squash and Stretch
**Issue**: Excessive distortion causes disorientation
**Fix**: Reduce or eliminate squash/stretch for users with `prefers-reduced-motion`. Use opacity changes instead.
### Secondary Action
**Issue**: Too many moving elements
**Fix**: Limit to one animated element at a time. Secondary actions should be subtle or removed.
### Exaggeration
**Issue**: Dramatic motion triggers vestibular responses
**Fix**: Reduce scale, rotation, and position changes. Keep movements small and predictable.
### Timing
**Issue**: Animations too fast or too slow
**Fix**: Provide consistent, predictable timing. Avoid sudden speed changes.
### Arcs
**Issue**: Curved motion paths cause tracking difficulty
**Fix**: Use linear motion for essential UI. Save arcs for optional decorative elements.
## Quick Fixes
1. **Respect `prefers-reduced-motion`** - Always check and honor
2. **No autoplay animation** - Let users trigger motion
3. **Keep focus visible** - Never animate focus indicator away
4. **Announce changes** - Use ARIA live regions for dynamic content
5. **Provide pause controls** - For any looping animation
## Troubleshooting Checklist
- [ ] Does animation respect `prefers-reduced-motion`?
- [ ] Is there a way to pause/stop animations?
- [ ] Are state changes announced to screen readers?
- [ ] Does keyboard focus remain visible and logical?
- [ ] Is flash rate under 3 per second?
- [ ] Can users complete tasks without animation?
- [ ] Are animations triggered by user action (not autoplay)?
- [ ] Test with screen reader enabled
## Code Pattern
```css
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
```
```js
// Check preference in JS
const prefersReducedMotion = window.matchMedia(
'(prefers-reduced-motion: reduce)'
).matches;
```
© dylantarre · MIT · dylantarre/animation-principles