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
- Distinctive: line 11
Run a thorough accessibility audit and produce a remediation plan.
- Very specific: line 53
Text alternatives: All non-decorative images have descriptive alt text.
- Distinctive: line 64
Keyboard accessible: All functionality available via keyboard alone.
- Distinctive: line 66
Seizures and physical reactions: No content that flashes more than 3 times per second.
- Distinctive: line 94
Run automated scanners across the priority pages.
- Distinctive: line 116
No keyboard trap (focus can always leave)
- Distinctive: line 122
Test with at least one real screen reader, or state the gap per the data-availability rule.
- Distinctive: line 140
Verify the visual aspects of accessibility.
- Distinctive: line 168
Run automated scans: Document findings per page.
- Distinctive: line 169
Manual keyboard pass: Test all priority flows.
- Distinctive: line 170
Screen reader pass: Test with at least one combination.
- Very specific: line 175
Write the report: Use the template in references/audit-report-template.md.
- Very specific: line 218
Default output is a comprehensive audit report at accessibility-audit.md.
“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.
Files
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-standardsorbrand-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
alttext. Decorative images usealt="". 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-motionhonored)
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
- Define scope. Full site? Specific flows? Specific page templates?
- Run automated scans. Document findings per page.
- Manual keyboard pass. Test all priority flows.
- Screen reader pass. Test with at least one combination.
- Visual checks. Contrast, zoom, color blindness, motion.
- Cognitive checks. Reading level, error handling, time limits.
- Score against WCAG. Per success criterion (level A, AA, AAA).
- Prioritize findings. Critical (blocks users), Important (degrades experience), Minor (polish).
- Write the report. Use the template in
references/audit-report-template.md. - 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:
- Executive summary
- Methodology (tools used, pages tested, screen readers used)
- Findings by WCAG principle
- Critical findings (P0) with specific URLs and fixes
- Important findings (P1)
- Minor findings (P2)
- Polish (P3)
- Remediation roadmap (sequenced and prioritized)
- 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.
Other versions51 projects use a version of this.
Word for word · 1
- opensite-ai/opensite-skills★ 15100% same
Edited · 0
None found.
Wrote their own version · 50
- me2resh/apexyard★ 542same name
- github/replica★ 117same name
- cuellarfr/design-skills★ 94same name
- adityareddy-dev/deskstudio★ 42same name
- launchapp-dev/animus-cli★ 39same name
- kumaran-is/claude-code-onboarding★ 35same name
- 5throck/ai-workspace-standards★ 23same name
- Indium-AI-Labs/indium-agentkit★ 18same name
- Ionate-Technologies/indium-agentkit★ 17same name
- 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.
jpoindexterSkilldesign-system-audit
Audit code for design system violations - grid spacing, tokens, existing components
Also in 4 projects that use this
SUDARSHANCHAUDHARISkillflaky-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
BufferoverflovvSkillobservability-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
mmondoraSkillinfrastructure-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
Sagargupta16Skillupgrade-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
OpenAISkilldesign-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.
- code-review-webSkill
- content-and-copySkill
- content-strategySkill
- cro-optimizationSkill
- design-standardsSkill
- frontend-component-buildSkill
- performance-optimizationSkill
- pm-spec-writingSkill
- qa-testingSkill
- seo-aeo-geoSkill
- seo-keywordSkill
- seo-onpageSkill
- skill-creation-walkthroughSkill
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
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.

