Hoppa till innehåll
PTS-tillsyn17 pågående tillsynsärenden mot svensk e-handel
Granska
Stack-specifik scan

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.

4.1M
globala butiker
8k+
svenska e-handlare
7
vanligaste WCAG-fel
01 · Felmönster

De 7 vanligaste WCAG-felen i WooCommerce

WooCommerce-specifika mönster — checkout-flödet är där de flesta tillsynsärenden uppstår.

CriticalWCAG 3.3.2

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.

CriticalWCAG 1.4.3

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.

HighWCAG 1.1.1

Produktbild-galleri utan alt-text

Produktarkiv-thumbnails använder ofta produkttiteln som alt, men varianter och gallery-bilder ärver inte automatiskt.

HighWCAG 4.1.2

Variations-dropdowns utan tillgängliga namn

Color/size swatches från plugins (WooCommerce Variation Swatches) renderar custom-elementer utan role eller aria-label.

HighWCAG 4.1.3

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.

MediumWCAG 2.4.6

Felaktig heading-hierarki i produktarkiv

Produktkort renderar typiskt med <h2> per produkt utan att vara semantiskt korrekt nästade i sektion-hierarkin.

LowWCAG 3.3.1

Fel i checkout-validering utan tydlig identifiering

Validation-meddelanden visas inline men associeras inte programmatiskt med det felande fältet via aria-describedby.

02 · Stack-detektering

Så identifierar Granska att ni kör WooCommerce

WordPress base
/wp-content/themes/... + woocommerce-detection
Body-klasser
class="woocommerce woocommerce-cart woocommerce-checkout"
Asset-paths
/wp-content/plugins/woocommerce/...
Standard-endpoints
/cart/ · /checkout/ · /my-account/ · ?wc-ajax=...
03 · PHP-fixar

Tre kodfixar för vanliga WooCommerce-issues

CriticalWCAG 3.3.2 — Form labels

Säkerställ aria-label på checkout-fält utan synlig label

child-theme/functions.php
WooCommerce 8.x+
// 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
);
HighWCAG 4.1.3 — Status messages

Aria-live på cart-fragments för skärmläsar-feedback

child-theme/functions.php
WooCommerce 8.x+
// 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
});
HighWCAG 3.3.1 — Error identification

Bind valideringsfel till felande fält via aria-describedby

child-theme/functions.php
WooCommerce 8.x+
// 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
);
04 · Plugin-specifika fixar

Vanliga problem per WooCommerce-tillägg

WooCommerce SubscriptionsPlan-selector utan fieldsetwoocommerce_subscriptions_product_options
WooCommerce Variation SwatchesFärg-swatches utan aria-labelwc_swatches filter
WooPayments / StripeCard-input iframe utan titleCustom JS-injection
Klarna for WooCommercePay later-widget utan labelkco_checkout_form filter
Yoast WooCommerce SEOSaknad breadcrumb-ARIAyoast_breadcrumb_html filter
05 · Tema-specifika fixar

Vad vi ser i populära WooCommerce-teman

Storefront (official)Generellt välbyggt, vissa kontrastfel på Sale-prisCustomizer color overrides
Astra Pro WooOff-canvas cart utan focus-trapAstra Hook integration
FlatsomeProduct hover utan tangentbordsekvivalentchild-theme JS-override
GeneratePress PremiumCustom GP-WooCommerce kontrastCustomizer / theme.json

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.