a11y-audit
Installation
SKILL.md
Accessibility Audit
1. Automated pass (catches ~30–40%)
- Static HTML/build output:
python3 ../seo-setup/scripts/site_check.py <dist-or-out-dir-or-html-file>— reports missing alt, labels, lang, heading order, empty links/buttons. - Running site, if available:
npx @axe-core/cli <url>ornpx pa11y <url>. - Lint:
eslint-plugin-jsx-a11y(React) /eslint-plugin-vuejs-accessibility(Vue) — suggest adding if missing.
2. Manual checks (the important 60%)
Keyboard
- Tab through the whole page: every interactive element reachable, in a logical order, with a visible focus ring.
- No keyboard traps.
Esccloses modals/menus. Skip link to main content on content-heavy sites. - Clickable
div/span→ replace with<button>or<a href>. Links navigate, buttons act.
Semantics & structure
- One
<h1>; headings don't skip levels. Landmarks:header,nav,main,footer. <html lang="id">(or correct language).- Lists are
ul/ol; data tables usethwithscope.