Accessibility Checker
Paste an HTML snippet — get static heuristic findings for missing alt text, unlabelled inputs, heading-order skips, keyboard traps, and more. 12 WCAG-aligned checks, no external service.
Runs 100% client-sideOn this page5 sections
Static heuristic check on pasted HTML only — this is not a full accessibility audit. For a real audit, use axe-core, Lighthouse, or manual testing with VoiceOver/NVDA/JAWS.
HOW TO USE
- 01Paste an HTML snippet from a component or page template.
- 02Review the flagged issues — missing alt text, unlabelled inputs, heading-order skips, positive tabindex.
- 03Fix the flagged items, then follow up with axe/Lighthouse and manual keyboard testing for a full audit.
Try it
Paste a checkout form's HTML to confirm every input has a labelWHEN TO USE
Use when you want a quick static heuristic scan of an HTML snippet before committing it — catching missing alt text, unlabelled form inputs, heading-order skips, and other structural issues without running a full browser-based axe scan. It is a first-pass triage tool: paste the markup from a component or page template, fix the flagged items, then follow up with axe/Lighthouse and manual keyboard testing for a complete audit.
WHAT BUGS THIS FINDS
Screen-reader inaccessible images
img elements without an alt attribute force screen readers to announce the file name — meaningless or noisy for users relying on AT.
Keyboard-inaccessible interactive elements
div and span elements with onclick handlers have no implicit keyboard role — keyboard-only users cannot trigger them.
Form inputs without labels
Inputs not associated with a label (via for/id or aria-label) leave screen reader users without context for what to enter.
Positive tabindex breaks natural tab order
tabindex values > 0 override the natural document order, causing focus to jump in confusing ways for keyboard users.
QA USE CASES
PR review accessibility triage
Paste the template HTML from a new component and confirm structural issues are fixed before the PR merges.
Form label audit
Paste a registration or checkout form and confirm every input has an associated label or aria-label.
Image alt text sweep
Paste an article or landing page template — flag every img without alt or with alt='' on a non-decorative image.
Heading hierarchy check
Detect h1→h3 skips that break screen-reader document structure before a page goes live.