a11y — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited a11y (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Accessibility for interactive UI means the component exposes the same operable structure to keyboard users and assistive technology that sighted pointer users see visually. The skill checks whether the implementation chose semantic primitives, preserved keyboard operation, controlled focus, provided programmatic names and descriptions, announced dynamic state, and respected user preferences.
Accessible interaction is structural, not cosmetic. It is decided by the primitive you picked, the focus order you wrote, and the label that ships or doesn't — not by the audit that runs after. Teams that treat accessibility as a finishing pass pay for it twice: once in remediation work that was cheaper to avoid, and again when assistive-technology users hit the failure and bounce. The correct default is to build with those users in scope from the first commit, not after the first lawsuit.
The single highest-leverage accessibility decision is picking the right HTML primitive before styling. A wrong primitive cannot be rescued by ARIA; the right primitive usually needs no ARIA at all.
| User intent | Correct primitive | Wrong primitives (common mistakes) |
|---|---|---|
| Trigger an action on the same page | <button type="button"> | <a href="#">, <div onclick>, <span role="button"> |
| Navigate to a different URL | <a href="…"> | <button onclick=navigate>, <div onclick> |
| Group related form controls | <fieldset> + <legend> | <div> with a heading above it |
| Label a form control | <label for="…"> (or wrapping <label>) | <div> text next to the input, placeholder only |
| Show a collapsible section | <details> + <summary> | <div> with JS toggle and no ARIA |
| Present tabular data | <table> + <th scope="…"> | <div> grid, CSS grid with no semantic role |
| Announce a status change | <output> or role="status" live region | Toast that only renders visually |
| Interactive widget not covered above | Native element + tested keyboard + ARIA pattern | Custom <div> with ad-hoc role and handlers |
Only when no native primitive fits the interaction, and only when you also ship the keyboard behavior that matches the role. Adding role="button" to a <div> without Enter/Space handlers is worse than either the correct <button> or the untyped <div> alone.
This skill ships a comprehension-eval artifact at examples/evals/a11y.json. The Verification checklist below is the authoring gate for a new interactive component; the eval file is how this skill is graded by scripts/skill-audit.js --graded. Do not conflate them — the checklist is for implementers, the eval is for the grader.
| Use instead | When |
|---|---|
documentation | The task is prose structure or reading-level clarity, not interaction accessibility |
refactor | The task is behavior-preserving code cleanup — refactoring does not change what assistive tech perceives |
<!-- skill-graph-context:start (generated — do not edit by hand) -->
Classification
quality-assurancetruequality/accessibilityWhen to use
a11y-skillNot for
Related skills
testing-strategy, interaction-feedback, visual-design-foundationsinteraction-patterns, form-ux-architecture, interaction-feedback, design-system-architecture, refactor, diagnosis, linguistics, visual-design-foundationsConcept
Keywords
screen reader, announce, validation state, form labels, assistive tech, ARIA roles, keyboard support, arrow key, navigation, focus return<!-- skill-graph-context:end -->
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.