From frontend-dev
Audit React components for WCAG 2.1 AA compliance — semantic HTML, ARIA, keyboard nav, color contrast
npx claudepluginhub silviaare95/xari-plugins --plugin frontend-devThis skill uses the workspace's default tool permissions.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Audit accessibility for: $0
WCAG level: $1 (default: AA)
Semantic HTML audit:
div soup → replace with nav, main, section, article, aside, header, footerdiv with click handler → should be button or aspan acting as heading → should be h1-h6 with proper hierarchyul/ol + litable with th, scope, captionARIA audit:
aria-label or aria-labelledbyaria-live regionsaria-expandedrole="dialog", aria-modal="true", focus traprole="button" on a <button>)Keyboard navigation:
tabIndex values)outline-none without replacement)Color and contrast:
Images and media:
img tags have alt text (or alt="" for decorative)Forms:
label (not just placeholder)aria-describedby)## Accessibility Audit: <target>
### WCAG <level> Compliance
| Criterion | Status | Issues |
|-----------|--------|--------|
| 1.1.1 Non-text Content | Pass/Fail | <details> |
| 1.3.1 Info and Relationships | Pass/Fail | <details> |
| 2.1.1 Keyboard | Pass/Fail | <details> |
| 2.4.7 Focus Visible | Pass/Fail | <details> |
| 4.1.2 Name, Role, Value | Pass/Fail | <details> |
### Critical Issues (must fix)
1. **<file:line>**: <issue + fix>
### Warnings (should fix)
1. **<file:line>**: <issue + recommendation>
### Automated Testing Recommendations
- Add `eslint-plugin-jsx-a11y` to lint config
- Run `axe-core` in integration tests
alt=""