Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>Curbcut: WCAG Checks for HTML and JSXNew to Visual Studio Code? Get it now.
Curbcut: WCAG Checks for HTML and JSX

Curbcut: WCAG Checks for HTML and JSX

saffo

| (0) | Free
Lints HTML, JSX/TSX, Vue and Svelte templates for WCAG 2.2 issues (alt text, labels, headings, ARIA) and explains each fix.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

Curbcut: WCAG checks for HTML and JSX

Network use: none, except Pro license checks with Polar (details under Privacy below). Terms · Privacy policy · Refund policy · Docs

Curbcut finds WCAG 2.2 accessibility problems in templates while you write them. Each finding explains what is wrong, who is affected and how to repair it, with short code examples plus a link to the matching W3C guidance.

An image without alt text, underlined in the editor, with the Curbcut hover

Supported files

HTML, JSX/TSX (React and similar), Vue single-file components, Svelte.

What gets flagged

  • Images without alt text; image buttons, icon links lacking an accessible name
  • Form inputs without labels
  • Skipped heading levels and a missing main landmark (marked in the Structure view; in complete HTML documents also in Problems with curbcut.bestPractices on)
  • Invalid ARIA roles, attributes, required children
  • Missing document language or title in complete HTML documents

Free features

  • Diagnostics in the open file on open and save, listed in Problems
  • Hover summaries plus a full explanation panel per finding
  • Quick fixes that insert missing attributes for you to complete
  • Headings and landmarks outline view
  • Disable comments for single lines when a rule does not apply: <!-- curbcut-disable-next-line image-alt -->, in JSX {/* curbcut-disable-next-line image-alt */}

The explanation panel next to the editor

Quick fix that adds an alt attribute

Curbcut Structure view with headings and landmarks

Pro: paid, $49 per year

One license also unlocks the Curbcut browser extension. Pro adds:

  • Workspace scan of every matching file, with a grouped report view
  • Baselines: commit .curbcut-baseline.json so only new issues get flagged
  • Exports to SARIF (for code scanning uploads), CSV or Markdown

We sell Pro with Polar as merchant of record. Buy it on the pricing page, then run Curbcut: Activate Pro License and paste the key from the purchase e-mail.

Curbcut Report view after a workspace check

Commands

Command Tier
Curbcut: Check Current File Free
Curbcut: Explain Issue Free
Curbcut: Show Headings and Landmarks Free
Curbcut: Check Workspace (Pro) Pro
Curbcut: Save Baseline (Pro) Pro
Curbcut: Export Report (Pro) Pro
Curbcut: Activate Pro License Free
Curbcut: Deactivate Pro License Free

Settings

Setting Default Meaning
curbcut.wcagLevel AA WCAG level to check against: A, AA or AAA
curbcut.bestPractices false Also report axe-core best-practice rules
curbcut.runOn open open (on open and save), save, or manual
curbcut.exclude [] Globs the workspace check skips, on top of files.exclude and .gitignore
curbcut.componentMap {} Components that render one HTML element, e.g. {"Image": "img", "Link": "a"}

Privacy

Everything runs locally inside the extension host. No telemetry is collected. Activating Pro sends your license key to Polar (api.polar.sh); after that it is confirmed at most once every 7 days. Free use sends nothing.

The key and its license status are kept in VS Code's SecretStorage (your system keychain). A baseline file stays in your workspace, under your own version control, and holds rule ids, file paths and element fingerprints, no code.

Limits

Static templates have no rendered layout, so colour contrast, target size or focus order cannot be measured here; the Curbcut browser extension covers those. Values computed at runtime count as unknown, never guessed. Automated testing catches only part of all WCAG failures.

Built on open-source axe-core (MPL-2.0) running against a parsed copy of each file; template scripts never execute. Licenses of bundled packages: THIRD-PARTY-NOTICES.md.

Support: support@saffo.dev

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft