Agent skill

Scanning Accessibility

by jeremylongshore in jeremylongshore/tons-of-skills-marketplace

Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation).

MITAuto-check passedFrontend & Design

Install Scanning Accessibility

skills CLI
$ npx skills add jeremylongshore/tons-of-skills-marketplace --skill scanning-accessibility -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jeremylongshore/tons-of-skills-marketplace scanning-accessibility --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jeremylongshore/tons-of-skills-marketplace.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/.curated/scanning-accessibility .claude/skills/scanning-accessibility && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
scanning-accessibility
GitHub stars
2.8k
Token cost
~1.6k tokens
SKILL.md length
545 words
Files
6 (incl. scripts, references, assets)
Skills in repo
3,342
Repo updated
First seen
Licence
MIT

At a glance

Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation).

  • Works in 7 steps: Configure the accessibility scanner with… → Run automated accessibility scans on… → Validate keyboard navigation → …
  • Auditing WCAG compliance
  • SKILL.md covers Overview, Prerequisites, Instructions and Output, plus 3 more sections
  • Screen reader compatibility

What it does

Scanning Accessibility is an agent skill from jeremylongshore/tons-of-skills-marketplace. Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation). Use when auditing WCAG compliance or screen reader compatibility. Trigger with phrases like "scan accessibility", "check WCAG compliance", or "validate screen readers".

Its SKILL.md is about 1.6k tokens, which your agent loads only when the skill is triggered. The skill folder holds 8 other files, including scripts, reference files and assets (for example `assets/README.md`, `assets/example_scan_results.json` and `assets/report_template.md`). Compatibility notes: Designed for Claude Code

It sits in Frontend & Design, covering Accessibility. It works with Playwright. The repository describes itself as: Model-agnostic agent-skills platform with a harness-free canonical layer, verified adapters, and the ccpi package manager. Explore at tonsofskills.com. The licence is MIT.

When your agent uses it

  • Auditing WCAG compliance
  • Screen reader compatibility
  • With phrases like scan accessibility
  • Check WCAG compliance

Example prompts

  • “scan accessibility”
  • “check WCAG compliance”
  • “validate screen readers”
  • “/scanning-accessibility”

Requirements

  • Compatibility (from SKILL.md): Designed for Claude Code
  • Pre-approved tools (allowed-tools): Read, Write, Edit, Grep, Glob, Bash(test:a11y-*)

Workflow steps

7 steps, taken from the first numbered list in SKILL.md.

  1. Configure the accessibility scanner with the target WCAG level
  2. Run automated accessibility scans on each page
  3. Validate keyboard navigation
  4. Validate ARIA implementation
  5. Check color and visual accessibility
  6. Validate form accessibility
  7. Generate a compliance report with WCAG success criteria references for each finding.

What it can do on your machine

Read from SKILL.md and the folder at commit cfae287. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Read
    • Write
    • Edit
    • Grep
    • Glob
    • Bash(test:a11y-*)

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 1 file in scripts/, which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • w3.org
    • github.com
    • pa11y.org
    • developer.chrome.com
    • webaim.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

  • Compatibility

    Designed for Claude Code

    From compatibility in the SKILL.md frontmatter.

Context cost

Scanning Accessibility loads about 1.6k tokens when it runs, and up to ~1.6k if it reads all its reference files. Until then it costs about 68 tokens; SKILL.md has 545 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~68
When it runs · the whole SKILL.md, loaded when a task matches
~1.6k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~1.6k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from jeremylongshore/tons-of-skills-marketplace at commit cfae287, republished under its MIT licence (© jeremylongshore). 545 words, ~1,586 tokens.

Download SKILL.mdSave it as .claude/skills/scanning-accessibility/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
scanning-accessibility
description
Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation). Use when auditing WCAG compliance or screen reader compatibility. Trigger with phrases like "scan accessibility", "check WCAG compliance", or "validate screen readers".
allowed-tools
Read, Write, Edit, Grep, Glob, Bash(test:a11y-*)
compatibility
Designed for Claude Code
version
1.23.0
author
Jeremy Longshore <jeremy@intentsolutions.io>
license
MIT
tags
testing, compliance, audit

