agentleFS
rampstackcorampstackco/claude-skills-starter/skills/accessibility-audit/SKILL.md

accessibility-audit

Skill2 starsChanged 26 days agoMITView on GitHub

Run a comprehensive WCAG accessibility audit covering perceivable, operable, understandable, and robust principles. Use this skill whenever the user wants to audit accessibility, review WCAG compliance, fix accessibility issues, prepare for accessibility certification, address an accessibility lawsuit risk, or systematically improve a site's accessibility. Triggers on accessibility audit, WCAG audit, a11y audit, accessibility compliance, ADA compliance, screen reader test, keyboard navigation, accessibility report, fix accessibility, axe scan. Also triggers when accessibility issues have been reported and need systematic remediation.

We split this skill into the rules it gives an agent

13 rules. 0 are common, 10 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 42 edited versions we read keep these.

  • 10

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Run a thorough accessibility audit and produce a remediation plan.

    line 11
  2. Very specific:

    Text alternatives: All non-decorative images have descriptive alt text.

    line 53
  3. Distinctive:

    Keyboard accessible: All functionality available via keyboard alone.

    line 64
  4. Distinctive:

    Seizures and physical reactions: No content that flashes more than 3 times per second.

    line 66
  5. Distinctive:

    Run automated scanners across the priority pages.

    line 94
  6. Distinctive:

    No keyboard trap (focus can always leave)

    line 116
  7. Distinctive:

    Test with at least one real screen reader, or state the gap per the data-availability rule.

    line 122
  8. Distinctive:

    Verify the visual aspects of accessibility.

    line 140
  9. Distinctive:

    Run automated scans: Document findings per page.

    line 168
  10. Distinctive:

    Manual keyboard pass: Test all priority flows.

    line 169
  11. Distinctive:

    Screen reader pass: Test with at least one combination.

    line 170
  12. Very specific:

    Write the report: Use the template in references/audit-report-template.md.

    line 175
  13. Very specific:

    Default output is a comprehensive audit report at accessibility-audit.md.

    line 218

“Common” is measured: kept by at least 6 in 10 of the 42 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Accessibility Audit

Run a thorough accessibility audit and produce a remediation plan. Stack-agnostic. Anchored to WCAG 2.1 AA, with notes on AAA where relevant.

This skill goes deeper than the accessibility checks in qa-testing and design-standards. Use this when accessibility itself is the goal.


When to use

  • Pre-launch accessibility verification
  • Compliance preparation (ADA, EN 301 549, AODA, Section 508)
  • Remediation after an audit finding or complaint
  • Annual or quarterly accessibility health check
  • Onboarding accessibility into a team that hasn't prioritized it before

When NOT to use

  • General QA after deploys (use qa-testing)
  • Component-level accessibility implementation (use frontend-component-build)
  • Color contrast for design tokens (use design-standards or brand-identity)

Required inputs

  • The site or product under audit
  • The scope (full site, specific section, specific user flow)
  • The target standard (WCAG 2.1 AA is most common)
  • Any specific concerns or known issues
  • Tools available (automated scanners, screen readers, manual testing)

The framework: WCAG's 4 principles

WCAG organizes accessibility around four principles. The audit covers each in depth.

1. Perceivable

Information and UI must be presentable in ways users can perceive.

Audit checks:

  • Text alternatives. All non-decorative images have descriptive alt text. Decorative images use alt="". Complex images (charts, infographics) have long descriptions.
  • Time-based media. Videos have captions. Pre-recorded audio has transcripts. Live audio has live captions where required.
  • Adaptable. Content structure is conveyed through markup (semantic HTML), not just visual styling. Reading order makes sense when CSS is disabled.
  • Distinguishable. Color is not the sole means of conveying information. Text contrast meets AA (4.5:1 normal, 3:1 large). UI element contrast meets 3:1. Audio can be paused, stopped, or muted.

2. Operable

UI components and navigation must be operable.

Audit checks:

  • Keyboard accessible. All functionality available via keyboard alone. No keyboard traps. Focus visible.
  • Enough time. Time limits can be adjusted, paused, or extended. Auto-updating content can be paused.
  • Seizures and physical reactions. No content that flashes more than 3 times per second.
  • Navigable. Skip links present. Pages have descriptive titles. Focus order is logical. Link purpose clear from text or context. Multiple ways to find pages (sitemap, search, navigation). Headings and labels are descriptive.
  • Input modalities. Pointer gestures have keyboard alternatives. Pointer cancellation supported (mouse-up, not mouse-down for activation). Labels match accessible names. Motion-triggered functionality has alternatives.

3. Understandable

Information and operation must be understandable.

