К основному содержанию
скилл CX Codex

accessibility-issues — скилл для Claude Code: анимации без вреда

Разбирает анимацию, которая мешает людям с вестибулярными нарушениями, когнитивной перегрузкой или скринридером, и подсказывает, что чинить.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add dylantarre/animation-principles --skill accessibility-issues -a claude-code
Открыть на GitHub

Что делает 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-code

2Вручную: положить файлы

~/.claude/skills/accessibility-issues/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/accessibility-issues/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Из того же набора86

small-200-300ms Скилл подсказывает агенту, как строить переходы длительностью 200–300 мс: появление модалок, раскрытие карточек, слайды навигации. CX Codex +1 482установок trust-reliability Скилл для анимаций, которые вызывают доверие: предсказуемые движения, спокойные тайминги, никаких сюрпризов. Пригодится в платежах, формах и настройках. CX Codex +1 483установок product-manager Помогает продакт-менеджеру решить, какие анимации в приложении стоят разработки, а какие можно отложить. CX Codex +1 481установок universal-tool Скилл, который подсказывает агенту 12 принципов анимации Диснея при работе с любым инструментом или фреймворком. CX Codex +1 482установок universal-practitioner Скилл, который применяет 12 принципов анимации Диснея к интерфейсам, текстам и продуктовым решениям — не только к мультипликации. CX Codex +1 480установок ux-friction Скилл для диагностики анимаций, из-за которых пользователь ждёт, путается или бросает задачу. Пригодится, когда интерфейс тормозит из-за переходов. CX Codex +1 479установок slow-800-1200ms Скилл для ИИ-кодинга, который помогает делать намеренно медленную анимацию 800–1200 мс: драматичные появления, загрузочные сцены, моменты, где пользователь должен остановиться и посмотреть. CX Codex +1 474установок universal-mindset Скилл задаёт способ разбирать анимационные задачи через историю, движение, ритм и внимание зрителя. Пригодится, когда специализированный подход не подходит. CX Codex +1 472установок

Похожие

accessibility-audit Owl-Listener Проверяет готовый интерфейс по WCAG и выдаёт проблемы с уровнем серьёзности, влиянием и шагами исправления. CX Codex +1 2 100установок accessibility-inclusive-design hueyexe Скилл для ИИ-агента, который помогает проектировать и разбирать интерфейсы с оглядкой на доступность: клавиатура, скринридеры, контраст, семантика. CX Codex +1 574установок Accessibility Expert официальный github Субагент для GitHub Copilot, который разбирает интерфейс по WCAG 2.1/2.2 и подсказывает, как починить доступность. Пригодится, когда формы, модалки и SPA ведут себя странно с клавиатуры и скринридера. ★ 40 418звёзд репо accessibility affaan-m Проверяет и настраивает доступность интерфейсов по стандарту WCAG 2.2 Level AA для Web, iOS и Android. Пригодится при верстке компонентов, разметке ARIA и адаптации под скринридеры. CX Codex +1 5 100установок experience-accessibility-validate forcedotcom Разбирает HTML, JS и CSS компонента Lightning Web Component на соответствие WCAG 2.2 и выдаёт отчёт со ссылками на конкретные критерии. CX Codex +1 857установок accessibility-testing aj-geddes Скилл для проверки веб-приложений на соответствие WCAG: axe, навигация с клавиатуры, ARIA, скринридеры. Пригодится, когда нужно закрыть a11y-требования в проекте. CX Codex +1 575установок

Рядом в теме «Фронтенд и 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

Смотрите также

Спонсоры проекта

Компании, которые помогают держать аналитику открытой