Accessibility audit

Run a comprehensive WCAG accessibility audit covering perceivable, operable, understandable, and robust principles.

Accessibility audit — Creative Direction skill highlight diagram. Navy header card reads 'Impactful Creative Direction' with the subtitle… (from the rampstackco/claude-skills README)

From the rampstackco/claude-skills README — shows the whole collection, not only this skill. · view on GitHub

How to use it

Claude Code
  1. Run the line below. It pulls the whole folder into ~/.claude/skills/accessibility-audit-2, including the files SKILL.md points to.
  2. Describe your job in plain words. Claude Code follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit rampstackco/claude-skills/skills/accessibility-audit#main ~/.claude/skills/accessibility-audit-2

For one project only, change the path to .claude/skills/accessibility-audit-2. This skill also uses accessibility-audit.md — copying SKILL.md alone won't be enough. See the folder on GitHub.

Claude (web or desktop app)
  1. On this page open ⋯ → Download .md.
  2. Save it as SKILL.md in a folder, zip the folder, then Customize → Skills → + → Create skill → Upload a skill.
  3. Pick the file and Save. Claude shows the name and description and runs a security scan.
  4. Check the skill is switched on.
  5. Start a new chat and describe your job in plain words. The AI follows the skill from there.
ChatGPT or another app
  1. ChatGPT: make a Project and paste it into Instructions.
  2. Neither? Paste it at the top of a new chat — it works for that chat.
Not working?
  • Check which app you pasted it into — the steps above name the right one.
  • Some skills need the paid tier of Claude or ChatGPT.
Step-by-step guide with screenshots · Ask in the forum

Paste into Claude, ChatGPT or Cursor.

Source of Accessibility audit

Show the full text246 lines
namedescriptioncategorycatalog_summarydisplay_order
accessibility-auditRun 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.developmentWCAG compliance audit with remediation plan3

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

