accessibility-auditing

Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.

By spencerpauly · 401 installs

npx skills add spencerpauly/awesome-cursor-skills --skill accessibility-auditing

Source repository · Upstream listing

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 button elements with no accessible name (no text, no aria label ) img elements with no alt text input elements with no associated label or aria label a (link) elements with no text content Icon only buttons missing aria label Semantic HTML Clickable div or span elements → should be button or a Missing nav , main , header , footer landmarks 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 role and 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 role values aria expanded without corresponding collapsible content aria controls pointing 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 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 add htmlFor Change <div onClick to <button Add alt text to images Fix heading hierarchy