EAA and your WooCommerce store. Compliance checklist in 2 hours

Check in 30 seconds whether the law applies to you
Three control questions. Answer "yes" / "no" in your head.
- Do you run an online store or a website with consumer services (sales, reservations, e-books, tickets, banking)?
- Do you employ more than 10 people or does your annual turnover exceed 2 million EUR?
- Is your website in Polish or available to customers from the EU?
If you answered "yes" to all three, the European Accessibility Act (EAA) applies to you. Since June 28, 2025.
If you answered "no" to even one (or you're not sure), stay with me. Within the next 8 minutes you'll read whether the law covers you, what penalties you face for ignoring it, and how to check your own store in 2 hours.
What the EAA is and why June 28, 2025
The European Accessibility Act (Directive EU 2019/882) is an EU document meant to remove digital barriers for around 87 million people with disabilities in Europe. In practice, it requires digital products and consumer services to be accessible according to WCAG 2.1 standard at AA level.
In Poland, the directive was implemented by the Act of April 26, 2024 on ensuring fulfillment of accessibility requirements for certain products and services by economic operators. The Act came into force on June 28, 2025.
What does an "accessible store" actually mean? Four simple pillars:
- Perceivability — content can be seen and heard (contrast, alts, transcripts)
- Operability — everything can be done with a keyboard and a screen reader
- Understandability — plain language, comprehensible form errors, logical structure
- Robustness — code compliant with standards, working with screen readers
Three of four pillars cover 90% of the work that most WooCommerce stores haven't done.
Who exactly faces fines and how much
Who the law covers:
- Online stores selling to consumers
- Banks and online financial services
- Telecom and passenger transport operators
- E-books and their distributors
- Manufacturers and importers of ICT devices (computers, smartphones, terminals, e-readers, ATMs, ticket machines)
Who is NOT covered:
- Micro-businesses providing services (up to 10 employees + turnover up to 2 million EUR annually). Caution: the exclusion only covers services. A micro-business that imports or manufactures ICT devices is subject to product obligations.
- Archived content from before June 28, 2025 (if not updated), during the transition period until June 28, 2030.
Fines:
An administrative fine can amount to up to ten times the average monthly salary, but no more than 10% of annual turnover from the previous financial year of the company.
Source: Act of April 26, 2024, provisions on administrative penalties.
In practice: for a store with annual turnover of 600,000 PLN, the maximum fine is around 60,000 PLN. For a store with 6 million PLN turnover, up to 600,000 PLN.
Supervision is exercised by the President of PFRON (for services) and market and customs supervisory authorities (for products). The first proceedings are already starting. The legislator has set a 5-year transition period (until June 28, 2030) for full implementation, but supervision has been active from day one.
My perspective
I've been auditing website accessibility for a few years. My portfolio includes 12 local government portals (municipalities, counties, public utilities), where WCAG has been mandatory since 2019. Through this work I've seen the full spectrum of errors. The same errors are made by most WooCommerce stores in Poland.
The recurring pattern:
"We have a website from an agency for 8 thousand. Since we pay for hosting, everything's covered." Five years later the audit shows 47 AA errors, including 12 critical ones.
A person with a disability is not a statistical exception. It's one in eight Poles. Customers you lose every day because your checkout doesn't work with a screen reader, and the contrast of the "Buy now" button is 2.1:1 instead of 4.5:1.
The same thing that has already been forced in the public sector by the Ministry of Digital Affairs monitoring is now entering the private sector. One to one.
7 most common WCAG 2.1 AA errors in WooCommerce
In order of frequency from my audits.
1. Text contrast below 4.5:1
A classic. Light gray "Bestseller" text on a white background (contrast 2.8:1). Promotional price on a red background where the white text has a contrast of 3.2:1. WCAG AA requires 4.5:1 for regular text, 3:1 for large text.
2. No visible focus indicator on keyboard navigation
Press Tab. If you can't clearly see where you are (border, highlight, outline), a keyboard user is lost. Many WooCommerce themes remove the browser's default outline with outline: none and don't replace it with anything visible.
3. Form fields without labels (label) or with placeholder instead of label
The placeholder disappears after clicking. The screen reader reads "text field," and the user doesn't know whether to enter a name, postal code, or tax ID. Each field must have a corresponding <label> with for=.
4. Error messages with red color only
Classic WooCommerce checkout. "Email" field with a red border and no text. A person with color blindness sees no difference. Every error must have text describing the problem ("Enter a valid email address").
5. Product images without meaningful alt
Either alt="" (empty), or alt="image1234.jpg", or alt="Product". It should be: alt="Salomon X Ultra 4 trekking boots, brown, side view". For decorative products, an empty alt is fine, but for photos critical to the purchase decision, that's sacrilege.
6. Sliders and carousels without controls
Hero with autoplay, no "Stop" button, no keyboard navigation. A classic pattern that breaks 3 WCAG criteria at once.
7. No accessibility statement in the footer
Even if the store is accessible, the lack of a statement is a formal deficiency. The EAA requires publishing information about compliance (or non-compliance and a remediation plan) on the website.
The 2-hour checklist, step by step
Each step has a tool and a time. You can do this yourself, without a developer. Open your store, open this list, and go through it in order.
Step 1. Automated scan (15 minutes)
Install axe DevTools (a Chrome extension, free version). Open your homepage, F12, "axe DevTools" tab, "Scan ALL of my page" button.
You'll get a list of errors with categories: critical, serious, moderate, minor. Take a screenshot, save the result.
Then run the same test on: a category page, a product page, the cart, checkout. These are the 5 most important URLs of the store.
Alternatively, WAVE (online, free) or Lighthouse (built into Chrome, F12 → Lighthouse → Accessibility).
Result: a list of 10–60 errors. That's your map.
Step 2. Keyboard test (20 minutes)
Put away the mouse. Press Tab. Go through the entire homepage → category → product → add to cart → checkout → finalization.
You're checking four things:
- You can see where you are (visible focus)
- You can reach everywhere (every interactive element is reachable)
- Logical order (Tab follows the visual layout)
- Skip link ("Skip to content" link at the start, for screen reader users)
Result: typically you fall into a modal or menu trap that you can't exit with the keyboard.
Step 3. Contrast (15 minutes)
WebAIM Contrast Checker (online, free). Check:
- Navigation text vs background
- Product description text vs background
- Price (especially promotional)
- Buttons ("Add to cart," "Buy now," "Order")
- Footer
Target: 4.5:1 for regular text, 3:1 for large text (18pt+ or 14pt+ bold).
Result: typically 3–8 elements need fixing. This is often a quick CSS fix.
Step 4. Forms and checkout (20 minutes)
Open checkout. Check every field:
- Does it have a
<label>visible on screen? (not just a placeholder) - Are required fields marked with text, not just a red asterisk?
- Does the validation error have text (not just a red border)?
- Do form fields have autocomplete attributes like
autocomplete="email",autocomplete="postal-code", etc.?
Then simulate an error: leave email empty, click Order. Check whether the error message is:
- Textual (not just a red border)
- Linked to the field (the
aria-describedbyattribute) - Announced by the screen reader (
role="alert"oraria-live)
Result: usually 5–10 errors at checkout alone, critical for conversion.
Step 5. Image alt + multimedia (15 minutes)
In your WP panel, in the media library, check how many product images have alt text. If less than 90%, you have work to do.
Rule:
- Product photo = alt describing the product ("Salomon X Ultra 4 trekking boots, brown")
- Decorative photo =
alt=""(empty, but present) - Logo linking to homepage = alt with the company name
- Functional icons (search magnifier) = aria-label describing the function
Videos on a product page? They require captions or transcripts.
Result: there may be hundreds of images to fix. This is the moment when you usually decide to call in a developer (a script for bulk alt addition).
Step 6. Screen reader (15 minutes)
Download NVDA (Windows, free, open source). Turn it on, open the page. Listen.
You're checking four things:
- Headings read in a sensible order (H1 → H2 → H3, no skips)
- Links readable (not "click here," but "see Salomon product")
- Forms announce labels, errors, instructions
- Cart status after adding a product (announcement "added to cart")
This may be the most uncomfortable 15 minutes of your day. You do it once in your life and stop having a crappy store.
Step 7. Accessibility statement (10 minutes)
In the website footer, there should be an "Accessibility statement" link. Clickable from every page.
Statement content:
- Compliance status (compliant / partially compliant / non-compliant)
- List of known non-compliances (if any) with a remediation plan
- Date of last update
- Contact details for the responsible person
- Complaint procedure (to PFRON)
No statement = automatic violation of the law, regardless of the rest of the audit result.
Template: Accessibility statement generator at gov.pl (official, free).
What if you don't make it in 2 hours
Three realistic paths.
A. Continue on your own. If the checklist shows 5–15 errors and they're simple (contrast, alt, label), you fix them manually. WP theme changes, image replacement, label addition. That's 4–8 hours of your own work.
B. External audit + priority report. If the result is 30+ errors, or you're not sure what's critical and what's cosmetic, you order an external audit. You get a report with a list sorted by risk and an estimate of fix time. You decide what you do yourself and what you outsource.
C. Full "audit + fix + statement" service. A store with a 50+ error result, or an owner who wants this off their plate. You hire a developer (me or someone else) who runs the audit, lists critical fixes, implements changes in the theme and plugins, generates an accessibility statement, sets up monitoring (so the next plugin update doesn't undo the fixes). That's 4000–12000 PLN, once, for years.
Frequently asked questions
Does the EAA apply to my small store if I'm a micro-business? If you employ up to 10 people on average annually and your annual turnover doesn't exceed 2 million EUR, the exclusion from Article 4(1) of the Act covers e-commerce services. In practice, an online store run by a micro-business doesn't need to meet EAA requirements. Caution: if you place products covered by the Act on the market (terminals, e-readers, ICT devices), those products are subject to the obligations.
What fines specifically apply for non-compliance? An administrative fine can amount to up to ten times the average monthly salary, but no more than 10% of the company's annual turnover from the previous financial year. It's imposed first by the President of PFRON, and for products, by market and customs supervisory authorities.
Is WooCommerce "out of the box" compliant with WCAG 2.1 AA? No. Standard WooCommerce has some good fundamentals (semantic controls, ARIA support), but every popular theme and every plugin extending the cart or checkout can break accessibility. In practice, 90% of WooCommerce stores I audit have between a dozen and several dozen AA errors.
Is an "accessibility button" or overlay like accessiBe enough? No. A US federal court has ruled that an overlay doesn't release you from the compliance obligation (Murphy v. Eyebobs, 2021). In practice, an overlay masks problems instead of solving them and can even be a hindrance for users of screen readers. The law requires real code compliance, not a cosmetic layer.
How much does a full WCAG/EAA audit cost for a WooCommerce store? An automated + manual audit alone, in the form of a report with a list of errors and priorities, is usually 1500–4000 PLN, depending on store scale. A full "audit + fix critical errors + accessibility statement" service is 4000–12000 PLN. A free 30-minute consultation starts every conversation.
What to do now
If you run a store and haven't yet checked the list at the start of the article, go back there. It takes 30 seconds.
If the checklist shows 5+ errors or you're not sure whether the law covers you, book a free 30-minute consultation. We'll discuss the specific situation of your store, and you'll leave with an action plan in writing. No sales pressure. If it turns out your case is so simple you can handle it yourself, I'll tell you that straight up.
If you're interested in ongoing care for the store (audit + monitoring + fixes after every plugin update), check out technical care. I do this for 80+ client websites.
If this article was useful, send it to someone who runs a store and hasn't heard about EAA yet. There are many such people. The court won't soften the fine with "I didn't know."
Przemek Drożniak
Web Developer & Designer
For more than 10 years I have been building websites for businesses and institutions. 80+ projects, 60+ 5-star reviews on Google. I focus on quality and an individual approach to every project.
I build websites that serve for years.
Read also

Website maintenance - what you actually get and what it should cost
Check in 60 seconds whether your website gets regular updates. What MUST be in a maintenance package, what most providers don't deliver, and what it should cost in 2026.
Read more
Hostage website. How to recover your domain when the webmaster disappears
Check who owns your domain in 30 seconds. What to do when the webmaster goes silent. A practical 4-step guide with a prevention checklist.
Read moreWant to talk about your website?
30 minutes. No commitment. You will learn exactly what to do.