
This runs WCAG 2.2 audits against your UI components and spits out criterion-referenced findings with severity tags and specific fixes. It checks the P0 set (keyboard nav, focus visibility at 3:1, screen reader attributes, 4.5:1 text contrast, 24×24 targets), newer 2.2 stuff like Focus Not Obscured and Target Size, and reduced motion handling. The useful bit is it actually measures contrast by running node scripts against rendered HTML rather than eyeballing hex codes, and it checks interactive states (hover, focus) separately to catch things that pass at rest but fail on interaction. Good when you need to confirm a component meets POUR principles or satisfy an accessibility review with real numbers.
$ npx -y skills add plugin87/ux-ui-agent-skills --skill a11y-audit --agent claude-codeInstalls into .claude/skills of the current project.
Step 0: is the kit here? This skill reads files from the kit. Check once:
ls ${CLAUDE_SKILL_DIR}/../../../tokens >/dev/null 2>&1 && echo KIT_OK || echo KIT_MISSINGOnKIT_MISSINGonly the skill folders were installed, which is whatnpx skills adddoes. Say so plainly, point the user atnpx ux-ui-agent-skills initor the plugin install, and stop. Do not guess the contents of a file you could not open.
Evaluate against WCAG 2.2 and the project's ARIA patterns.
${CLAUDE_SKILL_DIR}/../../../accessibility/wcag-checklist.md (POUR-organized, P0/P1/P2) and ${CLAUDE_SKILL_DIR}/../../../accessibility/aria-patterns.md.node ${CLAUDE_SKILL_DIR}/../../../scripts/gate.mjs measure_render.mjs <file> [--dark] (every text element) AND node ${CLAUDE_SKILL_DIR}/../../../scripts/gate.mjs verify_states.mjs <file> [--dark] (every interactive element in default/hover/focus; catches hover-state failures). For loose color pairs, python3 ${CLAUDE_SKILL_DIR}/../../../scripts/contrast.py "<fg>" "<bg>". Never state a ratio you did not measure.${CLAUDE_SKILL_DIR}/../../../taste/motion-choreography.md).A findings table: WCAG criterion (e.g. 1.4.3) · severity (P0/P1/P2) · what fails · specific fix. Confirm passes explicitly. Accessibility may never be traded for aesthetics.
Sponsors