accessibility-audit
Accessibility Audit Skill
Comprehensive WCAG 2.2 Level AA accessibility auditing for React/TypeScript applications with MUI framework awareness.
Quick Reference
| Severity | Impact | Examples |
|---|---|---|
| Critical | Blocks access completely | Keyboard traps, missing alt on actions, no focus visible |
| High | Significantly degrades UX | Poor contrast on CTAs, no skip navigation, small touch targets |
| Medium | Minor usability impact | Missing autocomplete, unclear link text |
| Low | Best practice enhancement | Could add tooltips, more descriptive titles |
Key Principle
Severity = Impact x Likelihood, NOT WCAG conformance level. A Level A failure can be LOW severity; a Level AA failure can be CRITICAL.
Required Tooling
# Install required tools
npm install --save-dev eslint-plugin-jsx-a11y jest-axe @axe-core/playwright
# Configure ESLint
# Add to .eslintrc: extends: ['plugin:jsx-a11y/recommended']
Workflow
| Phase | Description |
|---|---|
| 1. Setup | Install tooling, create output directories |
| 2. Static Analysis | ESLint jsx-a11y scan |
| 3. Runtime Analysis | jest-axe and Playwright |
| 4. Manual Validation | Keyboard, screen reader, contrast |
| 5. Report Generation | JSON + Markdown outputs |
Phase 1: Setup
See workflow/setup.md for installation and configuration.
Phase 4: Manual Validation
See workflow/manual-validation.md for keyboard and screen reader testing.
Reference
- Severity Rubric - Impact x Likelihood calculation
- MUI Framework Awareness - Built-in accessibility features
Common False Positives to Avoid
| Component | Built-in Behavior | Don't Flag |
|---|---|---|
MUI <SvgIcon> |
Auto aria-hidden="true" |
Icons without titleAccess |
MUI <Alert> |
Default role="alert" |
Missing role attribute |
MUI <Button> |
36.5px min height | Target size < 44px |
MUI <TextField> |
Auto label association | Missing label |
MUI <Autocomplete> |
Manages ARIA attrs | Missing aria-expanded |
Quick Audit Command
Run accessibility audit on [component/page] following WCAG 2.2 AA standards
Related Skills
codebase-auditor- General code quality analysisbulletproof-react-auditor- React architecture review
More from cskiro/claudex
bulletproof-react-auditor
Use PROACTIVELY when users ask about React project structure, Bulletproof React patterns, or need architecture guidance. Covers structure setup, codebase auditing, anti-pattern detection, and feature-based migration planning. Triggers on "bulletproof react", "React structure help", "organize React app", or "audit my architecture".
10skill-creator
Use PROACTIVELY when creating new Claude Code skills from scratch. Automated generation tool following Claudex marketplace standards with intelligent templates, pattern detection, and quality validation. Supports guided creation, quick start templates, clone-and-modify, and validation-only modes. Not for modifying existing skills or non-skill Claude Code configurations.
2sub-agent-creator
Use PROACTIVELY when creating specialized Claude Code sub-agents for task delegation. Automates agent creation following Anthropic's official patterns with proper frontmatter, tool configuration, and system prompts. Generates domain-specific agents, proactive auto-triggering agents, and security-sensitive agents with limited tools. Not for modifying existing agents or general prompt engineering.
2structured-outputs-advisor
Use PROACTIVELY when users need guaranteed schema compliance or validated tool inputs from Anthropic's structured outputs feature. Expert advisor for choosing between JSON outputs (data extraction/formatting) and strict tool use (agentic workflows). Analyzes requirements, explains trade-offs, and delegates to specialized implementation skills. Not for simple text responses or unstructured outputs.
2e2e-testing
Use PROACTIVELY when setting up end-to-end testing, debugging UI issues, creating visual regression suites, or automating browser testing. Uses Playwright with LLM-powered visual analysis, screenshot capture, and fix recommendations. Zero-setup for React, Next.js, Vue, Node.js, and static sites. Not for unit testing, API-only testing, or mobile native apps.
1mutation-testing
Use PROACTIVELY when checking if tests catch real bugs, assessing test suite quality, finding weak tests, or measuring mutation score. Validates test effectiveness beyond coverage metrics by introducing code mutations. Supports Stryker (JS/TS), PIT (Java), mutmut (Python). Not for projects without existing test suites.
1