Free accessibility checker
Run the axe-core accessibility engine on your page in a real browser to find common barriers — such as form fields without labels, low colour contrast, images without text alternatives and ARIA mistakes — and learn how to fix them.
What this tool checks
Text alternatives
Images, image buttons and other non-text content without a text alternative that a screen reader can read.
Form labels
Inputs, checkboxes and selects that have no accessible label, so assistive technology can't say what they're for.
Colour contrast
Text whose colour is too close to its background to meet WCAG AA contrast ratios.
Names for links and buttons
Links and buttons with no readable name — often icon-only buttons.
ARIA
ARIA roles and attributes that are invalid, not allowed on that element, or missing required parts.
Page structure
A page language, a page title, landmarks and other structural rules from WCAG and axe-core's best practices.
Where to find each problem
For each failing rule (up to 25), how many elements fail, up to five examples with their CSS selector and HTML, what's wrong with them, and a link to the rule's documentation.
Needs manual review
Rules axe-core couldn't decide automatically — for example contrast over a background image — listed separately so you can check them by eye. Passed rules are listed too.
How the check works
We load your page in headless Chromium, add the axe-core library and run its default rule set on the page after it has rendered, so content added by JavaScript is tested too. The default set covers WCAG 2.x level A and AA rules plus axe-core's best practices.
Each rule that fails lowers the score by its impact: 15 points for critical, 10 for serious, 5 for moderate and 2 for minor. The deduction is per rule, not per element, so one missing label and twenty missing labels cost the same — the issue tells you how many elements are affected.
Automated testing finds only part of the accessibility problems a page can have. Many need a person to judge — whether alt text is actually meaningful, whether the keyboard order makes sense, whether content is understandable. Treat this check as a starting point, not a certificate.
Evidence you'll see
Each problem names the axe-core rule, its impact, the number of affected elements and up to five examples — the CSS selector, a short HTML snippet and axe-core's explanation of what to fix — with a link to the rule's documentation. Rules that need a person to decide are marked for manual review.
What this tool does not check
Everything WCAG asks for
Automated testing finds only a subset of accessibility problems. Many success criteria need a person to judge.
Keyboard and screen reader use
It doesn't tab through the page or listen to a screen reader, so focus order and announcements aren't tested.
Whether text makes sense
It can tell that alt text exists, not whether it describes the image well, or whether instructions and labels are clear.
Other states of the page
Only the page as it first renders is tested — not open menus, dialogs, error messages or pages behind a login.
Common problems we find
Low contrast text
Light grey text, text on coloured buttons, and placeholder text used instead of a label.
Images without alt text
Logos, product photos and images used as links.
Form fields without labels
Search boxes and newsletter sign-ups that rely on placeholder text only.
Icon-only buttons and links
Menu, close, social and cart icons with no text for screen readers.
Missing page language
No lang attribute on the html element, so screen readers may use the wrong pronunciation.
ARIA used incorrectly
Roles on the wrong elements, or references to IDs that don't exist.
How to fix them
Darken text or lighten backgrounds
Aim for a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text. A contrast checker in your browser's developer tools shows the ratio.
Add alt text that says what the image is for
Describe what matters in the context — “Download the price list” for an icon link, not “icon”. Use alt="" for purely decorative images.
Give every field a visible label
Use a label element linked to the input. If a design truly can't show one, use aria-label — but visible labels help everyone.
Name icon buttons
Add visually hidden text or an aria-label, for example aria-label="Open menu".
Prefer native HTML to ARIA
A real button or link element is accessible by default. Add ARIA only when there's no native element for the job.
Test by hand, too
Try using the page with only the keyboard, and with a screen reader such as NVDA or VoiceOver, to find what automated rules can't.
Frequently asked questions
If I pass this check, is my site WCAG compliant?
No. Passing means no problems were found by the automated rules. Many WCAG requirements can only be checked by a person, so compliance needs manual review as well.
Does it test keyboard navigation or screen readers?
No. axe-core inspects the page's code and computed styles. It can't tell whether the tab order makes sense or how a screen reader actually announces the page — test those by hand.
Which WCAG version and level does it use?
axe-core's default rule set: WCAG 2.x rules at levels A and AA, plus best-practice rules. Level AAA rules are not included.
Why did fixing one element not change my score?
The score drops once per failing rule, whatever the number of elements. A rule only stops counting against you when every element it flagged is fixed.
Can it check pages behind a login?
No. We can only test pages that load publicly without signing in.
Helpful guides
Related free tools
- Mobile CheckerSee your page on phone, tablet and desktop screens and find content that spills off the screen.Open Mobile Checker
- SEO CheckerCheck your page title, description, headings, image descriptions, canonical URL, robots.txt and sitemap.Open SEO Checker
- Website AuditCheck one page for SEO, speed, mobile, accessibility, security, broken links and server problems in a single report.Open Website Audit
Rather have someone fix it for you?
These checks are free and so are the guides. If you'd prefer a person to make the changes, our team offers paid help.