This report covers the accessibility of your hosted checkout page, embedded payment widget, card input form and 3D Secure/authentication flow as rendered in a browser. It does NOT cover physical POS terminal hardware. If you also manufacture POS devices, the hardware layer (Annex I Section I) requires separate assessment.
Why one inaccessible widget breaks thousands of stores
E-commerce is covered by Art. 2.2(f) of Directive 2019/882. Every online store that sells to EU consumers must have an accessible checkout. But most stores do not build their own payment forms — they embed yours. If your card input field has no visible label, if focus is trapped inside an iframe, if the expiry date dropdown has no keyboard access, the entire checkout fails. Your widget is the accessibility bottleneck for every merchant that integrates it.
The commercial pressure is already here. Enterprise merchants are adding accessibility clauses to payment gateway contracts. Your competitors — Stripe, Adyen, Mollie — are publishing accessibility statements. If you cannot produce a documented assessment, you lose merchants.
What the EAA requires from your checkout widget
Card input form
Labels, placeholders, error association (WCAG 1.3.1, 3.3.1, 3.3.2).
Keyboard navigation
Tab order through card number, expiry, CVV, submit. No focus traps in iframes (2.1.1, 2.1.2).
3D Secure / authentication
Modal or redirect must maintain focus, announce content change (4.1.3), be operable by keyboard.
Error handling
Declined card, invalid number, expired card — errors must be identified in text, associated to the field (3.3.1, 3.3.3).
What you receive in your PDF
Cover page
Compliance score, verification reference, date.
Service identification and scope
Product, deployment context, evaluation method, legal framework.
17 WCAG 2.1 AA criteria
Criterion-by-criterion evaluation across four principles.
W3C remediation guidance
Actionable fixes per failed criterion.
Accessibility statement
Following Annex V of Directive 2019/882.
Legal basis and scope disclaimer
Directive 2019/882, EN 301 549 V3.2.1, national transposition law.
Generated in your browser.
What it costs
Three mistakes payment gateways make
"The merchant is responsible, not us"
Legally correct. Commercially irrelevant. If your widget fails, merchants leave.
Relying on iframe isolation as an excuse
Your widget inside an iframe is still part of the checkout flow. Focus traps, missing labels and contrast failures inside the iframe are the merchant's WCAG failures — caused by your code.
"We care about accessibility" marketing page
A marketing page is not a documented self-assessment under EN 301 549. Enterprise merchants require the actual report.
Enforcement
Fines apply to merchants. Merchants will switch gateways.
BFSG. Per-infringement fines.
Law 11/2023.
Ordonnance 2023-859.
Implementatiewet. Up to 10% of turnover.
What EAA-Report guarantees and what it doesn't
EAA-Report generates a document structured under Art. 13.2 of Directive (EU) 2019/882 based on the information you enter. The truthfulness, accuracy and completeness of that information is your responsibility as service provider.
We guarantee that the document structure follows Art. 13.2 of Directive (EU) 2019/882 and that the legal references cited are correct. We do not guarantee that a specific document will be accepted by a market surveillance authority in a specific case.
EAA-Report is not legal advice. For specific situations, consult a lawyer or specialised regulatory consultancy.
Frequently asked questions — Payment gateways
Is our gateway directly obligated?
Does this cover POS hardware?
One report for all merchants?
What about iframes?
15 minutes?
Certified audit?
⚠️ Important notice: EAA-Report is a self-assessment documentation tool, not legal advice and not a third-party audit. The document is generated from your input data. You are responsible for the accuracy of the data you provide. EAA-Report does not replace a qualified professional assessment.
Official legal sources
- Directive (EU) 2019/882 — European Accessibility Act — full text