# experience-accessibility-validate

Разбирает HTML, JS и CSS компонента Lightning Web Component на соответствие WCAG 2.2 и выдаёт отчёт со ссылками на конкретные критерии.

- скилл · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 857 установок · ★ 1112
- Автор: forcedotcom
- Лицензия: Apache-2.0 · policy=mirror · начало файла — в конце страницы
- Исходник: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-accessibility-validate/SKILL.md
- Обновлён: 2026-10-23
- HTML: https://affpapa.org/nevibecode/skills/experience-accessibility-validate

## Что делает

Скилл проводит ревью кода только по доступности. Он смотрит на семантическую разметку, порядок фокуса, навигацию с клавиатуры, контраст и подписи для скринридеров, а затем пишет `a11y-review.md` с находками и цитатами критериев WCAG. Нарушением считается только то, что явно противоречит указанному Success Criterion — общий стиль кода и всё, что к доступности не относится, остаётся в стороне.

Внутри есть отдельные файлы-справочники по критериям, сгруппированные по принципам вроде Perceivable. Скилл открывает нужные из них под конкретный код. Для работы нужен `python3` версии 3.8 или выше. Есть и правила, которые снимают ложные срабатывания: базовые компоненты Lightning (`lightning-input`, `lightning-combobox`, `lightning-textarea`, `lightning-icon`) и импортируемые контролы из React, Vue или Angular считаются доступными из коробки, если им передали подпись через `label` или `aria-label`. Динамические пары `id` и `htmlFor`, привязанные к одному и тому же выражению, тоже не считаются ошибкой.

Скилл не занимается генерацией LWC — для этого есть `experience-lwc-generate`. Визуальный разбор SLDS без фокуса на доступности — задача `design-systems-slds-validate`. Если вам нужно именно ревью доступности, ставьте этот.

## Требования
- Работает с: Salesforce

## Установка

### Claude Code (родная платформа)

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a claude-code
```

2. **Вручную: положить файлы**
- Файл: `~/.claude/skills/experience-accessibility-validate/SKILL.md` — Папка скилла целиком; для одного проекта — .claude/skills/experience-accessibility-validate/

### Codex

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a codex
```

2. **Вручную: положить файлы**
- Файл: `.agents/skills/experience-accessibility-validate/SKILL.md` — Для всех проектов — ~/.agents/skills/

### Cursor

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a cursor
```

2. **Вручную: положить файлы**
- Файл: `.cursor/skills/experience-accessibility-validate/SKILL.md` — Cursor читает и .agents/skills/, и .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install forcedotcom/sf-skills experience-accessibility-validate
```

2. **Вручную: положить файлы**
- Файл: `.github/skills/experience-accessibility-validate/SKILL.md`

### Gemini CLI

1. **Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a gemini-cli
```

2. **Командой платформы**
```bash
gemini skills install https://github.com/forcedotcom/sf-skills --path skills/experience-accessibility-validate
```

### Windsurf (Devin Desktop)

**Вручную: положить файлы**
- Файл: `.devin/skills/experience-accessibility-validate/SKILL.md` — Старый путь .windsurf/skills/ тоже читается

### OpenCode

**Через Skills CLI (Vercel)**
```bash
npx skills add forcedotcom/sf-skills --skill experience-accessibility-validate -a opencode
```

### Claude.ai

**Claude.ai**
- Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills

Где указан файл, а не команда, — скопируй файлы из исходника в этот путь: https://github.com/forcedotcom/sf-skills/tree/HEAD/skills/experience-accessibility-validate/SKILL.md

## Когда брать
- проверить LWC на соответствие WCAG 2.2
- найти проблемы доступности в разметке компонента
- убедиться, что компонент работает со скринридером
- проверить навигацию с клавиатуры и порядок фокуса
- разобрать использование ARIA-атрибутов в шаблоне

## Примеры запросов агенту
- проверь доступность этого LWC по WCAG 2.2
- найди проблемы доступности в моём компоненте
- этот компонент доступен с клавиатуры?

## Похожие
- [accessibility-audit](https://affpapa.org/nevibecode/skills/accessibility-audit.md) — скилл · 2100 установок
- [accessibility-testing](https://affpapa.org/nevibecode/skills/aj-geddes-accessibility-testing.md) — скилл · 575 установок
- [accessibility-compliance](https://affpapa.org/nevibecode/skills/aj-geddes-accessibility-compliance.md) — скилл · 482 установки
- [accessibility-auditor](https://affpapa.org/nevibecode/skills/patricio0312rev-accessibility-auditor.md) — скилл · 355 установок
- [Accessibility Expert](https://affpapa.org/nevibecode/agents/github-accessibility-expert.md) — субагент · ★ 40418
- [accessibility](https://affpapa.org/nevibecode/skills/affaan-m-accessibility.md) — скилл · 5100 установок

Из того же набора: [forcedotcom/sf-skills](https://affpapa.org/nevibecode/by/forcedotcom/sf-skills.md) — 167 карточек

_Часть страницы не вошла по размеру — она есть в HTML-версии._

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
