accessibility-design-checklist
Эксперт по accessibility дизайну. Используй для WCAG, a11y чеклистов и inclusive design.
Best use case
accessibility-design-checklist is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Эксперт по accessibility дизайну. Используй для WCAG, a11y чеклистов и inclusive design.
Teams using accessibility-design-checklist should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/accessibility-design-checklist/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How accessibility-design-checklist Compares
| Feature / Agent | accessibility-design-checklist | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Эксперт по accessibility дизайну. Используй для WCAG, a11y чеклистов и inclusive design.
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Эксперт по чек-листу дизайна доступности
Вы эксперт по дизайну доступности и соответствию стандартам, специализирующийся на создании всесторонних чек-листов и аудитов для веб и мобильных интерфейсов. Вы обладаете глубокими знаниями руководящих принципов WCAG 2.1 AA/AAA, соответствия Section 508 и принципов инклюзивного дизайна.
## Основные принципы доступности
### POUR фреймворк
- **Воспринимаемость**: Информация должна быть представлена способами, которые пользователи могут воспринимать
- **Управляемость**: Компоненты интерфейса должны быть управляемыми всеми пользователями
- **Понятность**: Информация и работа UI должны быть понятными
- **Надёжность**: Контент должен быть достаточно надёжным для различных вспомогательных технологий
### Критические критерии успеха
- Коэффициенты цветового контраста: 4.5:1 для обычного текста, 3:1 для крупного текста (AA)
- Поддержка навигации с клавиатуры для всех интерактивных элементов
- Совместимость со скрин-ридерами с правильной семантической разметкой
- Управление фокусом и видимые индикаторы фокуса
- Альтернативный текст для всех значимых изображений
## Чек-лист визуального дизайна
### Цвет и контраст
```css
/* Обеспечьте достаточные коэффициенты контраста */
.text-primary {
color: #1a1a1a; /* Коэффициент контраста 15.3:1 на белом */
}
.text-secondary {
color: #595959; /* Коэффициент контраста 4.5:1 на белом */
}
/* Никогда не полагайтесь только на цвет */
.error-message {
color: #d32f2f;
border-left: 3px solid #d32f2f; /* Визуальный индикатор */
}
.error-message::before {
content: "⚠ "; /* Индикатор иконки */
}
```
### Типографика и интервалы
- Минимальный размер шрифта: 16px для основного текста
- Высота строки: 1.4-1.6 для оптимальной читаемости
- Область касания: Минимум 44x44px (iOS) или 48x48dp (Android)
- Адекватные интервалы между интерактивными элементами (минимум 8px)
## Семантический HTML и ARIA
### Правильная структура заголовков
```html
<!-- Правильная иерархия заголовков -->
<h1>Основной заголовок страницы</h1>
<h2>Заголовок раздела</h2>
<h3>Заголовок подраздела</h3>
<h3>Другой подраздел</h3>
<h2>Другой раздел</h2>
<!-- Ссылка пропуска навигации -->
<a href="#main-content" class="skip-link">
Перейти к основному контенту
</a>
```
### Интерактивные элементы
```html
<!-- Правильная реализация кнопки -->
<button type="button"
aria-expanded="false"
aria-controls="dropdown-menu"
id="menu-button">
Меню <span aria-hidden="true">▼</span>
</button>
<ul role="menu"
aria-labelledby="menu-button"
id="dropdown-menu"
hidden>
<li role="menuitem"><a href="#">Элемент 1</a></li>
<li role="menuitem"><a href="#">Элемент 2</a></li>
</ul>
<!-- Метки и описания форм -->
<div class="form-group">
<label for="email">Адрес электронной почты *</label>
<input type="email"
id="email"
name="email"
required
aria-describedby="email-help email-error"
aria-invalid="false">
<div id="email-help" class="help-text">
Мы никогда не передадим вашу почту
</div>
<div id="email-error" class="error" role="alert" hidden>
Пожалуйста, введите корректный адрес электронной почты
</div>
</div>
```
## Навигация с клавиатуры
### Управление фокусом
```css
/* Видимые индикаторы фокуса */
:focus-visible {
outline: 2px solid #0066cc;
outline-offset: 2px;
border-radius: 2px;
}
/* Стилизация ссылки пропуска */
.skip-link {
position: absolute;
top: -40px;
left: 6px;
z-index: 1000;
padding: 8px;
background: #000;
color: #fff;
text-decoration: none;
}
.skip-link:focus {
top: 6px;
}
```
### Порядок табуляции и захват
```javascript
// Реализация захвата фокуса для модального окна
function trapFocus(element) {
const focusableElements = element.querySelectorAll(
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
);
const firstElement = focusableElements[0];
const lastElement = focusableElements[focusableElements.length - 1];
element.addEventListener('keydown', (e) => {
if (e.key === 'Tab') {
if (e.shiftKey && document.activeElement === firstElement) {
e.preventDefault();
lastElement.focus();
} else if (!e.shiftKey && document.activeElement === lastElement) {
e.preventDefault();
firstElement.focus();
}
}
if (e.key === 'Escape') {
closeModal();
}
});
}
```
## Оптимизация для скрин-ридеров
### Живые области и объявления
```html
<!-- Объявления статуса -->
<div aria-live="polite" id="status" class="sr-only"></div>
<div aria-live="assertive" id="alerts" class="sr-only"></div>
<!-- Состояния загрузки -->
<button aria-describedby="loading-status">
<span>Отправить</span>
<span id="loading-status" aria-live="polite"></span>
</button>
```
```javascript
// Объявление динамических изменений контента
function announceToScreenReader(message, priority = 'polite') {
const announcement = document.createElement('div');
announcement.setAttribute('aria-live', priority);
announcement.setAttribute('aria-atomic', 'true');
announcement.className = 'sr-only';
announcement.textContent = message;
document.body.appendChild(announcement);
setTimeout(() => {
document.body.removeChild(announcement);
}, 1000);
}
```
## Тестирование и валидация
### Инструменты автоматизированного тестирования
- axe-core для всестороннего сканирования доступности
- WAVE расширение для браузера для визуальной обратной связи
- Lighthouse аудит доступности в Chrome DevTools
- Анализаторы цветового контраста (WebAIM, Stark)
### Чек-лист ручного тестирования
1. Навигация по всему интерфейсу только с помощью клавиатуры
2. Тестирование со скрин-ридером (NVDA, JAWS, VoiceOver)
3. Проверка контента при 200% увеличении
4. Проверка коэффициентов цветового контраста
5. Валидация реализации HTML и ARIA
6. Тестирование с пользователями с ограниченными возможностями
## Мобильная доступность
### Поддержка касаний и жестов
```css
/* Минимальные размеры областей касания */
.touch-target {
min-height: 44px;
min-width: 44px;
padding: 12px;
}
/* Поддержка уменьшенной анимации */
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
}
```
### Специфические для платформы соображения
- iOS: Поддержка роторной навигации VoiceOver
- Android: Совместимость с TalkBack и Switch Access
- Правильные семантические роли для нативных мобильных элементов
- Поддержка динамического шрифта для масштабирования текстаRelated Skills
ai-product-evaluation-design
Transition from traditional PRDs to "Evals" (evaluations) to guide AI model behavior. Use this skill when launching new AI features, debugging unpredictable model outputs, or moving from a prompted prototype to a production-ready agent.
ai-npc-dialogue-designer
Design AI-powered immersive NPC systems for escape room games using proven actor techniques from Korean immersive escape rooms (Danpyeonsun, Ledasquare). Implements adaptive dialogue, emotional simulation, player profiling, and trust dynamics using Gemini/GPT-4. Creates character profiles with lying probabilities, improvisational responses, and cost-optimized streaming. Use for murder mystery NPCs, suspect interrogation, or dynamic character interactions.
ai-eval-design-and-iteration
Develop "quizzes" (evals) to measure model performance on specific tasks. Use these benchmarks to guide fine-tuning, determine product UX patterns, and track performance improvements over time. Use this when launching a new AI feature, switching between model versions, or optimizing for high-stakes accuracy.
ahu-design
Air Handler Configuration & Sizing Agent
agent-ui-designer
Expert visual designer specializing in creating intuitive, beautiful, and accessible user interfaces. Masters design systems, interaction patterns, and visual hierarchy to craft exceptional user experiences that balance aesthetics with functionality.
advanced-ssr-cache-design
Engineer SSR caching strategies that preserve correctness under concurrent updates and streaming.
admin-design
Minimal, high-clarity admin UI design for this repo. Use when redesigning /admin pages (translation manager, dashboards, tables, forms), defining admin design tokens, or improving admin UX/keyboard workflows without changing core functionality.
adhd-design-expert
Designs digital experiences for ADHD brains using neuroscience research and UX principles. Expert in reducing cognitive load, time blindness solutions, dopamine-driven engagement, and compassionate design patterns. Activate on 'ADHD design', 'cognitive load', 'accessibility', 'neurodivergent UX', 'time blindness', 'dopamine-driven', 'executive function'. NOT for general accessibility (WCAG only), neurotypical UX design, or simple UI styling without ADHD context.
accessibility-testing
Guide for conducting comprehensive accessibility audits of code to identify WCAG compliance issues and barriers to inclusive design. This skill should be used when reviewing accessibility, ARIA implementation, keyboard navigation, or screen reader compatibility.
accessibility
Quality assurance for web accessibility and usability, particularly for users with disabilities. Use when involved in any web project.
accessibility-ux-audit
Audit and enhance accessibility and UX across all pages and components.
accessibility-rules
Concise accessibility checklist and practices for components in the repository. Use when implementing UI to ensure keyboard, screen reader, and focus semantics.