Accessibility Test Scanner

Overview

Validate web applications against WCAG 2.1/2.2 accessibility standards covering perceivability, operability, understandability, and robustness. Combines automated scanning with axe-core, Pa11y, and Lighthouse accessibility audits alongside manual validation checklists for keyboard navigation, screen reader compatibility, and color contrast.

Prerequisites

  • Accessibility testing library installed (axe-core, @axe-core/playwright, Pa11y, or Lighthouse CI)
  • Browser automation tool (Playwright or Puppeteer) for rendering pages
  • Application running and accessible at a test URL
  • Target WCAG conformance level defined (A, AA, or AAA -- AA is standard)
  • Color contrast analyzer (built into axe-core or standalone tool)

Instructions

  1. Configure the accessibility scanner with the target WCAG level:
    • Set axe-core rules to WCAG 2.1 AA (or 2.2 AA for latest standard).
    • Include rules for ARIA attributes, color contrast, form labels, and heading structure.
    • Define pages and components to scan (homepage, forms, modals, navigation).
  2. Run automated accessibility scans on each page:
    • Use @axe-core/playwright to scan after page load.
    • Run Pa11y for HTML-level validation.
    • Execute Lighthouse accessibility audit for a score and detailed findings.
    • Scan each major interactive state (modal open, dropdown expanded, error state).
  3. Validate keyboard navigation:
    • Verify all interactive elements are reachable via Tab key in logical order.
    • Confirm focus indicators are visible on every focusable element.
    • Test Escape key closes modals and dropdowns.
    • Verify skip-to-content link is present and functional.
    • Check that focus is trapped within open modals (no focus escape).
  4. Validate ARIA implementation:
    • Check all ARIA roles match the element's purpose (role="button" on clickable divs).
    • Verify aria-label or aria-labelledby on elements without visible text.
    • Confirm aria-live regions announce dynamic content changes.
    • Validate aria-expanded, aria-selected, and aria-checked states toggle correctly.
  5. Check color and visual accessibility:
    • Verify text contrast ratio meets WCAG AA (4.5:1 for normal text, 3:1 for large text).
    • Ensure information is not conveyed by color alone (use icons, patterns, or text labels).
    • Test with simulated color blindness filters (protanopia, deuteranopia, tritanopia).
  6. Validate form accessibility:
    • Every input has an associated <label> with matching for/id.
    • Error messages are announced via aria-describedby and aria-invalid.
    • Required fields are indicated with aria-required="true" and visual indicators.
  7. Generate a compliance report with WCAG success criteria references for each finding.
Show full SKILL.md (191 more words)Show less

Output

  • Accessibility scan results with violations, passes, and incomplete checks
  • WCAG compliance matrix showing pass/fail per success criterion
  • Remediation checklist with code fixes for each violation
  • Keyboard navigation test results
  • Lighthouse accessibility score and improvement recommendations

Error Handling

ErrorCauseSolution
axe-core reports no violations but page is inaccessibleAutomated tools catch ~30-40% of issues; manual testing neededSupplement automated scans with keyboard and screen reader manual testing
Color contrast violation on dynamic themeTheme colors computed at runtime not captured by static scanRun scans with each theme active (light/dark); test with high-contrast mode
False positive on hidden contentScanner checks elements that are visually hidden but present in DOMUse axe.configure({ rules: [{ id: 'rule-id', selector: ':visible' }] })
ARIA role conflictsMultiple conflicting ARIA attributes on same elementRemove redundant roles; follow WAI-ARIA authoring practices for the component pattern
Focus order incorrect after dynamic contentDOM insertion order differs from visual orderUse tabindex to correct order; restructure DOM to match visual layout

Examples

Playwright + axe-core accessibility test:

typescript
import { test, expect } from '@playwright/test';
import AxeBuilder from '@axe-core/playwright';

test('homepage meets WCAG AA', async ({ page }) => {
  await page.goto('/');
  const results = await new AxeBuilder({ page })
    .withTags(['wcag2a', 'wcag2aa', 'wcag21aa'])
    .analyze();
  expect(results.violations).toEqual([]);
});

