accessibility-auditing
Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.
Install
npx skills add https://github.com/spencerpauly/awesome-cursor-skills --skill accessibility-auditingSKILL.md
Accessibility Auditing
Audit a web page for accessibility issues using Cursor's built-in browser without external tools.
Workflow
1. Open the Page
Use browser_navigate to open the target URL.
2. Capture the Accessibility Tree
Use browser_snapshot — this returns the aria/accessibility tree of the page. This is the same tree that screen readers use.
3. Audit the Tree
Check for these issues:
Missing Labels
buttonelements with no accessible name (no text, noaria-label)imgelements with noalttextinputelements with no associatedlabeloraria-labela(link) elements with no text content- Icon-only buttons missing
aria-label
Semantic HTML
- Clickable
divorspanelements → should bebuttonora - Missing
nav,main,header,footerlandmarks - Headings that skip levels (h1 → h3)
- Lists that aren't using
ul/ol/li
Keyboard Navigation
- Interactive elements missing from tab order
- Custom widgets without
roleand keyboard handlers - Focus traps in modals (should trap focus, but also allow Escape to close)
- Skip-to-content link missing
ARIA Issues
aria-hidden="true"on focusable elements- Invalid
rolevalues aria-expandedwithout corresponding collapsible contentaria-controlspointing to non-existent IDs
Contrast (use screenshot for visual check)
- Light gray text on white backgrounds
- Placeholder text that's too faint
- Disabled states that are indistinguishable
4. Test Keyboard Navigation
Use browser_press to simulate Tab key presses and verify:
- Every interactive element receives focus
- Focus order is logical (top-to-bottom, left-to-right)
- Focus is visible (focus ring or outline)
- Escape closes modals/dropdowns
5. Report
Accessibility Audit:
Critical:
- 3 buttons with no accessible name (header icons)
- Login form inputs missing labels
Warnings:
- Heading levels skip from h1 to h3
- No skip-to-content link
- 2 clickable divs should be buttons
Passed:
- All images have alt text
- Landmarks present (nav, main, footer)
- Focus order is logical
6. Fix
For each issue, apply the fix in the source code. Common fixes:
- Add
aria-label="Close"to icon buttons - Wrap inputs in
<label>or addhtmlFor - Change
<div onClick>to<button> - Add
alttext to images - Fix heading hierarchy
Related skills
improve-codebase-architecturemattpocock1MScan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.codebase-designmattpocock691KShared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.web-design-guidelinesvercel-labs676KReview UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".code-reviewmattpocock631KReview the changes since a fixed point (commit, branch, tag, or merge-base) along two axes: Standards (does the code follow this repo's documented coding standards?) and Spec (does the code match what the originating issue/spec asked for?). Runs both reviews in parallel sub-agents and reports them side by side. Use when the user wants to review a branch, a PR, work-in-progress changes, or asks to \"review since X\".