A11y Auditor
hanzili/hanzi-browse
Audit web pages for accessibility issues in a real browser. An agent skill from hanzili/hanzi-browse.
Audits a live webpage against eight core WCAG 2.2 success criteria, combining accessibility-tree inspection, visual screenshots and keyboard navigation tests, with evidence in the report.
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-audit --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .claude/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .claude/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.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/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .claude/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-auditType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-audit --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .agents/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .agents/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .agents/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-audit --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .cursor/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .cursor/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AIPexStudio/AIPex.git --path packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-audit --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .gemini/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .gemini/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-auditInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .github/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .github/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .github/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AIPexStudio/AIPex wcag22-a11y-audit --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AIPexStudio/AIPex.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit .opencode/skills/wcag22-a11y-audit && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "wcag22-a11y-audit" agent skill from https://github.com/AIPexStudio/AIPex/tree/main/packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit into .opencode/skills/wcag22-a11y-audit/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "wcag22-a11y-audit", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
wcag22-a11y-auditAudits a live webpage against eight core WCAG 2.2 success criteria, combining accessibility-tree inspection, visual screenshots and keyboard navigation tests, with evidence in the report.
The skill prioritizes the accessibility tree first, reading role, name, value and state information for criteria such as non-text content and keyboard access; screenshots with image analysis cover criteria the tree cannot show, such as contrast and focus visibility; and keyboard-only navigation, pressing Tab through the page, covers focus order and focus visibility, capturing a screenshot at each step to document the path. Before starting, it recommends confirming the target scope, audience, which success criteria to prioritize and any known issues to verify.
Because screenshots and accessibility-tree dumps can capture account names, order details, personal data, auth tokens or internal URLs, the skill says never to include raw sensitive data in the final report and to recommend masking a screenshot that contains personal information. Contrast and other visual judgments are flagged as estimates, with a recommendation to verify them with a dedicated tool such as a contrast checker or axe DevTools.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4173fa8. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are markdown).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
WCAG 2.2 Accessibility Audit loads about 4.7k tokens when it runs. Until then it costs about 82 tokens; SKILL.md has 1,550 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from AIPexStudio/AIPex at commit 4173fa8, republished under its MIT licence (© AIPexStudio). 1,550 words, ~4,707 tokens.
.claude/skills/wcag22-a11y-audit/SKILL.md (or your agent's skills folder).Use this skill when the user wants to:
This skill uses a hybrid approach combining structured accessibility tree analysis and visual inspection.
PRIMARY: Accessibility Tree (search_elements)
search_elements(tabId, query) to retrieve structured accessibility informationrole, name, value, checked, expanded, disabled, focused, etc.SECONDARY: Visual Analysis (Screenshot + LLM)
capture_screenshot(sendToLLM=true) for visual inspection[[screenshot:N]] placeholders in the report for evidenceKEYBOARD INTERACTION: computer tool
computer(action='key', text='Tab') for keyboard navigation testing1. Identify scope (page/component/flow)
2. Collect evidence via search_elements and/or screenshot
3. Apply SC-specific judgment rules
4. Record Pass/Fail with evidence references
5. Provide actionable fix recommendationsIMPORTANT: This audit may capture sensitive information.
Before starting the audit, confirm with the user:
Goal: All non-text content (images, icons, controls) must have text alternatives.
Test Steps:
Find images and icons:
search_elements(tabId, "image | img")
search_elements(tabId, "button | link | menuitem | tab | switch")Evaluate each element:
name attribute exists and is meaningfulname is empty or missingname is generic: "icon", "image", "button", "img", "graphic", file names (e.g., "logo.png")name duplicates visible text unnecessarily (redundant)name accurately describes purpose or equivalent informationFor decorative content:
role="presentation" or role="none", or name="" (explicitly empty)Common Failures:
alt="image" or alt="logo.png"aria-label or visually hidden textFix Recommendations:
alt text to imagesaria-label or aria-labelledby for icon buttons<button> instead of <div>)Goal: Text must have sufficient contrast against its background.
Requirements:
Test Steps:
Capture page states:
capture_screenshot(sendToLLM=true)computer to trigger)Visual analysis prompt (for LLM):
"Analyze this screenshot for text contrast issues. Identify any text that appears to have low contrast against its background. Focus on:
- Small/body text that may be below 4.5:1
- Placeholder text in input fields
- Disabled state text
- Text overlaid on images or gradients List suspicious elements with their approximate location."
Record findings:
Common Failures:
Fix Recommendations:
Goal: UI components and graphical objects must have ≥ 3:1 contrast.
Applies to:
Test Steps:
Identify UI components:
search_elements(tabId, "textbox | combobox | checkbox | radio | switch | button | slider")Capture states:
capture_screenshot(sendToLLM=true)Visual analysis prompt:
"Analyze this screenshot for non-text contrast issues. Check if:
- Input field borders are clearly visible (≥3:1 against background)
- Button boundaries are distinguishable
- Icons are clearly visible
- Focus indicators have sufficient contrast
- Checkbox/radio/switch states are visually distinct List any elements that appear to have insufficient contrast."
State coverage matrix: Document which states were tested for each component type.
Common Failures:
Fix Recommendations:
Goal: All functionality must be operable via keyboard.
Test Steps:
Identify key tasks: Ask user or determine primary interactive flows
Attempt keyboard-only completion:
computer(action='key', text='Tab') // Navigate forward
computer(action='key', text='shift+Tab') // Navigate backward
computer(action='key', text='Enter') // Activate buttons/links
computer(action='key', text='Space') // Activate buttons, toggle checkboxes
computer(action='key', text='Escape') // Close dialogs/menus
computer(action='key', text='ArrowDown') // Navigate within widgetsAt each step:
Cross-reference with accessibility tree:
search_elements(tabId, "*")rolefocusable / disabledCommon Failures:
<div> with onClick but no keyboard handlerFix Recommendations:
<button>, <a>, <input>)tabindex="0" and keyboard event handlers to custom componentsGoal: If focus can enter a component, it must be able to exit via keyboard.
Test Steps:
Identify potential trap components:
For each component:
Capture evidence:
capture_screenshot(sendToLLM=true)Common Failures:
Fix Recommendations:
Goal: Focus order must preserve meaning and operability.
Test Steps:
Tab through the page:
computer(action='key', text='Tab')Compare with visual order:
capture_screenshot(sendToLLM=true)Test dynamic content:
Check for problematic patterns:
search_elements(tabId, "tabindex")tabindex values (>0) cause unpredictable orderCommon Failures:
tabindex values creating chaotic orderFix Recommendations:
Goal: Keyboard focus indicator must be visible.
Test Steps:
Ensure keyboard-only mode:
At each focused element:
capture_screenshot(sendToLLM=true)Visual analysis prompt:
"Is there a visible focus indicator on the currently focused element in this screenshot? The indicator should be clearly distinguishable (outline, border, background change, underline, or similar). Describe what you see and whether it provides sufficient visual distinction."
Cross-reference:
search_elements(tabId, "*focused*")focused stateCommon Failures:
outline: none with no replacement styleFix Recommendations:
:focus-visible for keyboard-only focus stylingGoal: All UI components must expose name, role, and value to assistive technology.
Test Steps:
Extract interactive elements:
search_elements(tabId, "button | link | textbox | combobox | checkbox | radio | switch | tab | menuitem | slider | spinbutton | searchbox")For each element, verify:
checked for checkboxes/radios/switchesexpanded for disclosure widgetsselected for tabs/optionspressed for toggle buttonsvalue for inputs/slidersTest state changes:
search_elementsexpanded state updatesselected state updatesCommon patterns to check:
role="checkbox" and checked statearia-expandedrole="tab" with aria-selectedrole="menu" and role="menuitem"Common Failures:
<div> buttons without role="button" or accessible namechecked stateFix Recommendations:
After completing the audit, generate a Markdown report with this structure:
# WCAG 2.2 Accessibility Audit Report
**Target**: [URL or Page Name]
**Date**: [Audit Date]
**Scope**: [Full page / Component / User flow]
**Auditor**: AIPex WCAG 2.2 A11y Audit Skill
---
## Executive Summary
[1-2 sentence overall assessment. Example: "The page has significant accessibility barriers, particularly in keyboard navigation and missing text alternatives for icon buttons. X of 8 Success Criteria tested have issues."]
---
## Scope & Assumptions
- **Pages/Components Tested**: [List]
- **Testing Method**: Accessibility tree inspection via search_elements + visual analysis via screenshots + keyboard navigation testing
- **Limitations**: Contrast assessments are visual estimates; recommend verification with dedicated tools.
- **Privacy Note**: Screenshots may have been captured; ensure sensitive data is masked before sharing this report.
---
## Results by Success Criterion
### 1.1.1 Non-text Content (Level A)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- [Describe findings]
- [[screenshot:N]] (if applicable)
**Issues Found**:
| Element | Issue | Severity |
|---------|-------|----------|
| [element description] | [issue description] | [Critical/Serious/Moderate/Minor] |
**Recommendations**:
- [Specific fix recommendations]
---
### 1.4.3 Contrast (Minimum) (Level AA)
**Result**: [PASS / FAIL / PARTIAL / NEEDS VERIFICATION]
**Evidence**:
- [[screenshot:N]]
**Suspected Issues**:
| Element | Suspected Issue | Needs Verification |
|---------|-----------------|---------------------|
| [location/description] | [suspected contrast issue] | Yes |
**Recommendations**:
- Verify with contrast checker tool
- [Specific fixes if contrast is confirmed insufficient]
---
### 1.4.11 Non-text Contrast (Level AA)
**Result**: [PASS / FAIL / PARTIAL / NEEDS VERIFICATION]
**Evidence**:
- [[screenshot:N]]
**State Coverage**:
| Component Type | Default | Hover | Focus | Disabled |
|----------------|---------|-------|-------|----------|
| Input fields | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ |
| Buttons | ✓/✗ | ✓/✗ | ✓/✗ | ✓/✗ |
**Issues Found**:
[List issues]
**Recommendations**:
[Fix recommendations]
---
### 2.1.1 Keyboard (Level A)
**Result**: [PASS / FAIL]
**Test Flow**: [Describe the task attempted]
**Evidence**:
- [[screenshot:N]]
- Accessibility tree excerpt: [relevant portion]
**Issues Found**:
| Step | Element | Issue |
|------|---------|-------|
| [step #] | [element] | [keyboard issue] |
**Recommendations**:
[Fix recommendations]
---
### 2.1.2 No Keyboard Trap (Level A)
**Result**: [PASS / FAIL / NOT APPLICABLE]
**Components Tested**:
| Component | Entry | Exit via Tab | Exit via Esc | Instructions |
|-----------|-------|--------------|--------------|--------------|
| [modal] | ✓ | ✓/✗ | ✓/✗ | ✓/✗ |
**Evidence**:
- [[screenshot:N]]
**Issues Found**:
[List issues]
**Recommendations**:
[Fix recommendations]
---
### 2.4.3 Focus Order (Level A)
**Result**: [PASS / FAIL]
**Evidence**:
- [[screenshot:N]]
- Focus sequence: [describe order]
**Issues Found**:
[List focus order problems]
**Recommendations**:
[Fix recommendations]
---
### 2.4.7 Focus Visible (Level AA)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- [[screenshot:N]] showing focus on [element type]
**Issues Found**:
| Element Type | Focus Visible | Notes |
|--------------|---------------|-------|
| Buttons | ✓/✗ | [description] |
| Links | ✓/✗ | [description] |
| Inputs | ✓/✗ | [description] |
**Recommendations**:
[Fix recommendations]
---
### 4.1.2 Name, Role, Value (Level A)
**Result**: [PASS / FAIL / PARTIAL]
**Evidence**:
- Accessibility tree excerpt:[relevant search_elements output]
**Issues Found**:
| Element | Role Issue | Name Issue | State Issue |
|---------|------------|------------|-------------|
| [element] | [issue] | [issue] | [issue] |
**Recommendations**:
[Fix recommendations]
---
## Issue Summary (by Severity)
### Critical
[List critical issues - prevent access entirely]
### Serious
[List serious issues - significant barriers]
### Moderate
[List moderate issues - degraded experience]
### Minor
[List minor issues - best practice violations]
---
## Next Steps
1. Address Critical and Serious issues first
2. Re-test after fixes using the same procedures
3. Consider automated testing tools for ongoing monitoring (axe, WAVE, Lighthouse)
4. Verify contrast issues with dedicated contrast checker tools
---
## Appendix: Screenshot Evidence
[Screenshots will be attached when exporting via download_current_chat_report_zip]After completing the audit report, ask the user:
"Would you like me to export this accessibility audit report as a ZIP file with all screenshots included?"
Upon confirmation, use download_current_chat_report_zip tool to package the report with all captured screenshots.
The ZIP will contain:
report.md — The full audit report with working image linksscreenshots/ — All captured screenshots from the session© AIPexStudio, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit of AIPexStudio/AIPex.
Open the folder on GitHubat commit 4173fa8
WCAG 2.2 Accessibility Audit 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| WCAG 2.2 Accessibility Audit this skillAIPexStudio/AIPex | 1.3k | — | ~4.7k | Automated safety check: Pass | MIT | |
| A11y Auditorhanzili/hanzi-browse | 177 | — | ~648 | Automated safety check: Pass | Custom licence | |
| Control UIcursor/plugins | 11k | 2 repos | ~1.2k | Automated safety check: Pass | None | |
| Vrtmarigold-ui/marigold | 146 | — | ~787 | Automated safety check: Pass | MIT | |
| Scout UI Testingelastic/kibana | 21k | — | ~3.1k | Automated safety check: Pass | Custom licence | |
| Playwright Best Practicessanity-io/sanity | 6.4k | 7 repos | ~6.4k | Automated safety check: Pass | MIT |
hanzili/hanzi-browse
Audit web pages for accessibility issues in a real browser. An agent skill from hanzili/hanzi-browse.
cursor/plugins
Build or adapt a local browser/CDP harness to drive and inspect a web, IDE, or Electron UI.
marigold-ui/marigold
DST — Trigger the Visual-Regression-Tests (Chromatic) GitHub Actions workflow on the current or a given branch.
elastic/kibana
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…
sanity-io/sanity
A skill your agent uses when writing Playwright tests, fixing flaky tests, debugging failures, implementing Page Object Model, configuring CI/CD, optimizing performance, mocking APIs, handling…
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).
AIPexStudio/AIPex
Lets an agent drive Chrome through the AIPex extension and its MCP bridge: navigation, clicking, form filling, screenshots, tab management and downloads.
AIPexStudio/AIPex
Walks a Figma prototype or live webpage screen by screen and scores it against four minimalist usability principles.
Works with
Categories
Audits a live webpage against eight core WCAG 2.2 success criteria, combining accessibility-tree inspection, visual screenshots and keyboard navigation tests, with evidence in the report. The skill prioritizes the accessibility tree first, reading role, name, value and state information for criteria such as non-text content and keyboard access; screenshots with image analysis cover criteria the tree cannot show, such as contrast and focus visibility; and keyboard-only navigation, pressing Tab through the page, covers focus order and focus visibility, capturing a screenshot at each step to document the path. Before starting, it recommends confirming the target scope, audience, which success criteria to prioritize and any known issues to verify.
WCAG 2.2 Accessibility Audit fits situations like: auditing a live webpage against WCAG 2.2 success criteria; checking keyboard navigation and focus order on a web page; producing an accessibility audit report with screenshot evidence.
Run `npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a claude-code`. Or copy the skill folder (packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit in AIPexStudio/AIPex) into .claude/skills/wcag22-a11y-audit in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a codex`. Or copy the skill folder (packages/browser-runtime/src/skill/built-in/wcag22-a11y-audit in AIPexStudio/AIPex) into .agents/skills/wcag22-a11y-audit in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AIPexStudio/AIPex --skill wcag22-a11y-audit -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/wcag22-a11y-audit, .gemini/skills/wcag22-a11y-audit, .github/skills/wcag22-a11y-audit and .opencode/skills/wcag22-a11y-audit in your project.
SKILL.md names no scripts, command-line tools or credentials: WCAG 2.2 Accessibility Audit is instructions for the agent only. Our summary lists: Browser automation tools for accessibility tree inspection and screenshots.
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
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. Review the folder before installing.
WCAG 2.2 Accessibility Audit is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 4.7k tokens (SKILL.md is roughly 19k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with WCAG 2.2 Accessibility Audit: A11y Auditor (hanzili/hanzi-browse, 177 stars), Control UI (cursor/plugins, 11k stars), Vrt (marigold-ui/marigold, 146 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.
AIPexStudio (a GitHub organization) maintains it in AIPexStudio/AIPex, which has 1,262 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on August 26, 2026.
Source: AIPexStudio/AIPex on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.