Sector guide · E-commerce
BFSG for online shops
If you sell to consumers online in Germany, the BFSG has applied to your shop since 28 June 2025. It is not a design guideline — it is product legislation, and the market surveillance authority acts on complaints. This is what it covers, where shops actually fail, and what to check first.
- Applies to B2C shops in the EU
- Benchmark: EN 301 549 → WCAG 2.2 AA
- Micro-enterprise exemption explained below
Does it apply to your shop?
The BFSG covers services in electronic commerce provided to consumers. That is the shop itself, but also everything around the transaction — the account area, the order confirmation, the returns form, and the app if you have one.
- You sell goods or services to consumers (B2C) — a pure B2B wholesale portal is out of scope
- The service is provided in Germany, regardless of where your company sits
- Micro-enterprises are exempt for services: fewer than 10 staff and an annual turnover or balance sheet total of at most €2m — one of the two figures is enough
- Selling a physical product is different from providing the service: hardware in scope has its own obligations
- You must publish the accessibility information Annex 3 BFSG asks for (section 14 BFSG): how your shop meets the requirements, and which authority supervises it. A statement with a feedback mechanism is the public-sector duty under BITV 2.0, not the BFSG's
Sector guide · E-commerce
Where shops actually fail
Across the shops we have scanned, the failures cluster in the same four places — and none of the four is the homepage everybody tests.
-
The checkout loses focus
A payment dialog opens and focus stays on the page behind it. Keyboard users are left tabbing through invisible elements while a modal they cannot reach waits for input. This is the single most expensive failure to ship, because it stops the purchase.
-
Product images say nothing
Catalogue imports bring their filenames with them, so a gallery announces “DSC_0041.jpg” eleven times. Variant swatches are usually worse: colour squares with no name at all.
-
Form errors are colour only
The address step marks failures with a red border and no text. Nothing is announced, nothing names the field, and the customer is told only that something is wrong.
-
Filters are unreachable
Faceted navigation built from div elements with click handlers, and a result count that updates silently — so the filter appears to do nothing at all.
The criteria a shop should check first
Not all fifty apply equally to a shop. These are the ones that decide whether somebody can complete a purchase — the failures a complaint would name first. Each links to a plain-language page on that criterion: what it asks for, how it fails in practice, and how far an automated check can get.
What to do about it
-
Test the purchase, not the homepage
Pick your highest-volume journey — search, product, basket, delivery, payment, confirmation — and walk it with the keyboard alone. Most shops find a blocker before the basket.
-
Fix the template, not the page
A shop has perhaps twelve templates and fifty thousand URLs. A finding on one product page is a finding on every product page, which is why our reports group by rule and rank by pages affected.
-
Publish the accessibility information honestly
Annex 3 BFSG asks how your service meets the requirements, so it has to say where it does not yet. Information claiming full conformance on the strength of an automated scan is the document that turns a complaint into a fine.
-
Keep it from coming back
You ship weekly; an audit is a snapshot. Re-crawl on a schedule so a regression shows up as a new finding rather than as a customer complaint.
Questions shops ask
We are under the micro-enterprise threshold. Do we need to do anything?
For services — which is what a shop is — micro-enterprises with fewer than 10 employees and an annual turnover or balance sheet total of at most €2 million are exempt. The staff limit always applies; of the two financial figures, one is enough. The exemption does not cover products, and it does not stop a customer who cannot check out from going elsewhere.
Our shop platform says it is accessible. Is that enough?
No. Platforms ship accessible components; themes, apps and custom checkout steps then break them. What matters legally is what your customers get, not what the vendor tested. Scan your live shop — that is the thing the law is about.
What happens if somebody complains?
The market surveillance authority can require you to remedy the defect, and can ultimately prohibit the service from being offered. In practice, the first contact is a request for information — which is much easier to answer if you already have a report, your Annex 3 accessibility information and a remediation plan.
Written to be useful, not to be legal advice. It reflects our reading of the BFSG and EN 301 549 as of 12 October 2026; for a binding assessment of your obligations, ask a lawyer.
Further reading
-
Keyboard agent
Keyboard accessibility testing with real keys: the agent tabs through your pages, finds keyboard traps and invisible focus, and records every step.
-
Shop systems & CMS
One guide per shop system and CMS: what the platform gives you, what it does not, and where to test first.
-
WooCommerce
Block checkout and accessibility-ready themes are a start. Consent banners, swatch plugins, AJAX filters and payment iframes are where WooCommerce shops fail.
-
JTL-Shop
JTL calls NOVA accessible from 5.5.0. Child templates written before the update, plugins and empty img_alt fields in JTL-Wawi are where JTL shops still fail.
-
Magento / Adobe Commerce
On Magento the frontend decides: Luma-based themes carry defects Adobe itself has documented, and extensions, checkout and headless builds add their own.
-
Gambio
Gambio has fixed a lot in Malibu since 2025, but only for shops that update. Old themes, StyleEdit colours, hover-only buttons and the checkout are where Gambio shops fail.
-
plentymarkets / PlentyONE
Two storefronts, one ERP: theme plugins, container plugins and item data synced for marketplaces are where plentymarkets shops fail, whichever shop you run.
-
Wix
Wix writes the markup; you choose order, headings, colours, apps and alt text. Freely placed elements and App Market apps are where Wix sites fail.
-
Drupal
Drupal core has an accessibility gate. Custom themes, contributed modules and what editors put into CKEditor 5 do not – that is where Drupal sites fail.
-
OXID eShop
OXID says APEX meets WCAG level AA. Child themes frozen on old templates, modules writing into theme blocks and the checkout are where OXID shops still fail.
-
Webflow
Webflow's tested elements and Audit panel are a start. Interactions without a reduced-motion condition and widgets built from div blocks are where Webflow sites fail.
-
Joomla
Cassiopeia was built for accessibility and jooa11y checks articles. Commercial templates, old overrides and extensions with no accessibility information are where Joomla sites fail.
-
Jimdo
First check whether the BFSG applies at all. If it does: Jimdo colour sets that fail contrast, three heading sizes used for looks and pasted-in widgets are where Jimdo sites fail.
-
Squarespace
Squarespace ships a skip link, focus outlines and labelled checkout fields. Free Fluid Engine layouts, colour choices and pasted-in code are where sites fail.
-
IONOS MyWebsite
MyWebsite Now gives you heading levels, alt text and embed title fields – filling them in is your job. Unchecked AI-generated pages, weak palettes and untitled embeds are where sites fail.
See what this finds on your site
Send a URL. We scan up to 100 pages, send the keyboard agent through the page you name and email you the report — free, once, no strings.