WooCommerce accessibility: the checkout is where it costs you
Roughly a quarter of all online stores
WooCommerce core is better than most people expect. The damage is nearly always done by the theme's product templates and by checkout customisations, and unlike a blog, a failure here is a lost sale rather than a lost visit.
What actually breaks on WooCommerce
01The whole product card as one link
Many themes wrap the entire card in a link and then put an Add to Cart button inside it. A control inside another control cannot be reliably reached by keyboard or screen reader.
Where to fix it: Restructure the card so only the product title is the link. In a block theme, use the Product Title block as the link rather than the whole card.
02Variation dropdowns with no label
Size and colour selectors often lose their labels to theme styling, so a screen reader user hears 'combo box' with no idea what it selects.
Where to fix it: Check whether your theme hides the variation label. Our plugin's label repair covers these specifically.
03Checkout fields after customisation
WooCommerce ships correct labels and autocomplete attributes out of the box. Checkout field plugins and theme overrides routinely strip them, which breaks autofill for everyone and labels for screen reader users.
Where to fix it: Test the checkout with a password manager. If it cannot fill the address, the autocomplete attributes are broken.
04Error messages that are never announced
A red border round a field tells a screen reader user nothing. Failed checkouts are the most expensive accessibility failure there is.
Where to fix it: Submit your checkout with a deliberately wrong postcode and listen to what happens.
The encouraging part
Fixing the product template fixes every product at once, and fixing the checkout tends to lift conversion for sighted visitors too, because the same failures break autofill.
Find out which of these apply to you
The scanner detects that you are on WooCommerce and writes the repair steps for that setup. Free, about fifteen seconds, no signup.