Skip to content
AI & Agents
Skill

/a11y-audit

Use for any accessibility audit or a11y fix (WCAG 2.2 A/AA, color contrast, compliance report, CI check) in React, Next.js, Vue, Angular, Svelte or HTML. Scans with a11y_scanner.py and checks contrast with contrast_checker.py, then fixes and re-verifies.

From plugin
claude-skills
30k200 skills127 agents169 commands2 MCP

Claude Code

$ npx -y skills add alirezarezvani/claude-skills --skill a11y-audit --agent claude-code

SKILL.md

a11y-audit.SKILL.md
name: "a11y-audit"
description: "Use for any accessibility audit or a11y fix (WCAG 2.2 A/AA, color contrast, compliance report, CI check) in React, Next.js, Vue, Angular, Svelte or HTML. Scans with a11y_scanner.py and checks contrast with contrast_checker.py, then fixes and re-verifies."

Accessibility Audit

WCAG 2.2 Accessibility Audit and Remediation Skill

Description

The a11y-audit skill provides a complete accessibility audit pipeline for modern web applications. It implements a three-phase workflow -- Scan, Fix, Verify -- that identifies WCAG 2.2 Level A and AA violations, generates exact fix code per framework, and produces stakeholder-ready compliance reports.

For every violation it finds, it provides the precise before/after code fix tailored to your framework (React, Next.js, Vue, Angular, Svelte, or plain HTML).

**What this skill does:**

1. **Scans** your codebase for every WCAG 2.2 Level A and AA violation, categorized by severity (Critical, Major, Minor) 2. **Fixes** each violation with framework-specific before/after code patterns 3. **Verifies** that fixes resolve the original violations and introduces no regressions 4. **Reports** findings in a structured format suitable for developers, PMs, and compliance stakeholders 5. **Integrates** into CI/CD pipelines to prevent accessibility regressions

Features

| Feature | Description | |---------|-------------| | **Full WCAG 2.2 Scan** | Checks all Level A and AA success criteria across your codebase | | **Framework Detection** | Auto-detects React, Next.js, Vue, Angular, Svelte, or plain HTML | | **Severity Classification** | Categorizes each violation as Critical, Major, or Minor | | **Fix Code Generation** | Produces before/after code diffs for every issue | | **Color Contrast Checker** | Validates foreground/background pairs against AA and AAA ratios | | **Compliance Reporting** | Generates stakeholder reports with pass/fail summaries | | **CI/CD Integration** | GitHub Actions, GitLab CI, Azure DevOps pipeline configs | | **Keyboard Navigation Audit** | Detects missing focus management and tab order issues | | **ARIA Validation** | Checks for incorrect, redundant, or missing ARIA attributes |

Severity Definitions

| Severity | Definition | Example | SLA | |----------|-----------|---------|-----| | **Critical** | Blocks access for entire user groups | Missing alt text, no keyboard access to navigation | Fix before release | | **Major** | Significant barrier that degrades experience | Insufficient color contrast, missing form labels | Fix within current sprint | | **Minor** | Usability issue that causes friction | Redundant ARIA roles, suboptimal heading hierarchy | Fix within next 2 sprints |

Usage

Quick Start

# Scan entire project
python scripts/a11y_scanner.py /path/to/project

# Scan with JSON output for tooling
python scripts/a11y_scanner.py /path/to/project --json

# Check color contrast for specific values
python scripts/contrast_checker.py --fg "#777777" --bg "#ffffff"

# Check contrast across a CSS/Tailwind file
python scripts/contrast_checker.py --file /path/to/styles.css

Slash Command

/a11y-audit                    # Audit current project
/a11y-audit --scope src/       # Audit specific directory
/a11y-audit --fix              # Audit and auto-apply fixes
/a11y-audit --report           # Generate stakeholder report
/a11y-audit --ci               # Output CI-compatible results

Three-Phase Workflow

**Phase 1: Scan** -- Walk the source tree, detect framework, apply rule set.

python scripts/a11y_scanner.py /path/to/project --format table

**Phase 2: Fix** -- Apply framework-specific fixes for each violation.

> See [references/framework-a11y-patterns.md](references/framework-a11y-patterns.md) for the complete fix patterns catalog.

**Phase 3: Verify** -- Re-run the scanner to confirm fixes and check for regressions.

python scripts/a11y_scanner.py /path/to/project --baseline audit-baseline.json

Example: React Component Audit

// BEFORE: src/components/ProductCard.tsx
function ProductCard({ product }) {
  return (
    <div onClick={() => navigate(`/product/${product.id}`)}>
      <img src={product.image} />
      <div style={{ color: '#aaa', fontSize: '12px' }}>{product.name}</div>
      <span style={{ color: '#999' }}>${product.price}</span>
    </div>
  );
}

| # | WCAG | Severity | Issue | |---|------|----------|-------| | 1 | 1.1.1 | Critical | `<img>` missing `alt` attribute | | 2 | 2.1.1 | Critical | `<div onClick>` not keyboard accessible | | 3 | 1.4.3 | Major | Color `#aaa` on white fails contrast (2.32:1, needs 4.5:1) | | 4 | 1.4.3 | Major | Color `#999` on white fails contrast (2.85:1, needs 4.5:1) | | 5 | 4.1.2 | Major | Interactive element missing role and accessible name |

// AFTER: src/components/ProductCard.tsx
function ProductCard({ product }) {
  return (
    <a href={`/product/${product.id}`} className="product-card"
       aria-label={`View ${product.name} - $${product.price}`}>
      <img src={product.image} alt={product.imageAlt || product.name} />
      <div style={{ color: '#595959', fontSize: '12px' }}>{product.name}</div>
      <span style={{ color: '#767676' }}>${product.price}</span>
    </a>
  );
}

> See [references/examples-by-framework.md](references/examples-by-framework.md) for Vue, Angular, Next.js, and Svelte examples.

Tools Reference

a11y_scanner.py

Usage: python scripts/a11y_scanner.py <path> [options]

Options:
  --json                  Output results as JSON
  --format {table,csv}    Output format (default: table)
  --severity {critical,major,minor}  Filter by minimum severity
  --framework {react,vue,angular,svelte,html,auto}  Force framework (default: auto)
  --baseline FILE         Compare against previous scan results
  --report                Generate stakeholder report
  --output FILE           Write results to file
  --quiet                 Sup
Read more
@alirezarezvani
Ships withclaude-skills

411 production-ready skills for Claude Code and 12 other coding agents, covering engineering, product, marketing, compliance, finance and the C-suite. We test whether each skill loads when you ask in plain words, and publish the results.

30k200 skills127 agents2 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
29.6k
Star history of alirezarezvani/claude-skills on GitHub, a chart by star-history.com

Other skills on claude-skills.

interview

interview

Use when someone has an agent idea to scope before launch ('help me scope an agent'). Interviews them about the one job and…

More skills from other plugins.

1password

1password

Set up and use 1Password CLI for sign-in, desktop integration, and reading or injecting secrets.

openclaw11d393k
@openclaw@openclawInstall Skill

Questions about a11y-audit.

Which coding agents can use a11y-audit?
a11y-audit installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.