agentsclimarketplace

Accessibility audit

Skill krzemienski/deepest-plan-plugin/skills/accessibility-audit

WCAG 2.1 AA audit via axe-core, keyboard-navigation probe, and screen-reader label verification. Required for any UI plan that ships or modifies a user-visible surface. Optional skill listed in deepest-plan tool_enrichment when in scope.From its SKILL.md

Install
npx -y skills add krzemienski/deepest-plan-plugin --skill accessibility-audit

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

3.8 KB, as published. Nobody here has run it

Accessibility Audit

Scope

Evaluates keyboard accessibility, screen-reader semantics, color contrast, and common WCAG 2.1 AA rules for web and native UIs. Optional — include in a plan when a UI surface is created or modified AND accessibility compliance is required.

Audit Dimensions

Automated (axe-core)

npx @axe-core/cli http://localhost:3000/target-route \
  --save e2e-evidence/vgN-axe.json \
  --tags wcag2a,wcag2aa

PASS criterion: [.violations[] | select(.impact=="serious" or .impact=="critical")] | length == 0

Keyboard navigation

  • Tab through the page — focus visible at every stop?
  • All interactive elements reachable without a mouse?
  • Focus order matches visual order?
  • Skip-to-content link present and functional?

Screen-reader semantics

  • Every form field has an associated <label> or aria-label
  • Every icon-only button has aria-label
  • Heading hierarchy is sequential (no jumps from h1 to h4)
  • Landmarks present: <header>, <main>, <nav>, <footer>
  • Live regions use aria-live where dynamic updates occur

Color contrast

  • Text meets 4.5:1 for normal, 3:1 for large (≥18pt or ≥14pt bold)
  • UI controls meet 3:1 against adjacent colors
  • Focus indicators visible (≥3:1 contrast against background)

Evidence Capture

DimensionToolFile
axe-core@axe-core/clie2e-evidence/vgN-axe.json
KeyboardManual sequence via agent-browsere2e-evidence/vgN-keyboard.md (text trace + screenshots per stop)
Screen readerVoiceOver / NVDA announcement transcripte2e-evidence/vgN-sr-transcript.md
ContrastBrowser DevTools or axe-core output (included)e2e-evidence/vgN-axe.json

Gate Integration

Accessibility gates use web-validation as the base platform skill with this additional PASS rule:

<validation_gate id="VG-N" blocking="true" platform="web"
                 protocol="functional-validation"
                 platform_skill="web-validation"
                 verdict_by="gate-validation-discipline">
  ...
  <pass_criteria>
    [normal UI criteria]
    AND axe violations with impact in (serious, critical) == 0
    AND every interactive element reachable via Tab (see vgN-keyboard.md)
    AND heading hierarchy sequential (no h1 → h4 skips)
  </pass_criteria>
  <review>
    jq -e '[.violations[] | select(.impact=="serious" or .impact=="critical")] | length == 0' e2e-evidence/vgN-axe.json
    Read tool: vgN-keyboard.md — verify Tab trace reaches every control
  </review>
</validation_gate>

Common Failures

FindingTypical causeFix
color-contrast violationGray-on-white textDarken text or use bolder weight
label missingInput without <label> or aria-labelAdd label; use htmlFor
button-name missingIcon button with no textAdd aria-label or sr-only text
heading-orderh1 followed by h4Fix heading levels to be sequential
no-skip-linkMissing "Skip to main content"Add skip link as first focusable element

Rules

  1. Run axe-core in every gate that touches UI
  2. Walk Tab order manually — axe cannot verify focus flow
  3. Verify screen-reader announcements on critical flows (login, form submit)
  4. Zero-tolerance on serious + critical violations
  5. Document intentional AA-non-compliance in <open_questions> with rationale

Security Policy

Axe reports may include source HTML snippets. Treat as evidence; store in gitignored e2e-evidence/.

Keep looking

Skills are one crate of 627,801. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.