hoangnguyen0403/common-accessibility
Enforce WCAG 2.2 AA compliance with semantic HTML, ARIA roles, keyboard navigation, and color contrast standards for web UIs. Use when building interactive components, adding form labels, fixing focus traps, or auditing a11y compliance.
npx skills add https://github.com/HoangNguyen0403/agent-skills-standard --skill common-accessibility
> Legal req: EU (Web Accessibility Directive), USA (ADA/Section 508). Non-compliance = litigation risk. Minimum: WCAG 2.2 Level AA.
<button>, <a>, <nav>, <main>, <section>, <form>, <label> convey semantics natively.<div>/<span> for interactive elements — no keyboard role by default.h1–h6) must form logical outline. One h1 per page.<button> not <div onClick>, <a> not <span onClick>.ARIA supplements native HTML when insufficient (e.g., custom widgets). Rules:
role with required properties must include them (e.g., role="slider" needs aria-valuenow, aria-valuemin, aria-valuemax).aria-live="polite" for status messages; aria-live="assertive" only for critical alerts.<label>, aria-label, or aria-labelledby).aria-hidden="true" on decorative icons; never on focusable elements.tabindex (tabindex="1" breaks natural order).outline: none without visible replacement (min 2px solid, 3:1 contrast).alt=" (empty, not missing).alt — what image conveys, not "image of…".axe-core zero critical violations.onClick on <div>: Use <button> or add role, tabindex, and keyboard handlers.alt: Every <img> must alt attribute (empty string if decorative).outline: none without replacement focus style.aria-live for async status updates.Take hoangnguyen0403/common-accessibility from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.