Skip to content
PTS-tillsyn17 pågående tillsynsärenden mot svensk e-handel
Granska
Stack-specifik scan

WCAG-fixar för Shopify

Granska detekterar er Shopify-version, identifierar WCAG-fel i tema och tillägg, och genererar Liquid-fixar med rätt syntax — inte generiska rekommendationer.

4.6M
globala sajter
12k+
svenska e-handlare
7
vanligaste WCAG-fel
01 · Felmönster

De 7 vanligaste WCAG-felen i Shopify

Mönster från automatiska scans av 4 000+ Shopify-sajter i Norden under 2026.

CriticalWCAG 1.4.3

Otillräcklig kontrast i checkout-knapp och CTA

Dawn och flera default-themes använder accent-färger som inte når 4.5:1 mot bakgrunden — särskilt på 'Add to cart' och 'Checkout'-knappar.

CriticalWCAG 1.1.1

Produktbilder utan alt-text

Shopify-Admin tvingar inte alt-text vid produktbild-upload. På sajter med 1000+ produkter saknar 70–90 % av bilderna beskrivning.

HighWCAG 4.1.2

Variant-pickers utan tillgängliga namn

Färg- och storleksväljare renderas typiskt som <input type='radio'> utan tillhörande label eller fieldset — bryter mot skärmläsares grupperingsmodell.

HighWCAG 3.3.2

Cart-drawer formulär utan label

Notes-fält och rabattkods-input i drawer/cart är ofta placeholder-only, vilket WCAG 3.3.2 explicit räknar som otillräckligt.

HighWCAG 2.1.2

Quick-view modaler utan focus-trap

Apps som Quick Buy och Recharge öppnar overlay-modaler utan att hantera fokus — användare med tangentbord 'försvinner' bakom modalen.

MediumWCAG 1.4.4

Mobil-meny zoom-blocking

user-scalable=no i många theme.liquid-mallar bryter mot WCAG 1.4.4 (text-zoom upp till 200%).

LowWCAG 3.1.1

Felaktigt språk i HTML lang-attribut

Themes från amerikanska studios sätter ofta lang='en' permanent, även för sajter med svenskt eller danskt innehåll.

02 · Stack-detektering

Så identifierar Granska att ni kör Shopify

CDN-paths
cdn.shopify.com/s/files/...
Admin-domän
*.myshopify.com · shop.app-redirects
Liquid-fingerprints
{{ shop.url }} · Shopify object i source
Standard-endpoints
/cart.js · /products.json · /collections/all
03 · Liquid-fixar

Tre kodfixar för vanliga Shopify-issues

CriticalWCAG 1.4.3 — Kontrast

Höj kontrast på checkout-CTA till 7:1

sections/cart-cta.liquid
Liquid + Theme settings
{%- comment -%} Granska: kontrast 4.5:1 → 7:1 {%- endcomment -%}
<button
  type="submit"
  name="checkout"
  class="cart__checkout-button"
  style="
    background: #0f172a;
    color: #ffffff;
    border: 2px solid #0f172a;
    min-height: 44px;
  "
  aria-label="{{ 'cart.general.checkout' | t }}"
>
  {{ 'cart.general.checkout' | t }}
</button>
CriticalWCAG 1.1.1 — Alt-text

Fallback för saknad alt-text på produktbild

snippets/product-image.liquid
Liquid
{%- assign alt_fallback = product.title | append: ' — ' | append: image.alt -%}
<img
  src="{{ image | image_url: width: 800 }}"
  srcset="{{ image | image_url: width: 400 }} 400w,
          {{ image | image_url: width: 800 }} 800w,
          {{ image | image_url: width: 1200 }} 1200w"
  sizes="(min-width: 768px) 50vw, 100vw"
  alt="{{ image.alt | default: alt_fallback | escape }}"
  loading="lazy"
  decoding="async"
/>
HighWCAG 4.1.2 — Variant-picker

Grupp variant-pickers med fieldset + legend

snippets/product-variant-picker.liquid
Liquid
{%- for option in product.options_with_values -%}
  <fieldset class="product-form__input">
    <legend class="form__label">{{ option.name }}</legend>
    {%- for value in option.values -%}
      <input
        type="radio"
        id="{{ option.name }}-{{ value | handle }}"
        name="options[{{ option.name | escape }}]"
        value="{{ value | escape }}"
        {% if option.selected_value == value %}checked{% endif %}
      />
      <label for="{{ option.name }}-{{ value | handle }}">
        {{ value }}
      </label>
    {%- endfor -%}
  </fieldset>
{%- endfor -%}
04 · App-specifika fixar

Vanliga problem per Shopify-app

Klaviyo FormsPopup utan focus-trapCustom JS-injection
Yotpo ReviewsStar-rating utan aria-valuenowYotpo widget override
Recharge SubscriptionsPlan-selector utan labelRecharge theme-extension
Privy PopupsStäng-knapp utan aria-labelLiquid-snippet override
Smile.io RewardsWidget renderas i iframe utan titleSmile launcher-override
05 · Tema-specifika fixar

Vad vi ser i populära Shopify-teman

Dawn (default)Generellt bra; kontrastproblem på vissa accent-färgerTheme settings / settings_data.json
DebutÄldre tema, många a11y-buggarMigrera till Dawn rekommenderas
SenseSnabbvy-modal utan focus-trapsections/quick-buy.liquid
Studio (Out of the Sandbox)Custom typography under 4.5:1config/settings_schema.json
Custom themeVarierar — beroende på dev-teamStack-specifik granskning krävs

Skanna er Shopify-sajt på 60 sekunder

Klistra in er .myshopify.com- eller kund-domän. Granska detekterar tema, identifierar issues, och genererar Liquid-snippets med rätt section-kontext.

Automatiserad scanning hittar 30–40 % av alla WCAG-fel. Full compliance kräver även manuell granskning.