Skip to main content
ClaudeWave
ES, Spanish
Skill227 estrellas del repoactualizado 2mo ago

accessibility-testing

Audit web interfaces against WCAG 2.1 AA/AAA standards, identify violations, and produce actionable remediation reports with code fixes. Use when the user requests accessibility testing or provides relevant inputs for this workflow.

Instalar en Claude Code
Copiar
git clone --depth 1 https://github.com/seb1n/awesome-ai-agent-skills /tmp/accessibility-testing && cp -r /tmp/accessibility-testing/design-and-ui-ux/accessibility-testing ~/.claude/skills/accessibility-testing
Después abre una sesión nueva de Claude Code; el skill carga automáticamente.

SKILL.md

# Accessibility Testing

This skill enables the agent to perform thorough accessibility audits of web pages and components against the Web Content Accessibility Guidelines (WCAG) 2.1 at AA and AAA conformance levels. The agent identifies violations across four principles — Perceivable, Operable, Understandable, Robust — and generates structured compliance reports with specific code fixes. It covers automated checks (color contrast, missing alt text, ARIA misuse), semi-automated checks (keyboard navigation flows, focus management), and manual check guidance (screen reader announcements, cognitive load).

## Workflow

1. **Define Audit Scope and Conformance Target**: Determine which pages, components, or user flows to audit, and whether the target is WCAG 2.1 AA (most common legal requirement) or AAA (highest conformance). Identify the assistive technologies to consider: screen readers (NVDA on Windows, VoiceOver on macOS/iOS, TalkBack on Android), keyboard-only navigation, and magnification tools.

2. **Run Automated Scans**: Execute automated accessibility analysis using axe-core or Lighthouse. These tools detect approximately 30-40% of WCAG violations automatically, including missing alt attributes, insufficient color contrast ratios, missing form labels, duplicate IDs, invalid ARIA roles, and missing document language. Capture each violation with its WCAG criterion reference (e.g., 1.4.3 Contrast Minimum), severity (critical, serious, moderate, minor), the affected HTML element, and the CSS selector path.

3. **Perform Keyboard Navigation Testing**: Manually trace every interactive flow using only Tab, Shift+Tab, Enter, Space, Escape, and arrow keys. Verify that focus order matches visual order, that focus indicators are visible (minimum 2px outline with 3:1 contrast), that modal dialogs trap focus correctly, and that no keyboard traps exist. Document any flow where a keyboard user cannot complete a task that a mouse user can.

4. **Test with Screen Readers**: Navigate the page with at least one screen reader to verify that all content is announced correctly. Confirm that images have meaningful alt text (or `alt=""` for decorative images), that headings form a logical hierarchy (no skipped levels), that landmarks (`<nav>`, `<main>`, `<aside>`) are present, and that dynamic content updates are announced via `aria-live` regions.

5. **Generate the Compliance Report**: Produce a structured report organized by WCAG principle and criterion. For each violation, include: the criterion number and name, the severity level, the affected element's HTML snippet, an explanation of why it fails, and the specific code fix. Include a summary table with pass/fail counts per principle and an overall conformance statement.

6. **Provide Remediation Code**: For every violation, supply a concrete before-and-after code snippet showing the exact fix. Group fixes by component or page region so developers can address them systematically rather than one element at a time.

## Usage

Provide the agent with a URL, a block of HTML, or a React/Vue component. Specify the target conformance level (AA or AAA) and any assistive technology requirements. The agent will audit the content and return a structured report with code fixes.

## Examples

### Example 1: WCAG Compliance Audit Report

**User Request**: "Audit this login form for WCAG 2.1 AA compliance."

```html
<div class="login">
  <img src="logo.png">
  <input type="text" placeholder="Username">
  <input type="password" placeholder="Password">
  <div class="btn" onclick="login()">Sign In</div>
  <p style="color: #aaa; font-size: 12px;">Forgot your password?</p>
</div>
```

**Agent Response — Accessibility Audit Report**:

