fixing-accessibility — скилл для Claude Code
Скилл проверяет HTML на проблемы доступности и предлагает точечные исправления. Пригодится для форм, диалогов и интерактивных элементов.
npx skills add ibelick/ui-skills --skill fixing-accessibility -a claude-codeЧто делает fixing-accessibility
fixing-accessibility проверяет доступные имена, клавиатурную навигацию, фокус, диалоги, семантику, формы, ошибки, объявления, контраст, медиа и движение. Он помогает находить проблемы с aria-label, aria-describedby, aria-invalid, aria-expanded и другими атрибутами.
Команда /fixing-accessibility применяет правила к работе над интерфейсом в текущем разговоре. С аргументом /fixing-accessibility <file> скилл проверяет конкретный файл и возвращает нарушение, объяснение его влияния и исправление на уровне кода. Изменения должны оставаться небольшими.
Скилл советует сначала использовать нативные элементы HTML, а затем добавлять ARIA, если это нужно. Для модальных окон фокус должен оставаться внутри открытого диалога и возвращаться к элементу, который его вызвал; без этого поведение клавиатуры будет нарушено.
Какие задачи решает
- проверить доступные имена кнопок и полей
- найти проблемы с навигацией клавиатурой
- связать ошибки формы с полями
- проверить управление фокусом в диалогах
- найти нарушения контраста и состояний
Примеры запросов агенту
- Примени правила доступности к этому интерфейсу:
/fixing-accessibility - Проверь файл
src/components/Dialog.htmlпо всем правилам:/fixing-accessibility <file> - Проверь форму и предложи точечные исправления для ошибок доступности:
/fixing-accessibility
Как установить fixing-accessibility
1Через Skills CLI (Vercel)
npx skills add ibelick/ui-skills --skill fixing-accessibility -a claude-code2Вручную: положить файлы
~/.claude/skills/fixing-accessibility/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/fixing-accessibility/
1Через Skills CLI (Vercel)
npx skills add ibelick/ui-skills --skill fixing-accessibility -a codex2Вручную: положить файлы
.agents/skills/fixing-accessibility/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add ibelick/ui-skills --skill fixing-accessibility -a cursor2Вручную: положить файлы
.cursor/skills/fixing-accessibility/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install ibelick/ui-skills fixing-accessibility2Вручную: положить файлы
.github/skills/fixing-accessibility/SKILL.md1Через Skills CLI (Vercel)
npx skills add ibelick/ui-skills --skill fixing-accessibility -a gemini-cli2Командой платформы
gemini skills install https://github.com/ibelick/ui-skills --path skills/fixing-accessibilityВручную: положить файлы
.devin/skills/fixing-accessibility/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add ibelick/ui-skills --skill fixing-accessibility -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Из того же набора9
Похожие
Рядом в теме «Фронтенд и UI»
Всё по теме «Фронтенд и UI» →Вопросы о fixing-accessibility
Как установить fixing-accessibility в Claude Code?
Выполните npx skills add ibelick/ui-skills --skill fixing-accessibility -a claude-code. Файл скилла появится по пути ~/.claude/skills/fixing-accessibility/SKILL.md.
Что делает fixing-accessibility?
Скилл проверяет HTML и интерфейсные компоненты на проблемы с ARIA, клавиатурой, фокусом, диалогами, формами, контрастом и состояниями. Для конкретного файла он выдаёт нарушение, краткое объяснение и вариант исправления.
На каких платформах работает fixing-accessibility?
Скилл предназначен для Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI и OpenCode.
Исходный текст
SKILL.md · MIT
--- name: fixing-accessibility description: Audit and fix HTML accessibility issues including ARIA labels, keyboard navigation, focus management, color contrast, and form errors. Use when adding interactive controls, forms, dialogs, or reviewing WCAG compliance. --- # fixing-accessibility Fix accessibility issues. ## how to use - `/fixing-accessibility` Apply these constraints to any UI work in this conversation. - `/fixing-accessibility <file>` Review the file against all rules below and report: - violations (quote the exact line or snippet) - why it matters (one short sentence) - a concrete fix (code-level suggestion) Do not rewrite large parts of the UI. Prefer minimal, targeted fixes. ## when to apply Reference these guidelines when: - adding or changing buttons, links, inputs, menus, dialogs, tabs, dropdowns - building forms, validation, error states, helper text - implementing keyboard shortcuts or custom interactions - working on focus states, focus trapping, or modal behavior - rendering icon-only controls - adding hover-only interactions or hidden content ## rule categories by priority | priority | category | impact | |----------|----------|--------| | 1 | accessible names | critical | | 2 | keyboard access | critical | | 3 | focus and dialogs | critical | | 4 | semantics | high | | 5 | forms and errors | high | | 6 | announcements | medium-high | | 7 | contrast and states | medium | | 8 | media and motion | low-medium | | 9 | tool boundaries | critical | ## quick reference ### 1. accessible names (critical) - every interactive control must have an accessible name - icon-only buttons must have aria-label or aria-labelledby - every input, select, and textarea must be labeled - links must have meaningful text (no “click here”) - decorative icons must be aria-hidden ### 2. keyboard access (critical) - do not use div or span as buttons without full keyboard support - all interactive elements must be reachable by Tab - focus must be visible for keyboard users - do not use tabindex greater than 0 - Escape must close dialogs or overlays when applicable ### 3. focus and dialogs (critical) - modals must trap focus while open - restore focus to the trigger on close - set initial focus inside dialogs - opening a dialog should not scroll the page unexpectedly ### 4. semantics (high) - prefer native elements (button, a, input) over role-based hacks - if a role is used, required aria attributes must be present - lists must use ul or ol with li - do not skip heading levels - tables must use th for headers when applicable ### 5. forms and errors (high) - errors must be linked to fields using aria-describedby - required fields must be announced - invalid fields must set aria-invalid - helper text must be associated with inputs - disabled submit actions must explain why ### 6. announcements (medium-high) - critical form errors should use aria-live - loading states should use aria-busy or status text - toasts must not be the only way to convey critical information - expandable controls must use aria-expanded and aria-controls ### 7. contrast and states (medium) - ensure sufficient contrast for text and icons - hover-only interactions must have keyboard equivalents - disabled states must not rely on color alone - do not remove focus outlines without a visible replacement ### 8. media and motion (low-medium) - images must have correct alt text (meaningful or empty) - videos with speech should provide captions when relevant - respect prefers-reduced-motion for non-essential motion - avoid autoplaying media with sound ### 9. tool boundaries (critical) - prefer minimal changes, do not refactor unrelated code - do not add aria when native semantics already solve the problem - do not migrate UI libraries unless requested ## common fixes ```html <!-- icon-only button: add aria-label --> <!-- before --> <button><svg>...</svg></button> <!-- after --> <button aria-label="Close"><svg aria-hidden="true">...</svg></button> <!-- div as button: use native element --> <!-- before --> <div onclick="save()">Save</div> <!-- after --> <button onclick="save()">Save</button> <!-- form error: link with aria-describedby --> <!-- before --> <input id="email" /> <span>Invalid email</span> <!-- after --> <input id="email" aria-describedby="email-err" aria-invalid="true" /> <span id="email-err">Invalid email</span> ``` ## review guidance - fix critical issues first (names, keyboard, focus, tool boundaries) - prefer native HTML before adding aria - quote the exact snippet, state the failure, propose a small fix - for complex widgets (menu, dialog, combobox), prefer established accessible primitives over custom behavior
© ibelick · MIT · ibelick/ui-skills