test('login form is keyboard accessible', async ({ page }) => {
  await page.goto('/login');
  await page.keyboard.press('Tab');
  const focused = await page.evaluate(() => document.activeElement?.getAttribute('data-testid'));
  expect(focused).toBe('email-input');
  await page.keyboard.press('Tab');
  const nextFocused = await page.evaluate(() => document.activeElement?.getAttribute('data-testid'));
  expect(nextFocused).toBe('password-input');
});

Pa11y CI configuration:

json
{
  "defaults": {
    "standard": "WCAG2AA",
    "timeout": 10000,  # 10000: 10 seconds in ms
    "wait": 1000  # 1000: 1 second in ms
  },
  "urls": [
    "http://localhost:3000/",  # 3000: 3 seconds in ms
    "http://localhost:3000/login",  # 3 seconds in ms
    "http://localhost:3000/dashboard",  # 3 seconds in ms
    { "url": "http://localhost:3000/settings", "actions": ["click element #tab-profile"] }
  ]
}

Resources

© jeremylongshore, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references, assets) in skills/.curated/scanning-accessibility of jeremylongshore/tons-of-skills-marketplace.

  • SKILL.md
  • assets/README.md
  • assets/example_scan_results.json
  • assets/report_template.md
  • references/README.md
  • scripts/README.md

Open the folder on GitHubat commit cfae287

Compare with similar skills

Scanning Accessibility next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Scanning Accessibility compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Scanning Accessibility this skilljeremylongshore/tons-of-skills-marketplace2.8k—~1.6kAutomated safety check: PassMIT
Ibm A11y Route Scanlangflow-ai/langflow155k—~1.6kAutomated safety check: PassMIT
Ibm A11y Testing Guidelangflow-ai/langflow155k—~4.6kAutomated safety check: PassMIT
Control UIcursor/plugins11k2 repos~1.2kAutomated safety check: PassNone
Scout UI Testingelastic/kibana21k—~3.1kAutomated safety check: PassCustom licence
Accessibility Testingpetrkindlmann/qa-skills170—~4.5kAutomated safety check: PassMIT

Similar skills

  • Ibm A11y Route Scan

    langflow-ai/langflow

    Batch-scan Langflow frontend routes for accessibility issues using the Python IBM Equal Access scanner (scripts/a11y/a11yscan.py) and produce JSON/Markdown/HTML reports.

    155k GitHub stars~1.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Ibm A11y Testing Guide

    langflow-ai/langflow

    Reference guide for writing and running Langflow frontend accessibility tests with axe (Jest) and IBM Equal Access (Playwright page.runA11yScan).

    155k GitHub stars~4.6k tokensUpdated yesterday
    Frontend & DesignAuto-check passed
  • Control UI

    cursor/plugins

    Official

    Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI.

    11k GitHub starsUsed in 2 repos~1.2k tokens
    Frontend & DesignAuto-check passed
  • Scout UI Testing

    elastic/kibana

    Official

    A skill your agent uses when creating, updating, debugging, or reviewing Scout UI tests in Kibana (Playwright + Scout fixtures), including page objects, browser authentication, parallel UI tests…

    21k GitHub stars~3.1k tokensUpdated today
    Frontend & DesignAuto-check passed
  • Accessibility Testing

    petrkindlmann/qa-skills

    Test for WCAG 2.2 AA compliance with axe-core + Playwright, keyboard navigation audits, screen reader testing, ARIA pattern validation, and legal compliance mapping (ADA, EAA, Section 508).

    170 GitHub stars~4.5k tokensUpdated 4 mo ago
    Frontend & DesignAuto-check passed
  • A11y Playwright Testing

    fugazi/test-automation-skills-agents

    Accessibility testing for web applications using Playwright (@playwright/test), TypeScript, and axe-core.

    249 GitHub stars~3.2k tokensUpdated 7 days ago
    Frontend & DesignAuto-check passed

More from jeremylongshore/tons-of-skills-marketplace