1---
2name: accessibility-audit
3description: "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."
4category: development
5catalog_summary: "WCAG compliance audit with remediation plan"
6display_order: 3
7---
8 
9# Accessibility Audit
10 
11Run a thorough accessibility audit and produce a remediation plan. Stack-agnostic. Anchored to WCAG 2.1 AA, with notes on AAA where relevant.
12 
13This skill goes deeper than the accessibility checks in `qa-testing` and `design-standards`. Use this when accessibility itself is the goal.
14 
15---
16 
17## When to use
18 
19- Pre-launch accessibility verification
20- Compliance preparation (ADA, EN 301 549, AODA, Section 508)
21- Remediation after an audit finding or complaint
22- Annual or quarterly accessibility health check
23- Onboarding accessibility into a team that hasn't prioritized it before
24 
25## When NOT to use
26 
27- General QA after deploys (use `qa-testing`)
28- Component-level accessibility implementation (use `frontend-component-build`)
29- Color contrast for design tokens (use `design-standards` or `brand-identity`)
30 
31---
32 
33## Required inputs
34 
35- The site or product under audit
36- The scope (full site, specific section, specific user flow)
37- The target standard (WCAG 2.1 AA is most common)
38- Any specific concerns or known issues
39- Tools available (automated scanners, screen readers, manual testing)
40 
41---
42 
43## The framework: WCAG's 4 principles
44 
45WCAG organizes accessibility around four principles. The audit covers each in depth.
46 
47### 1. Perceivable
48 
49Information and UI must be presentable in ways users can perceive.
50 
51**Audit checks:**
52 
53- **Text alternatives.** All non-decorative images have descriptive `alt` text. Decorative images use `alt=""`. Complex images (charts, infographics) have long descriptions.
54- **Time-based media.** Videos have captions. Pre-recorded audio has transcripts. Live audio has live captions where required.
55- **Adaptable.** Content structure is conveyed through markup (semantic HTML), not just visual styling. Reading order makes sense when CSS is disabled.
56- **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.
57 
58### 2. Operable
59 
60UI components and navigation must be operable.
61 
62**Audit checks:**
63 
64- **Keyboard accessible.** All functionality available via keyboard alone. No keyboard traps. Focus visible.
65- **Enough time.** Time limits can be adjusted, paused, or extended. Auto-updating content can be paused.
66- **Seizures and physical reactions.** No content that flashes more than 3 times per second.
67- **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.
68- **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.
69 
70### 3. Understandable
71 
72Information and operation must be understandable.
73 
74**Audit checks:**
75 
76- **Readable.** Page language declared (`<html lang="...">`). Unusual words and abbreviations have definitions or expansions. Reading level appropriate to audience.
77- **Predictable.** Focus does not change context unexpectedly. Input does not change context unexpectedly. Navigation is consistent across pages. Components that look similar behave similarly.
78- **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.
79 
80### 4. Robust
81 
82Content must be robust enough to work with current and future user agents.
83 
84**Audit checks:**
85 
86- **Compatible.** Markup is valid. Name, role, and value of UI components are programmatically determinable. Status messages can be programmatically determined and announced.
87 
88---
89 
90## Audit methodology
91 
92### Stage 1: Automated scan
93 
94Run automated scanners across the priority pages. These catch 30 to 50 percent of issues but miss the rest.
95 
96**Tools:**
97- axe DevTools (browser extension)
98- Lighthouse (Chrome DevTools accessibility audit)
99- WAVE (browser extension)
100- Pa11y (CLI for batch scanning)
101 
102**Output:** A list of automated findings, by page.
103 
104### Stage 2: Manual keyboard testing
105 
106Unplug the mouse. Navigate the priority user flows using only keyboard.
107 
108**Test:**
109- Tab and Shift+Tab move through interactive elements in logical order
110- Enter activates buttons and links
111- Space activates buttons (and toggles checkboxes)
112- Arrow keys navigate within composite widgets (tabs, menus, listboxes)
113- Escape dismisses modals, popovers, menus
114- Focus is always visible
115- Focus returns to a sensible place after modals or popovers close
116- No keyboard trap (focus can always leave)
117 
118**Document:** Any flow where keyboard navigation breaks down.
119 
120### Stage 3: Screen reader testing
121 
122Test with at least one real screen reader, or state the gap per the data-availability rule. Each combination has quirks.
123 
124**Common combinations:**
125- VoiceOver + Safari (macOS / iOS)
126- NVDA + Firefox or Chrome (Windows)
127- JAWS + Chrome (Windows; commercial but common in enterprise)
128- TalkBack + Chrome (Android)
129 
130**Test:**
131- Page structure announced correctly (headings, landmarks)
132- Form labels read with their inputs
133- Errors announced when they appear
134- Status changes announced (loading, success, error)
135- Modal context announced when opened
136- Images have meaningful alt text (or are correctly identified as decorative)
137 
138### Stage 4: Visual testing
139 
140Verify the visual aspects of accessibility.
141 
142**Test:**
143- Color contrast for all text/background pairs (use a contrast checker)
144- UI element contrast (3:1 for icons, borders, focus rings)
145- Color-blindness simulation (deuteranopia at minimum)
146- Zoom to 200% - content remains usable, no horizontal scroll
147- Reflow at 320px viewport
148- Text spacing applied (line height, letter spacing) - no content cut off
149- Motion can be reduced (`prefers-reduced-motion` honored)
150 
151### Stage 5: Cognitive accessibility
152 
153Often overlooked. Critical for inclusive products.
154 
155**Test:**
156- Reading level appropriate
157- Instructions clear
158- Error messages explain how to fix the error, not just that one occurred
159- Forms allow correction before submission
160- Time limits avoidable or extendable
161- Important content not dependent on memory of prior pages
162 
163---
164 
165## Workflow
166 
1671. **Define scope.** Full site? Specific flows? Specific page templates?
1682. **Run automated scans.** Document findings per page.
1693. **Manual keyboard pass.** Test all priority flows.
1704. **Screen reader pass.** Test with at least one combination.
1715. **Visual checks.** Contrast, zoom, color blindness, motion.
1726. **Cognitive checks.** Reading level, error handling, time limits.
1737. **Score against WCAG.** Per success criterion (level A, AA, AAA).
1748. **Prioritize findings.** Critical (blocks users), Important (degrades experience), Minor (polish).
1759. **Write the report.** Use the template in [`references/audit-report-template.md`](references/audit-report-template.md).
17610. **Build a remediation plan.** Sequenced fixes with effort and impact estimates.
177 
178---
179 
180## Severity classification
181 
182For prioritization:
183 
184**Critical (P0):**
185- Blocks an entire user flow for an assistive-tech user
186- Renders a key page completely inaccessible
187- Examples: form with no labels, modal without focus management, primary CTA not keyboard-accessible
188 
189**Important (P1):**
190- Significantly degrades the experience for assistive-tech users
191- Examples: missing alt text on key images, low-contrast body text, error messages that don't announce
192 
193**Minor (P2):**
194- Affects edge cases or specific assistive technology combinations
195- Examples: minor focus order issues, missing decorative alt attributes, edge case keyboard handling
196 
197**Polish (P3):**
198- Above-AA improvements that benefit accessibility but aren't compliance-blocking
199- Examples: AAA contrast targets, additional reduced-motion variants, language attributes on inline foreign words
200 
201---
202 
203## Failure patterns
204 
205- **Automated scan only.** Catches 30 to 50 percent of issues. The remaining 50 to 70 percent are in keyboard, screen reader, and cognitive testing.
206- **Testing only on the home page.** The home page is usually the most accessible. Bugs hide in deeper flows.
207- **Treating accessibility as a one-time project.** Accessibility erodes with every deploy. Bake it into the development cycle.
208- **Fixing without root cause.** Patching individual issues without understanding why they happened means new ones keep appearing.
209- **Ignoring screen reader testing.** Hard to do well, easy to skip. Single biggest source of "we thought we were accessible" surprises.
210- **Confusing AA and AAA.** AAA is rarely the right target. AA is the practical baseline for most products.
211- **Treating accessibility as a designer or developer responsibility alone.** Content, product, QA, and leadership all need to participate.
212- **Assuming compliance equals accessibility.** WCAG conformance is a floor, not a ceiling. Real users may still struggle.
213 
214---
215 
216## Output format
217 
218Default output is a comprehensive audit report at `accessibility-audit.md`.
219 
220Structure:
2211. Executive summary
2222. Methodology (tools used, pages tested, screen readers used)
2233. Findings by WCAG principle
2244. Critical findings (P0) with specific URLs and fixes
2255. Important findings (P1)
2266. Minor findings (P2)
2277. Polish (P3)
2288. Remediation roadmap (sequenced and prioritized)
2299. Appendices (full automated scan results, keyboard navigation notes, screen reader notes)
230 
231Plus a remediation tracking spreadsheet with one row per finding.
232 
233---
234 
235## If required data is unavailable
236 
237This 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.
238 
239---
240 
241## Reference files
242 
243- [`references/audit-report-template.md`](references/audit-report-template.md) - Full audit report template.
244- [`references/wcag-quick-reference.md`](references/wcag-quick-reference.md) - Condensed WCAG 2.1 AA criteria with audit checks.
245- [`references/aria-patterns.md`](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.
246 

Discussion

Alternatives

Also in AccessibilitySee all 106 in Design →