WCAG-fixar för WooCommerce
Granska detekterar er WooCommerce-version, identifierar WCAG-fel i tema och tillägg, och genererar PHP-fixar med rätt syntax — inte generiska rekommendationer.
De 7 vanligaste WCAG-felen i WooCommerce
WooCommerce-specifika mönster — checkout-flödet är där de flesta tillsynsärenden uppstår.
Checkout-formulär utan associerade labels
WooCommerce default-fält renderar labels separat från input, men kombinationen med många payment-gateway-plugins skapar implicita labels eller saknade for/id-bindningar.
Otillräcklig kontrast på 'Lägg i varukorg'
Storefront och Astra Pro Woo-paket använder accent-färger som faller under 4.5:1 mot grå bakgrunder — gäller särskilt sale/strike-through-pris.
Produktbild-galleri utan alt-text
Produktarkiv-thumbnails använder ofta produkttiteln som alt, men varianter och gallery-bilder ärver inte automatiskt.
Variations-dropdowns utan tillgängliga namn
Color/size swatches från plugins (WooCommerce Variation Swatches) renderar custom-elementer utan role eller aria-label.
Cart-meddelanden utan aria-live
'Produkten är tillagd i varukorgen'-toast visas visuellt men skärmläsaren har ingen polite/assertive-region att läsa upp.
Felaktig heading-hierarki i produktarkiv
Produktkort renderar typiskt med <h2> per produkt utan att vara semantiskt korrekt nästade i sektion-hierarkin.
Fel i checkout-validering utan tydlig identifiering
Validation-meddelanden visas inline men associeras inte programmatiskt med det felande fältet via aria-describedby.
Så identifierar Granska att ni kör WooCommerce
/wp-content/themes/... + woocommerce-detectionclass="woocommerce woocommerce-cart woocommerce-checkout"/wp-content/plugins/woocommerce/.../cart/ · /checkout/ · /my-account/ · ?wc-ajax=...Tre kodfixar för vanliga WooCommerce-issues
Säkerställ aria-label på checkout-fält utan synlig label
// Granska: lägg på aria-label på checkout-fält som saknar label
add_filter(
'woocommerce_form_field_args',
function ($args, $key, $value) {
$needs_aria = empty($args['label'])
&& empty($args['custom_attributes']['aria-label']);
if ($needs_aria) {
$args['custom_attributes']['aria-label'] = ucfirst(
str_replace('_', ' ', $key)
);
}
return $args;
},
10,
3
);Aria-live på cart-fragments för skärmläsar-feedback
// Granska: gör cart-fragments tillgängliga för skärmläsare
add_action('wp_footer', function () {
?>
<div
id="granska-cart-live"
aria-live="polite"
aria-atomic="true"
class="screen-reader-text">
</div>
<script>
jQuery(document.body).on('added_to_cart', function (e, fragments, cart_hash, button) {
const product = button?.data('product_id') || '';
document.getElementById('granska-cart-live')
.textContent = 'Produkten har lagts i varukorgen.';
});
</script>
<?php
});Bind valideringsfel till felande fält via aria-describedby
// Granska: koppla valideringsfel till rätt input
add_filter(
'woocommerce_checkout_fields',
function ($fields) {
foreach ($fields as $section_key => $section) {
foreach ($section as $key => $field) {
$fields[$section_key][$key]['custom_attributes']['aria-describedby']
= 'wc-error-' . $key;
}
}
return $fields;
}
);
add_action('woocommerce_form_field_text_after',
function ($key, $args, $value) {
echo '<span id="wc-error-' . esc_attr($key) . '" '
. 'class="wc-field-error" role="alert" hidden></span>';
},
10,
3
);Vanliga problem per WooCommerce-tillägg
Vad vi ser i populära WooCommerce-teman
Skanna er WooCommerce-sajt på 60 sekunder
Granska detekterar WooCommerce-version, dina aktiva payment-gateways och variant-plugins, och genererar PHP-fixar med rätt filter-hooks.
Automatiserad scanning hittar 30–40 % av alla WCAG-fel. Full compliance kräver även manuell granskning.