All 3,342 skills in this repo
  • Performing Security Code Review

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to conduct a security-focused code review using the security-agent plugin.

    2.8k GitHub starsUsed in 2 repos~1.3k tokens
    Auto-check: notes
  • Adapting Transfer Learning Models

    jeremylongshore/tons-of-skills-marketplace

    Build this skill automates the adaptation of pre-trained machine learning models using transfer learning techniques.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Agent Context Loader

    jeremylongshore/tons-of-skills-marketplace

    Execute proactive auto-loading: automatically detects and loads agents.md files.

    2.8k GitHub stars~1.1k tokensUpdated today
    Auto-check passed
  • Aggregating Performance Metrics

    jeremylongshore/tons-of-skills-marketplace

    Aggregate and centralize performance metrics from applications, systems, databases, caches, and services.

    2.8k GitHub stars~1.2k tokensUpdated today
    Auto-check passed
  • Analyzing Capacity Planning

    jeremylongshore/tons-of-skills-marketplace

    Execute this skill enables AI assistant to analyze capacity requirements and plan for future growth.

    2.8k GitHub stars~947 tokensUpdated today
    Auto-check passed
  • Analyzing Database Indexes

    jeremylongshore/tons-of-skills-marketplace

    Process use when you need to work with database indexing. An agent skill from jeremylongshore/tons-of-skills-marketplace.

    2.8k GitHub stars~2k tokensUpdated today
    Auto-check passed

Works with

Questions about Scanning Accessibility

What does Scanning Accessibility do?

Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation). Scanning Accessibility is an agent skill from jeremylongshore/tons-of-skills-marketplace. Validate WCAG compliance and accessibility standards (ARIA, keyboard navigation).

When should I use Scanning Accessibility?

Scanning Accessibility fits situations like: auditing WCAG compliance; screen reader compatibility; with phrases like scan accessibility; check WCAG compliance.

How do I install Scanning Accessibility in Claude Code?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill scanning-accessibility -a claude-code`. Or copy the skill folder (skills/.curated/scanning-accessibility in jeremylongshore/tons-of-skills-marketplace) into .claude/skills/scanning-accessibility in your project. Claude Code loads it when a task matches its description.

How do I install Scanning Accessibility in Codex?

Run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill scanning-accessibility -a codex`. Or copy the skill folder (skills/.curated/scanning-accessibility in jeremylongshore/tons-of-skills-marketplace) into .agents/skills/scanning-accessibility in your project. Codex loads it when a task matches its description.

Can I use Scanning Accessibility in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jeremylongshore/tons-of-skills-marketplace --skill scanning-accessibility -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/scanning-accessibility, .gemini/skills/scanning-accessibility, .github/skills/scanning-accessibility and .opencode/skills/scanning-accessibility in your project.

What does Scanning Accessibility need to run?

SKILL.md names no scripts, command-line tools or credentials: Scanning Accessibility is instructions for the agent only. Its frontmatter pre-approves these tools: Read, Write, Edit, Grep, Glob, Bash(test:a11y-*). Compatibility (from SKILL.md): Designed for Claude Code.

Does Scanning Accessibility access the network?

SKILL.md names 5 domains. As links in the text: w3.org, github.com, pa11y.org, developer.chrome.com and webaim.org. This is read from the text; nothing was executed.

Is Scanning Accessibility safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Scanning Accessibility use?

Scanning Accessibility is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Scanning Accessibility use?

About 1.6k tokens (SKILL.md is roughly 6.3k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 18 tokens, read only when the agent opens those files.

What are the alternatives to Scanning Accessibility?

Skills that share tags, products or a category with Scanning Accessibility: Ibm A11y Route Scan (langflow-ai/langflow, 155k stars), Ibm A11y Testing Guide (langflow-ai/langflow, 155k stars), Control UI (cursor/plugins, 11k stars) and Scout UI Testing (elastic/kibana, 21k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Scanning Accessibility?

jeremylongshore (a GitHub user) maintains it in jeremylongshore/tons-of-skills-marketplace, which has 2,827 GitHub stars. The repository holds 3,342 skills in this directory. The repository was last updated on October 10, 2026.

Source: jeremylongshore/tons-of-skills-marketplace on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.