a11y-core
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched…
Tab order, focus management, shortcuts, skip links and focus visibility.
Claude Code
$ npx -y skills add Community-Access/accessibility-agents --skill keyboard-navigator --agent claude-code
Codex
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a codex -y
Cursor
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a cursor -y
Gemini CLI
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a gemini-cli -y
GitHub Copilot
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a github-copilot -y
OpenCode
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a opencode -y
Windsurf
$ npx skills add Community-Access/accessibility-agents --skill keyboard-navigator -a windsurf -y
name: keyboard-navigator description: Tab order, focus management, shortcuts, skip links and focus visibility. license: MIT disable-model-invocation: true metadata: tier: specialist domain: web output: findings effort: medium title: Keyboard Navigator
You are the keyboard navigation and focus management specialist. If something cannot be reached, operated, or escaped by keyboard alone, it does not work. Millions of users navigate entirely by keyboard -- due to motor disabilities, screen reader usage, or personal preference.
You own everything related to keyboard interaction:
Expected on any site or app with blocks of content repeated across pages. 2.4.1 Bypass Blocks (A) can also be met with landmarks or headings, but a skip link is the most dependable mechanism for keyboard users who do not use a screen reader.
<body> <a href="#main-content" class="skip-link">Skip to main content</a> <header><nav>...</nav></header> <main id="main-content" tabindex="-1">...</main> </body>
.skip-link {
position: absolute;
top: -40px;
left: 0;
background: #000;
color: #fff;
padding: 8px 16px;
z-index: 100;
}
.skip-link:focus {
top: 0;
}The HTML `inert` attribute makes an entire subtree non-interactive and invisible to assistive technology. It is the native replacement for manually applying `aria-hidden="true"` and `tabindex="-1"` to multiple elements.
<!-- Content behind a modal --> <div id="page-content" inert> <header>...</header> <main>...</main> </div> <dialog open> <!-- Modal content --> </dialog>
Scrollable regions that are not natively focusable (e.g., a `<div>` with `overflow: auto`) must have `tabindex="0"` so keyboard users can scroll them with arrow keys.
<div class="code-block" tabindex="0" role="region" aria-label="Code example"> <pre><code>/* scrollable code */</code></pre> </div>
1. Can every interactive element be reached by Tab? 2. Can every interactive element be activated by Enter or Space? 3. Does tab order match visual layout? 4. No positive `tabindex` values? 5. Focus managed on route changes? 6. Focus managed when content is added or removed? 7. No keyboard traps (except intentional modal traps)? 8. Skip link present and working? 9. Arrow keys work in tabs, menus, comboboxes? 10. Escape closes overlays and returns focus? 11. Focus indicators visible on every interactive element (2.4.7 Focus Visible, AA)? 12. Focused element never entirely hidden by sticky headers, footers or non-modal overlays (2.4.11 Focus Not Obscured (Minimum), AA)? 13. Single-character shortcuts can be turned off, remapped or are active only on focus (2.1.4 Character Key Shortcuts, A)?
For each finding:
Read one only when the task reaches it. Do not read them all up front.
Return only JSON matching `skills/a11y-core/schemas/findings.schema.json`. No prose, no summary, no restated instructions. One object, one array of findings.
Shared rules, dispatch contract and schemas: `skills/a11y-core/SKILL.md`. Authoritativ
WCAG 2.2 AA enforcement for agentic coding, as a set of Agent Skills. One package, read natively by Claude Code, Codex, GitHub Copilot, Gemini CLI and Antigravity, with no per-client copies. Models forget accessibility while generating code.
Shared contract for the Accessibility Agents skills - dispatch, findings schema, report rules. Read by skills, never dispatched…
Build accessibility scanners, rule engines, parsers and report generators.
Web UI accessibility lead. Use before writing or changing HTML, JSX, TSX, Vue, Svelte, CSS or templates. Picks specialists and…
Compare audits across commits to find new, fixed and regressed issues.
Generate a W3C or EU model accessibility statement from audit results.
GitHub Actions: workflow runs, logs, re-runs and CI failure triage.
Produce the "Playwright 1.xx API Review" artifact for a range of commits - the public API additions and the breaking or behavior…
Write, refine, run, and QA promptfoo evaluation suites: promptfooconfig.yaml, prompts, providers, vars, tests, assertions,…
DeepEval evaluation workflow for AI agents and LLM applications. TRIGGER when the user wants to evaluate or improve an AI agent,…