| # | Criterion | Severity | Element | Issue |
|---|-----------|----------|---------|-------|
| 1 | 1.1.1 Non-text Content | Critical | `<img src="logo.png">` | Image has no `alt` attribute. Screen readers cannot describe it. |
| 2 | 1.3.1 Info and Relationships | Critical | `<input placeholder="Username">` | Input has no associated `<label>`. Placeholder text is not a substitute for a label. |
| 3 | 1.3.1 Info and Relationships | Critical | `<input placeholder="Password">` | Same label issue as above. |
| 4 | 1.4.3 Contrast Minimum | Serious | `<p style="color: #aaa">` | Text color `#aaa` on white background has a contrast ratio of 2.32:1. AA requires 4.5:1 for text this size. |
| 5 | 2.1.1 Keyboard | Critical | `<div class="btn" onclick>` | A `<div>` is not focusable via keyboard. Users cannot Tab to or activate this button. |
| 6 | 4.1.2 Name, Role, Value | Critical | `<div class="btn" onclick>` | Element has no semantic role. Screen readers announce it as generic text, not as a button. |

**Remediation — Fixed Code**:

```html
<form class="login" onsubmit="login(event)">
  <img src="logo.png" alt="Acme Corp logo">

  <label for="username">Username</label>
  <input id="username" type="text" autocomplete="username" required>

  <label for="password">Password</label>
  <input id="password" type="password" autocomplete="current-password" required>

  <button type="submit" class="btn">Sign In</button>

  <a href="/forgot-password" style="color: #595959; font-size: 14px;">
    Forgot your password?
  </a>
</form>
```

Changes made: added `alt` to the image, replaced placeholder-only inputs with explicit `<label>` elements, replaced the `<div>` with a semantic `<button>`, changed the link color from `#aaa` (2.32:1) to `#595959` (7.0:1), wrapped the form in a `<form>` element for proper submit handling, and added `autocomplete` attributes.

### Example 2: Fixing a React Component

**User Request**: "Fix accessibility issues in this React notification component."

**Before (inaccessible)**:
```jsx
function Notification({ message, onClose }) {
  return (
    <div className="notification">
      <span>{message}</span>
      <span className="close-x" onClick={onClose}>✕</span>
    </div>
  );
}
```

**After (accessible)**:
```jsx
function Notificatio
agent-evaluationSkill

Design reproducible evaluations for AI agents with representative task sets, explicit rubrics, appropriate graders, baselines, regression gates, and failure analysis. Use when defining agent quality, comparing prompts or models, validating a release, measuring tool-use reliability, investigating regressions, or deciding whether an agent is ready for production.

agent-observabilitySkill

Design privacy-aware observability for AI agents using traces, spans, structured events, metrics, cost attribution, dashboards, alerts, and investigation workflows. Use when instrumenting an agent, debugging intermittent tool or model failures, defining service-level objectives, analyzing latency or spend, auditing agent decisions, or preparing production monitoring.

agent-red-teamingSkill

Plan, execute, document, and retest authorized security assessments of AI agents and multi-agent workflows using safe adversarial cases, synthetic identities, canaries, and evidence-based findings. Use when defining red-team rules of engagement, assessing prompt injection or excessive agency, testing tool and identity boundaries, evaluating memory or cross-agent attacks, scoring a campaign, or verifying remediation in an approved environment.

analytics-reportingSkill

Generate comprehensive marketing analytics reports by collecting KPIs, analyzing trends, and delivering actionable insights with attribution modeling and funnel analysis. Use when the user requests analytics reporting or provides relevant inputs for this workflow.

api-designSkill

Design RESTful APIs with proper resource modeling, HTTP method semantics, status codes, pagination, versioning, and documentation. Use when the user requests api design or provides relevant inputs for this workflow.

api-integrationSkill

Integrate with external APIs using REST clients, webhook consumers, SDK wrappers, and polling patterns with proper authentication, error handling, and retry logic. Use when the user requests api integration or provides relevant inputs for this workflow.

budget-planningSkill

Create and manage budgets with variance analysis and departmental allocation. Use when the user requests budget planning or provides relevant inputs for this workflow.

chatbot-conversation-designSkill

Design structured, engaging chatbot conversations with robust intent handling, slot filling, disambiguation, error recovery, and graceful fallback strategies. Use when the user requests chatbot conversation design or provides relevant inputs for this workflow.