Cursor Skill

accessibility-auditing

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

LLM Mart · 1 points · 34 views 384 listing impressions 0 install-command copies
Virus-scanned Reviewed automatically before listing.

Full trust report

Download spencerpauly-awesome-cursor-skills-resources_accessibility-auditing-99cd265.zip · 1 KB
Part of spencerpauly/awesome-cursor-skills — 65 skills

Install

skills CLI npx skills add https://github.com/spencerpauly/awesome-cursor-skills/tree/main/resources/accessibility-auditing
Claude Code claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install spencerpauly-awesome-cursor-skills@llmmart
Git git clone https://github.com/spencerpauly/awesome-cursor-skills.git

The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole spencerpauly/awesome-cursor-skills collection as a plugin from our marketplace. Git is the plain clone.

Skill manifest

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

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 add htmlFor
  • Change <div onClick> to <button>
  • Add alt text to images
  • Fix heading hierarchy
Files (awesome-cursor-skills)
  • SKILL.md 2.6 KB
    ---
    name: accessibility-auditing
    description: Use Cursor's browser aria snapshots to audit a page for accessibility issues — missing labels, broken tab order, contrast, and ARIA misuse.
    user-invocable: true
    ---
    
    # 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
    
    ```
    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 add `htmlFor`
    - Change `<div onClick>` to `<button>`
    - Add `alt` text to images
    - Fix heading hierarchy
    

Comments (0)

Sign in to join the conversation.

No comments yet.

Reviews (0)

No reviews yet.

Related