.codex/skills/a11y-check/SKILL.md
Accessibility audit using axe-core. Checks WCAG 2.1 compliance, keyboard navigation, ARIA attributes, and color contrast.
npx skillsauth add astro44/Autonom8-Agents a11y-checkInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Runs accessibility checks using axe-core engine. Validates WCAG 2.1 AA compliance, keyboard navigation, ARIA usage, and color contrast.
{
"project_dir": "/path/to/project",
"url": "http://localhost:8080",
"pages": ["/", "/about", "/contact"],
"standard": "WCAG21AA",
"checks": ["aria", "color", "keyboard", "structure"]
}
const { AxePuppeteer } = require('@axe-core/puppeteer');
const results = await new AxePuppeteer(page)
.withTags(['wcag2a', 'wcag2aa', 'wcag21aa'])
.analyze();
ARIA:
Color Contrast:
Keyboard:
Structure:
| Impact | Description | WCAG Level | |--------|-------------|------------| | critical | Blocks users entirely | A | | serious | Major barriers | A/AA | | moderate | Difficult to use | AA | | minor | Annoyances | AAA |
{
"skill": "a11y-check",
"status": "pass|fail|warning",
"standard": "WCAG21AA",
"pages_tested": 3,
"summary": {
"critical": 0,
"serious": 2,
"moderate": 5,
"minor": 8
},
"violations": [
{
"id": "color-contrast",
"impact": "serious",
"description": "Elements must have sufficient color contrast",
"wcag": ["1.4.3"],
"nodes": [
{
"target": ".footer-link",
"html": "<a class=\"footer-link\">Privacy</a>",
"failureSummary": "Element has insufficient color contrast of 2.5:1 (foreground: #888, background: #333). Expected ratio of 4.5:1"
}
],
"fix": "Change text color to #bbb or darker background"
}
],
"passes": 45,
"incomplete": 3,
"errors": [],
"next_action": "proceed|fix"
}
| Criterion | Description | Level | |-----------|-------------|-------| | 1.1.1 | Non-text content has alt text | A | | 1.3.1 | Info and relationships | A | | 1.4.3 | Color contrast (4.5:1) | AA | | 2.1.1 | Keyboard accessible | A | | 2.4.1 | Bypass blocks (skip links) | A | | 2.4.4 | Link purpose | A | | 4.1.1 | Parsing (valid HTML) | A | | 4.1.2 | Name, role, value | A |
Any critical violations?
YES → status: "fail", next_action: "fix"
Any serious violations?
YES → status: "fail", next_action: "fix"
Only moderate/minor violations?
YES → status: "warning", next_action: "proceed"
No violations?
YES → status: "pass", next_action: "proceed"
Full accessibility audit:
{
"project_dir": "/projects/oxygen_site",
"url": "http://localhost:8080",
"pages": ["/", "/impact", "/about"],
"standard": "WCAG21AA",
"checks": ["aria", "color", "keyboard", "structure"]
}
Quick color contrast check:
{
"project_dir": "/projects/oxygen_site",
"url": "http://localhost:8080",
"pages": ["/"],
"standard": "WCAG21AA",
"checks": ["color"]
}
Keyboard navigation only:
{
"project_dir": "/projects/oxygen_site",
"url": "http://localhost:8080",
"pages": ["/"],
"checks": ["keyboard"]
}
development
Scores proposal complexity against codebase surface. Uses proposal text analysis and readiness stats to determine decomposition tier and agent count.
testing
Fast filesystem readiness scan — counts docs, source files, manifests, platform signals. Produces initial ReadinessReport for agent spawning decisions.
testing
Merges bookend agent reports into revised readiness, complexity, and decomposition plan. Produces the final evidence-backed assessment consumed by sprint-architect-agent.
development
Rigorously reasons about definitions, proofs, and computations in algebra, analysis, discrete math, probability, linear algebra, and applied math. Verifies derivations, spots invalid steps, and states assumptions clearly. Use when solving or proving math problems, reviewing mathematical arguments, modeling with equations, interpreting statistics, or when the user mentions proofs, lemmas, theorems, integrals, series, matrices, optimization, or numerical methods.