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> or npx 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. Esc closes 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 use th with scope.
Installs
1
First Seen
Today