orbit-accessibilitylisted
Install: claude install-skill adityaarsharma/orbit
# 🪐 orbit-accessibility — WCAG 2.2 AA audit
Two layers: **automated** (axe-core via Playwright) + **code review** (the 70% axe can't catch).
---
## Quick start
```bash
# Automated scan on every visual URL
WP_TEST_URL=http://localhost:8881 \
npx playwright test --project=a11y
# Plus code-review pass via Claude
claude "/orbit-accessibility Audit ~/plugins/my-plugin admin UI + frontend output for WCAG 2.2 AA. Output markdown."
```
Runs automatically as part of `/orbit-gauntlet --mode full` (Step 11 — accessibility-compliance audit).
---
## What axe-core catches (the 30%)
- Missing `alt` on `<img>`
- Form inputs without `<label>`
- Insufficient colour contrast (text vs background)
- Missing `lang` on `<html>`
- Empty buttons / links
- Duplicate IDs
- Heading order skipped (h1 → h3)
---
## What this skill catches (the 70%)
### Keyboard navigation
- ❌ Tab order doesn't follow visual order
- ❌ Focus disappears (`outline: none` without alternative)
- ❌ Modal opens but focus stays on the trigger button
- ❌ Modal closes but focus doesn't return to the trigger
- ❌ Custom dropdown not reachable by keyboard (uses `mousedown` only)
- ❌ Date picker / colour picker / range slider with no keyboard support
### Screen reader (ARIA)
- ❌ `<div role="button">` without `tabindex="0"` and key handlers
- ❌ Toast / notice appears but no `aria-live` region
- ❌ Form error appears but no `aria-describedby` link
- ❌ Loading spinner with no `aria-busy="true"`
- ❌ Toggle button switches stat