Is my website accessible under EU law?
The checker reads one page and measures what a machine can of WCAG 2.1: alt text on images, labels on form fields, names on links and buttons, headings in order, zoom on a phone, the page language, titles on embedded frames. It gives the number of errors with the three heaviest first, each with the WCAG criterion that EN 301 549, the European standard behind the European Accessibility Act, takes over. Below the result you test your colour contrast, the most common failure of all.
A machine measures only part of it. In the largest side-by-side study, the best tool found 41 percent of the barriers on a test page and all tools together 71 percent. Whether an alt text describes the image, whether the site works by keyboard alone, whether an error message makes sense: that takes a person, and the checker says so.
Where the errors usually are
- 1Low contrast1.4.383.9%
- 2Image without alt text1.1.153.1%
- 3Field without a label1.3.151.0%
- 4Link without a name2.4.446.3%
- 5Button without a name4.1.230.6%
- 6Language not set3.1.113.5%
Share of the million most visited homepages with that error, WebAIM February 2026. 95.9 percent had at least one. The check above measures points 2 to 6; contrast you measure with the colour check.
What the checker measures, per WCAG criterion
Each error with its WCAG 2.1 criterion and what a visitor runs into.
- Image without alt text
- WCAG and level1.1.1, A
- What a visitor runs intoa screen reader reads out the file name
- Field without a label
- WCAG and level1.3.1 and 4.1.2, A
- What a visitor runs intosomeone who cannot see does not know what to enter
- Link or button without a name
- WCAG and level2.4.4 and 4.1.2, A
- What a visitor runs intoan unexplained icon, announced as just link or button
- Page without a language
- WCAG and level3.1.1, A
- What a visitor runs intotext read out with the wrong pronunciation
- Headings skipping a level
- WCAG and level1.3.1, A
- What a visitor runs intojumping from heading to heading loses the structure
- Zoom turned off
- WCAG and level1.4.4, AA
- What a visitor runs intopeople with low vision cannot enlarge text on a phone
- Map or video without a title
- WCAG and level4.1.2, A
- What a visitor runs intoan unexplained frame in the screen reader
- Too little contrast
- WCAG and level1.4.3, AA
- What a visitor runs intolight grey text unreadable outdoors or on an older phone
Almost all of these are an afternoon's work: an alt text, a label, a name on a button. They sit on nearly every site because nobody checked.
What the European Accessibility Act asks of a website
The European Accessibility Act has applied since 28 June 2025. For a website the core is e-commerce: anyone selling online to consumers in the EU must let a person with a disability choose, order, pay for and return a product on their own. Each member state wrote it into its own law; in Belgium that is the Code of Economic Law, through the law of 5 November 2023, with the Economic Inspection of the FPS Economy as regulator. Micro-enterprises in Belgian e-commerce have until 28 June 2030 rather than an exemption. The whole act is set out in our guide to the European Accessibility Act, and whether your site is in scope in European Accessibility Act website requirements.
That reaches beyond the EU. A UK or US company selling to consumers in the EU falls under the act for those sales, the same way it falls under EU consumer law. The law itself has no checklist; in practice everyone tests against WCAG 2.1 level AA, the bar EN 301 549 sets for websites. A newer edition of the standard with WCAG 2.2 has been published but is not yet the official reference. How shops are doing a year in is covered in the EU accessibility law one year on.
Contrast, the most common failure
On 83.9 percent of the million most visited homepages, text contrast is too low. WCAG asks 4.5 to 1 for normal text, 3 to 1 for large text of 18 point or 14 point bold, and 3 to 1 for buttons and icons. Enter your text and background colours in the colour check to see the ratio at once.
| What | Level AA | Level AAA |
|---|---|---|
| Normal text | 4.5 : 1 | 7 : 1 |
| Large text, 18 point or 14 point bold | 3 : 1 | 4.5 : 1 |
| Buttons, icons and field borders | 3 : 1 | no requirement |
A brand colour that works as a surface often fails as small text: this site's light blue does not reach 4.5 on white, which is why our text is navy and our buttons are white on a darker blue.
Alt text that says something
Alt text describes what an image shows for someone who cannot see it: a product photo gets its name and what stands out, a chart what it shows, a decorative image an empty alt so a screen reader skips it. "Image" or the file name is not alt text. How to write it, for people and for Google, is in alt text.
Testing what a machine cannot see
- Keyboard onlyPut the mouse away and Tab through the page. Can you always see where you are, open the menu, pick a product and send the form?
- With a screen readerTurn on VoiceOver on a Mac or iPhone, or NVDA on Windows. Listen to your homepage: do you hear what each link and button does?
- Zoomed to 200 percentZoom to 200 percent on a desktop. Does everything stay readable without scrolling sideways?
- Your error messagesSend your form with a mistake. Does the message say what is wrong and where, in words and not only in red?
Website accessibility questions
How do I check if my website is accessible?
Start with the checker on this page, which measures what a machine can of WCAG. Then test by keyboard alone, with a screen reader and zoomed to 200 percent, because about half of WCAG needs a person.
Does the European Accessibility Act apply to a UK or US company?
It does for sales to consumers in the EU. A shop selling into the EU from outside must meet the same requirements for those customers.
What is the WCAG contrast requirement?
4.5 to 1 for normal text, 3 to 1 for large text and for buttons and icons, at level AA. At level AAA it is 7 to 1 for normal text.
Do accessibility overlays work?
Rarely. An overlay sits on top of the site but does not fix the code, and screen readers read the code. Fix the errors in the site itself.