Audit checks:

  • Readable. Page language declared (<html lang="...">). Unusual words and abbreviations have definitions or expansions. Reading level appropriate to audience.
  • Predictable. Focus does not change context unexpectedly. Input does not change context unexpectedly. Navigation is consistent across pages. Components that look similar behave similarly.
  • Input assistance. Errors are identified clearly. Labels and instructions are provided for input. Error suggestions are given where possible. For pages handling legal commitments or financial transactions, errors can be reviewed and corrected before submission.

4. Robust

Content must be robust enough to work with current and future user agents.

Audit checks:

  • Compatible. Markup is valid. Name, role, and value of UI components are programmatically determinable. Status messages can be programmatically determined and announced.

Audit methodology

Stage 1: Automated scan

Run automated scanners across the priority pages. These catch 30 to 50 percent of issues but miss the rest.

Tools:

  • axe DevTools (browser extension)
  • Lighthouse (Chrome DevTools accessibility audit)
  • WAVE (browser extension)
  • Pa11y (CLI for batch scanning)

Output: A list of automated findings, by page.

Stage 2: Manual keyboard testing

Unplug the mouse. Navigate the priority user flows using only keyboard.

Test:

  • Tab and Shift+Tab move through interactive elements in logical order
  • Enter activates buttons and links
  • Space activates buttons (and toggles checkboxes)
  • Arrow keys navigate within composite widgets (tabs, menus, listboxes)
  • Escape dismisses modals, popovers, menus
  • Focus is always visible
  • Focus returns to a sensible place after modals or popovers close
  • No keyboard trap (focus can always leave)

Document: Any flow where keyboard navigation breaks down.

Stage 3: Screen reader testing

Test with at least one real screen reader, or state the gap per the data-availability rule. Each combination has quirks.

Common combinations:

  • VoiceOver + Safari (macOS / iOS)
  • NVDA + Firefox or Chrome (Windows)
  • JAWS + Chrome (Windows; commercial but common in enterprise)
  • TalkBack + Chrome (Android)

Test:

  • Page structure announced correctly (headings, landmarks)
  • Form labels read with their inputs
  • Errors announced when they appear
  • Status changes announced (loading, success, error)
  • Modal context announced when opened
  • Images have meaningful alt text (or are correctly identified as decorative)

Stage 4: Visual testing

Verify the visual aspects of accessibility.

Test:

  • Color contrast for all text/background pairs (use a contrast checker)
  • UI element contrast (3:1 for icons, borders, focus rings)
  • Color-blindness simulation (deuteranopia at minimum)
  • Zoom to 200% - content remains usable, no horizontal scroll
  • Reflow at 320px viewport
  • Text spacing applied (line height, letter spacing) - no content cut off
  • Motion can be reduced (prefers-reduced-motion honored)

Stage 5: Cognitive accessibility

Often overlooked. Critical for inclusive products.

Test:

  • Reading level appropriate
  • Instructions clear
  • Error messages explain how to fix the error, not just that one occurred
  • Forms allow correction before submission
  • Time limits avoidable or extendable
  • Important content not dependent on memory of prior pages

Workflow

  1. Define scope. Full site? Specific flows? Specific page templates?
  2. Run automated scans. Document findings per page.
  3. Manual keyboard pass. Test all priority flows.
  4. Screen reader pass. Test with at least one combination.
  5. Visual checks. Contrast, zoom, color blindness, motion.
  6. Cognitive checks. Reading level, error handling, time limits.
  7. Score against WCAG. Per success criterion (level A, AA, AAA).
  8. Prioritize findings. Critical (blocks users), Important (degrades experience), Minor (polish).
  9. Write the report. Use the template in references/audit-report-template.md.
  10. Build a remediation plan. Sequenced fixes with effort and impact estimates.

Severity classification

For prioritization:

Critical (P0):

  • Blocks an entire user flow for an assistive-tech user
  • Renders a key page completely inaccessible
  • Examples: form with no labels, modal without focus management, primary CTA not keyboard-accessible

Important (P1):

  • Significantly degrades the experience for assistive-tech users
  • Examples: missing alt text on key images, low-contrast body text, error messages that don't announce

Minor (P2):

  • Affects edge cases or specific assistive technology combinations
  • Examples: minor focus order issues, missing decorative alt attributes, edge case keyboard handling

Polish (P3):

  • Above-AA improvements that benefit accessibility but aren't compliance-blocking
  • Examples: AAA contrast targets, additional reduced-motion variants, language attributes on inline foreign words

