Curbcut

Curbcut for VS Code

Curbcut for VS Code checks your HTML, JSX/TSX, Vue and Svelte files against WCAG 2.2 while you edit. It works in VS Code and in editors that use Open VSX (such as VSCodium). The checks run on your device.

Install: VS Code Marketplace · Open VSX. Extension id: saffo.curbcut.

Free features

Hover on an image without alt text, with the short summary and the Explain link

Explanation panel with fix steps and a before and after code example

Quick fix menu that adds an alt attribute

Curbcut Structure view with the heading outline and landmarks

Pro features

Workspace report grouped by rule

Pro costs $49 per year. One license covers the browser extension and VS Code, on up to 5 activations. See pricing.

Settings

Setting Values Default
curbcut.wcagLevel A, AA or AAA AA
curbcut.bestPractices true or false: also run checks that are good practice but not WCAG requirements false
curbcut.runOn open, save or manual (only with Curbcut: Check Current File) open
curbcut.exclude glob patterns of files not to check none
curbcut.componentMap your components mapped to the HTML elements they render, for example {"Image": "img", "Link": "a"} none

Disable a check for one line

When a finding does not apply, put this comment on the line before the element:

<!-- curbcut-disable-next-line image-alt -->
<img src="divider.png">

In JSX and TSX:

{/* curbcut-disable-next-line image-alt */}
<img src={divider} />

Use the rule id from the issue. The quick fix writes the comment for you.

Activate Pro

  1. Buy Pro on the pricing page. Polar sends the license key by email.
  2. Run the command Curbcut: Activate Pro License.
  3. A notice tells you that the key and the label vscode go to Polar (api.polar.sh) to verify the license. Paste the key.

The key is kept in VS Code SecretStorage, not in your settings or workspace. Curbcut re-checks the key with Polar at most once every 7 days. If it cannot reach Polar, Pro keeps working for 14 days after the last successful check. Curbcut: Deactivate Pro License frees the activation and removes the key.

Upload SARIF to GitHub code scanning

Export the report as curbcut-report.sarif, commit it (or create it in your build), and upload it in a workflow:

name: Accessibility
on: [push]
permissions:
  security-events: write
jobs:
  upload:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: github/codeql-action/upload-sarif@v3
        with:
          sarif_file: curbcut-report.sarif

The issues then show in the repository's Security tab and on pull requests.

Limits

Privacy

The checks run on your device. The extension has no telemetry. The only network call is the license check with Polar described above. Read the privacy policy.