Failure patterns

  • Automated scan only. Catches 30 to 50 percent of issues. The remaining 50 to 70 percent are in keyboard, screen reader, and cognitive testing.
  • Testing only on the home page. The home page is usually the most accessible. Bugs hide in deeper flows.
  • Treating accessibility as a one-time project. Accessibility erodes with every deploy. Bake it into the development cycle.
  • Fixing without root cause. Patching individual issues without understanding why they happened means new ones keep appearing.
  • Ignoring screen reader testing. Hard to do well, easy to skip. Single biggest source of "we thought we were accessible" surprises.
  • Confusing AA and AAA. AAA is rarely the right target. AA is the practical baseline for most products.
  • Treating accessibility as a designer or developer responsibility alone. Content, product, QA, and leadership all need to participate.
  • Assuming compliance equals accessibility. WCAG conformance is a floor, not a ceiling. Real users may still struggle.

Output format

Default output is a comprehensive audit report at accessibility-audit.md.

Structure:

  1. Executive summary
  2. Methodology (tools used, pages tested, screen readers used)
  3. Findings by WCAG principle
  4. Critical findings (P0) with specific URLs and fixes
  5. Important findings (P1)
  6. Minor findings (P2)
  7. Polish (P3)
  8. Remediation roadmap (sequenced and prioritized)
  9. Appendices (full automated scan results, keyboard navigation notes, screen reader notes)

Plus a remediation tracking spreadsheet with one row per finding.


If required data is unavailable

This skill's output depends on data, measurements, or tool results it cannot generate on its own. When a required input, tool, or data source is unavailable or unverifiable, the sanctioned output is the deliverable with the gap stated: what was needed, what was actually obtained or verified, and which parts of the output are affected. Fabricating, estimating, or interpolating a required number to complete the deliverable is never sanctioned. A stated gap is a complete answer.


Reference files

  • references/audit-report-template.md - Full audit report template.
  • references/wcag-quick-reference.md - Condensed WCAG 2.1 AA criteria with audit checks.
  • references/aria-patterns.md - Decision-grade ARIA patterns. Semantic-HTML-first principle, common interactive widgets (accordion, tabs, modal, toggle, disclosure, navigation), live regions, hiding patterns, labeling, state indicators, anti-patterns.

Download now (ZIP)

  • Other versions51 projects use a version of this.

    Word for word · 1

    1. opensite-ai/opensite-skills★ 15100% same

    Edited · 0

    None found.

    Wrote their own version · 50

    1. me2resh/apexyard★ 542same name
    2. github/replica★ 117same name
    3. cuellarfr/design-skills★ 94same name
    4. adityareddy-dev/deskstudio★ 42same name
    5. launchapp-dev/animus-cli★ 39same name
    6. kumaran-is/claude-code-onboarding★ 35same name
    7. 5throck/ai-workspace-standards★ 23same name
    8. Indium-AI-Labs/indium-agentkit★ 18same name
    9. Ionate-Technologies/indium-agentkit★ 17same name
    10. brayandiazc/project-starter-template-es-ai★ 15same name

    40 more not listed

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • Used alongsideProjects with it also use design-system-audit, flaky-test-triage and 10 more.

    Other files people use alongside this one.

    Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
    • jpoindexterSkill

      design-system-audit

      Audit code for design system violations - grid spacing, tokens, existing components

      Also in 4 projects that use this

    • SUDARSHANCHAUDHARISkill

      flaky-test-triage

      Diagnoses inconsistent test results by separating product nondeterminism, automation defects, shared data, timing, infrastructure, environment, order, and concurrency effects.

      Also in 3 projects that use this

    • BufferoverflovvSkill

      observability-setup

      Add production observability to a FastMCP server: request IDs, slow-request logging, structured log fields, and optional Prometheus metrics. Use when: hardening logging for production, adding request tracing or correlation IDs, setting up slow-request alerts, adding a /metrics endpoint, or improving structured log output beyond the base middleware.

      Also in 3 projects that use this

    • mmondoraSkill

      infrastructure-as-code

      Infrastructure as Code with Terraform and Pulumi. State management, modularity, drift detection, secrets handling. Use when provisioning cloud resources, writing Terraform/Pulumi modules, or managing infrastructure configuration.

      Also in 3 projects that use this

    • Sagargupta16Skill

      upgrade-dependencies

      Upgrade a project's dependencies one at a time, running the test suite after each bump and reverting the ones that break it. Use it during routine dependency maintenance, when a batch of updates has accumulated; before a major release, to go into it on current and patched dependencies; when Renovate or Dependabot PRs have piled up and you want them resolved locally in one sitting; when a security advisory means you need the patched version in, and you need to know what it breaks.

      Also in 3 projects that use this

    • OpenAISkill

      design-qa

      Internal prototype QA helper. Use only after a Product Design prototype, URL-to-code build, or image-to-code build has a source visual target and a rendered implementation to compare before handoff. Do not use for broad UX critique, design critique, product audits, or flow reviews; route those user-facing requests to audit.

      Also in 3 projects that use this

  • In this repository13 other files it gives its agents.

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.