Exempel på Tillgänglighetsrapporten. Harbor & Pine är en fiktiv butik som vi har byggt med vanliga tillgänglighetsbrister och sedan testat med samma motor som skannar din webbplats.

Skanna din webbplats gratis

Exempel: Tillgänglighetsrapport

harborandpine.example

Plattform:
Shopify
Skapad:
24 sep. 2026
Testade sidor:
9
Motor:
axe-core 4.13.0

Sammanfattning

Automatiska tester hittar en del av tillgänglighetsproblemen på en webbplats, inte alla. Den här rapporten beskriver vad våra tester hittade och hur du åtgärdar det. Den är inte juridisk rådgivning och intygar inte att ADA, tillgänglighetsdirektivet (European Accessibility Act) eller någon lag uppfylls.

Översikt

P1 · Åtgärda förstStoppar besökare på viktiga sidor
8
P2 · Åtgärda sedanAllvarliga eller måttliga hinder
0
P3 · FörbättraMindre problem och god praxis
2

Förekomster efter allvarlighetsgrad

Kritisk
73
Allvarlig
58
Måttlig
25
Mindre
0
Verifierade felProblemtyper som ett automatiskt test underkände
10
Behöver granskasFlaggat, men en människa behöver avgöra
4
Godkända kontrollerAutomatiska regler utan fel
32
Inte testatSteg i flödet och manuella kontroller
7

Vi testade 9 sidor, varav 4 valdes ut från din sitemap. Måldatumen är förslag utifrån allvarlighetsgrad; kom överens om de slutliga datumen med din utvecklare.

Översikt över webbplatsen

Identifierat utifrån offentliga belägg på de testade sidorna. En etikett kan vara fel; den avgör bara vilka extra kontroller som körs.

Webbplatstyp

  • WebbutikHög konfidens
    • Körs på Shopify, en e-handelsplattform
    • Länk till en varukorg
    • Länkar till produkter eller butik
  • LandningssidaMedelhög konfidens
    • Bara 6 interna sidor länkade

Identifierade tekniker

  • ShopifyHög konfidens

    Filer eller skript från Shopify på sidan

Kontroller för den här webbplatsen

  • Universella kontroller: tillgänglighet, SEO, hastighet, säkerhet och e-post
  • E-handelsmodul: kollektions-, produkt- och varukorgssidor, och ett köpflöde med tangentbordet fram till kassaknappen
  • Shopify-anteckningar: åtgärdssteg för temat och admin; headers och cookies som plattformen hanterar visas som referens

Köpflöde med tangentbordet

Vi försökte handla med enbart tangentbordet (Tab, Shift+Tab, Enter, Space, Escape), så som personer som inte kan använda en mus gör. Vi lägger en vara i en varukorg i en session som kastas efteråt och stannar vid kassaknappen: vi går aldrig in i kassan och skriver aldrig in person- eller betaluppgifter. Mål: Ta sig från startsidan till kassaknappen med enbart tangentbordet.

  1. 01Nå huvudmenyn

    Godkänt

    Fokus nådde ”Shop” i menyn efter 21 tryck på Tab.

    Förväntat: När man trycker på Tab från toppen av startsidan nås länkarna i huvudmenyn.

    • Anmärkning: En cookiebanner höll kvar tangentbordsfokus tills vi tryckte Enter på ”Accept all”.
    Så återskapar du problemet

    https://harborandpine.example/

    1. Öppna startsidan.
    2. Klicka i webbläsarens adressfält och tryck sedan på Tab upprepade gånger (Skift+Tab går bakåt).

    Fokusordningen vi observerade

    ”Shop”

  2. 02Öppna en produkt från en kollektion

    Godkänt

    Fokus nådde ”Trail Daypack 22L” efter 9 tryck på Tab, och Enter öppnade /products/trail-daypack.

    Förväntat: Tab når en produkt i kollektionens rutnät, och Enter öppnar produktens sida.

    Så återskapar du problemet

    https://harborandpine.example/collections/all

    1. Öppna /collections/all.
    2. Tryck på Tab tills en produkt i rutnätet är markerad och tryck sedan på Enter.

    Fokusordningen vi observerade

    ”Harbor & Pine” → ”Shop” → ”New arrivals” → ”Our story” → body > header.site > div.icons > button → ”Account” → body > header.site > div.icons > a → ”FeaturedPrice, low to highPrice, high to low” → ”Trail Daypack 22L”

  3. 03Välj alternativ och antal

    Underkänt

    3 produktalternativ kan inte få tangentbordsfokus: ”S”, ”M”, ”L”. De reagerar på musen, men en tangentbordsanvändare kan inte välja dem.

    Förväntat: Varje produktalternativ (storlek, färg, variant) och antalsfältet går att nå med Tab.

    2.1.1 Tangentbord · Konfidens: hög

    Välj alternativ och antal: elementet som inte klarar testet, markerat med en ram
    Välj alternativ och antal: elementet som inte klarar testet, markerat med en ram
    Så återskapar du problemet

    https://harborandpine.example/products/trail-daypack

    1. Öppna /products/trail-daypack.
    2. Tryck på Tab från toppen av sidan och notera vilka kontroller som får fokus före Lägg i varukorgen.

    Fokusordningen vi observerade

    ”Harbor & Pine” → ”Shop” → ”New arrivals” → ”Our story” → … 5 till … → body > header.site > div.icons > a → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div.gallery > div.thumbs > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → div.page.product > div > div.swatches > button → ”1” → ”Add to cart”

    Element
    <div class="size-option" data-fr="opt-1">S</div>
  4. 04Lägg i varukorgen med tangentbordet

    Behöver granskas

    Enter på Lägg i varukorgen fungerade (antalet i varukorgen i sidhuvudet ändrades, ett meddelande av typen ”tillagd i varukorgen” visades), men vi hittade inget statusmeddelande eller någon dialogruta med fokus, så skärmläsaranvändare kanske inte hör att varan lades till.

    Förväntat: Enter på Lägg i varukorgen lägger till varan, och bekräftelsen meddelas: ett statusmeddelande, en dialogruta som tar fokus eller varukorgssidan.

    4.1.3 Statusmeddelanden · Konfidens: medel

    Lägg i varukorgen med tangentbordet: sidan i det här steget
    Lägg i varukorgen med tangentbordet: sidan i det här steget
    Så återskapar du problemet

    https://harborandpine.example/products/trail-daypack

    1. Öppna /products/trail-daypack.
    2. Tryck på Tab tills Lägg i varukorgen har fokus och tryck sedan på Enter.
    3. Lyssna efter en bekräftelse med en skärmläsare (VoiceOver: Cmd+F5).
  5. 05Ändra varukorgen och nå kassan

    Godkänt

    Nådde alla 4 varukorgskontroller och kassaknappen (”Check out”) efter 12 tryck på Tab. Vi tryckte inte på den.

    Förväntat: Antalsfält, knappar för att ta bort och kassaknappen går alla att nå med Tab.

    Så återskapar du problemet

    https://harborandpine.example/cart

    1. Lägg valfri produkt i varukorgen och öppna varukorgssidan.
    2. Tryck på Tab och kontrollera att antalsfält, knappar för att ta bort och kassaknappen alla får fokus.

    Fokusordningen vi observerade

    ”Harbor & Pine” → ”Shop” → ”New arrivals” → ”Our story” → body > header.site > div.icons > button → ”Account” → body > header.site > div.icons > a → ”1” → tbody > tr > td > button.remove → ”2” → tbody > tr > td > button.remove → ”Check out”

  6. 06Kassa

    Inte testat

    Vi stannar vid kassaknappen: vi går aldrig in i kassan, skapar aldrig en beställning och skriver aldrig in betalningsuppgifter. På Shopify drivs kassasidorna av Shopify, inte av ditt tema. Kontrollera kassan för hand (se Manuella kontroller).

Påståendeöversikt för brevet

Varje påstående i brevet, jämfört med beläggen från skanningen. En saklig jämförelse, inte juridisk rådgivning.

  • “Images lack alternative text, so product photos are not described.”

    Bilder utan textalternativ. 10 förekomster på 3 av 5 testade sidor.

    image-alt

    Återskapat
  • “Text has insufficient color contrast against its background, including sale badges and prices.”

    Låg färgkontrast. 16 förekomster på 5 av 5 testade sidor.

    color-contrast

    Återskapat
  • “The website cannot be navigated using a keyboard alone.”

    Tangentbordsåtkomst och fokus. Tangentbordsfokus fastnar i cookiebannern.

    Återskapat
  • “Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”

    Formulärfält utan etiketter. 4 förekomster på 3 av 5 testade sidor.

    select-name, label

    Återskapat
  • “Product videos do not have captions.”

    Undertexter för video och ljud. Automatiska skanningar kan inte bedöma undertexter. Kontrollera att varje produkt- eller varumärkesvideo har korrekta undertexter och en transkription.

    Manuell kontroll
  • “Our client is legally blind and uses screen reader software.”

    Övriga problem. Det här är ett allmänt påstående. Testa de viktigaste flödena (sök, produktsida, lägg i varukorgen, kassa) med en skärmläsare som VoiceOver eller NVDA.

    Manuell kontroll

Åtgärdsplan

Problem i prioritetsordning med ansvariga och måldatum
PrioritetProblemStatusWCAGFörekomsterAnsvarigMåldatum
P1Tangentbordsfokus är fångat i cookiebannernVerifierat2.1.21appleverantör2026-10-08
P1Produktalternativ kan inte väljas med tangentbordetVerifierat2.1.11temautvecklare2026-10-08
P1Knappar måste ha urskiljbar textVerifierat4.1.241temautvecklare2026-10-08
P1Bilder måste ha alternativ textVerifierat1.1.122innehållsredaktör2026-10-08
P1Formulärelement måste ha etiketterVerifierat4.1.27temautvecklare2026-10-08
P1Select-element måste ha ett tillgängligt namnVerifierat4.1.21temautvecklare2026-10-08
P1Länkar måste ha urskiljbar textVerifierat2.4.4, 4.1.236temautvecklare2026-10-08
P1Element måste uppfylla tröskelvärdena för minsta färgkontrastVerifierat1.4.322butiksägare (inställningar i admin)2026-10-08
P3Allt sidinnehåll bör ingå i landmärkenVerifieratGod praxis18temautvecklare2026-11-23
P3Rubriknivåer bör endast öka med ett steg i tagetVerifieratGod praxis7temautvecklare2026-11-23

Så åtgärdar du varje problem

P1KritiskVerifierat felWCAG 2.1.2

Tangentbordsfokus är fångat i cookiebannern

insats: måttlig · ansvarig: appleverantör · 2.1.2 Ingen tangentbordsfälla

När en tangentbordsanvändare trycker på Tab cirkulerar fokus mellan några få element och når aldrig resten av sidan.

Användare som bara använder tangentbord eller skärmläsare kan inte handla alls om fokus är fångat (WCAG 2.1.2 Ingen tangentbordsfälla).

Belägg

Hittat av
Tangentbordstest (Tab genom startsidan)
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
1 förekomst på 1 sida

Förväntat: Tab flyttar fokus genom varje interaktivt element på sidan och vidare till resten av sidan.

Observerat: Efter 40 tryck på Tab fortsatte fokus att cirkulera mellan: Settings, Accept all.

Så återskapar du problemet
  1. Öppna startsidan.
  2. Klicka i adressfältet och tryck sedan på Tab flera gånger.
  3. Fokus återvänder hela tiden till samma få element.
Felande element (6 visas)
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
button#cc-settings
Settings
button#cc-accept.primary
Accept all
Berörda sidor (1)
  • https://harborandpine.example/

Så åtgärdar du det

Allmän vägledning
  1. Leta efter ett alternativ för tillgänglighet eller fokusfällor i inställningarna för appen till din cookie- eller samtyckesbanner, eller be leverantören att åtgärda det.
  2. En modal dialogruta får bara hålla kvar fokus medan den är öppen, och den måste stängas med Escape-tangenten och lämna tillbaka fokus dit det kom ifrån.
Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Tangentbordsfokus är fångat i cookiebannern (WCAG 2.1.2).
Var: 1 förekomst på 1 sida, till exempel /.

Ett felande element, så som webbläsaren renderade det:
```html
Settings
```

Därför spelar det roll: Användare som bara använder tangentbord eller skärmläsare kan inte handla alls om fokus är fångat (WCAG 2.1.2 Ingen tangentbordsfälla).

Det här behöver ändras:
- Leta efter ett alternativ för tillgänglighet eller fokusfällor i inställningarna för appen till din cookie- eller samtyckesbanner, eller be leverantören att åtgärda det.
- En modal dialogruta får bara hålla kvar fokus medan den är öppen, och den måste stängas med Escape-tangenten och lämna tillbaka fokus dit det kom ifrån.

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Ladda startsidan, tryck på Tab flera gånger och bekräfta att fokus når huvudnavigeringen och innehållet.

Upptäckt av ett automatiskt tangentbordstest; bekräfta för hand.

P1KritiskVerifierat felWCAG 2.1.1

Produktalternativ kan inte väljas med tangentbordet

insats: måttlig · ansvarig: temautvecklare · 2.1.1 Tangentbord

Alternativ för storlek, färg eller variant reagerar på musen men kan inte få tangentbordsfokus, så tangentbordsanvändare kan inte välja en variant.

Kunder som bara använder tangentbordet, däribland många skärmläsaranvändare, kan inte ta sig förbi det här steget (WCAG 2.1.1).

Belägg

Hittat av
Tangentbordsflöde
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
1 förekomst på 1 sida

Förväntat: Varje produktalternativ (storlek, färg, variant) och antalsfältet går att nå med Tab.

Observerat: 3 produktalternativ kan inte få tangentbordsfokus: ”S”, ”M”, ”L”. De reagerar på musen, men en tangentbordsanvändare kan inte välja dem.

Produktalternativ kan inte väljas med tangentbordet: det markerade elementet
Produktalternativ kan inte väljas med tangentbordet: det markerade elementet
Så återskapar du problemet
  1. Öppna /products/trail-daypack.
  2. Tryck på Tab från toppen av sidan och notera vilka kontroller som får fokus före Lägg i varukorgen.
Felande element (1 visas)
(se skärmbilden)
<div class="size-option" data-fr="opt-1">S</div>
Berörda sidor (1)
  • https://harborandpine.example/products/trail-daypack

Så åtgärdar du det

Allmän vägledning
  1. Bygg alternativväljare av inbyggda radioknappar (eller en <select>) med synliga etiketter; styla etiketten som färgrutan.
  2. Om du behåller egna element behöver varje alternativ tabindex="0", role="radio" med aria-checked inuti en role="radiogroup" samt hantering av piltangenterna och blanksteg. Inbyggda radioknappar ger dig allt detta automatiskt.

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Temats produktformulär (variantväljare)
<div class="size-option" data-fr="opt-1">S</div>
Efter · exempel att anpassa
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>

Varje alternativ är en riktig radioknapp som nås med Tab och ändras med piltangenterna; etiketten behåller stilen för din färgruta. Använd dina egna namn och värden för alternativen.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Produktalternativ kan inte väljas med tangentbordet (WCAG 2.1.1).
Var: 1 förekomst på 1 sida, till exempel /products/trail-daypack.

Ett felande element, så som webbläsaren renderade det:
```html
<div class="size-option" data-fr="opt-1">S</div>
```

Därför spelar det roll: Kunder som bara använder tangentbordet, däribland många skärmläsaranvändare, kan inte ta sig förbi det här steget (WCAG 2.1.1).

Det här behöver ändras:
- Bygg alternativväljare av inbyggda radioknappar (eller en <select>) med synliga etiketter; styla etiketten som färgrutan.
- Om du behåller egna element behöver varje alternativ tabindex="0", role="radio" med aria-checked inuti en role="radiogroup" samt hantering av piltangenterna och blanksteg. Inbyggda radioknappar ger dig allt detta automatiskt.

En föreslagen ändring (Temats produktformulär (variantväljare)):
```html
<fieldset class="variant-picker">
  <legend>Size</legend>
  <input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
  <label for="size-s" class="size-option">S</label>
  <input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
  <label for="size-m" class="size-option">M</label>
</fieldset>
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Upprepa stegen för att återskapa problemet med enbart tangentbordet.
  • Begär ett omtest från den här rapporten: flödet körs igen.
P1KritiskVerifierat felWCAG 4.1.2

Knappar måste ha urskiljbar text

insats: snabb · ansvarig: temautvecklare · 4.1.2 Namn, roll, värde

Vissa knappar saknar tillgängligt namn, så skärmläsaranvändare hör bara ’knapp’.

WCAG 4.1.2 kräver att varje kontroll har ett namn. Knappar utan namn är ofta plus- och minusknappar för antal, stängknappar och pilar i bildspel.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
41 förekomster på 9 sidor

Förväntat: Knappar måste ha urskiljbar text

Observerat: Elementet saknar inre text som är synlig för skärmläsare. aria-label-attributet saknas eller är tomt. aria-labelledby-attributet saknas, refererar till element som inte finns eller refererar till element som är tomma. Elementet saknar title-attribut. Elementet saknar en implicit (omslutande) <label>. Elementet saknar en explicit <label>. Elementets standardsemantik åsidosattes inte med role="none" eller role="presentation".

Knappar måste ha urskiljbar text: det markerade elementet på /
Knappar måste ha urskiljbar text: det markerade elementet på /
Knappar måste ha urskiljbar text: det markerade elementet på /collections/all
Knappar måste ha urskiljbar text: det markerade elementet på /collections/all
Så återskapar du problemet
  1. Öppna https://harborandpine.example/ i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: .icons > button[type="button"]
  3. I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
  4. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”button-name”.
Felande element (4 visas)
.icons > button[type="button"]
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
.thumbs > button:nth-child(1)
<button type="button"><img src="/img/daypack.svg"></button>
.thumbs > button:nth-child(2)
<button type="button"><img src="/img/jacket.svg"></button>
.thumbs > button:nth-child(3)
<button type="button"><img src="/img/bottle.svg"></button>
Berörda sidor (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Kod byggd utifrån din sidas markup
  1. Hitta knapparna i exemplen nedan.
  2. Lägg till synlig text, visuellt dold text eller ett aria-label som säger vad knappen gör (till exempel aria-label="Close" eller aria-label="Increase quantity").

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<button type="button">…</button>
Efter · byggd utifrån det felande elementet
<button type="button" aria-label="[What this button does]">…</button>

Ersätt texten inom hakparentes med vad knappen gör. Synlig text eller visuellt dold text i knappen fungerar också.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<button type="button"><img src="/img/daypack.svg"></button>
Efter · byggd utifrån det felande elementet
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/daypack.svg"></button>

Ersätt texten inom hakparentes med vad knappen gör. Synlig text eller visuellt dold text i knappen fungerar också.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<button type="button"><img src="/img/jacket.svg"></button>
Efter · byggd utifrån det felande elementet
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/jacket.svg"></button>

Ersätt texten inom hakparentes med vad knappen gör. Synlig text eller visuellt dold text i knappen fungerar också.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<button type="button"><img src="/img/bottle.svg"></button>
Efter · byggd utifrån det felande elementet
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/bottle.svg"></button>

Ersätt texten inom hakparentes med vad knappen gör. Synlig text eller visuellt dold text i knappen fungerar också.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Knappar måste ha urskiljbar text (WCAG 4.1.2).
Var: 41 förekomster på 9 sidor, till exempel /, /collections/all, /products/trail-daypack, /cart.

Ett felande element, så som webbläsaren renderade det:
```html
<button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></button>
```

Därför spelar det roll: WCAG 4.1.2 kräver att varje kontroll har ett namn. Knappar utan namn är ofta plus- och minusknappar för antal, stängknappar och pilar i bildspel.

Det här behöver ändras:
- Hitta knapparna i exemplen nedan.
- Lägg till synlig text, visuellt dold text eller ett aria-label som säger vad knappen gör (till exempel aria-label="Close" eller aria-label="Increase quantity").

En föreslagen ändring (Din temakod (sök efter den markup som visas)):
```html
<button type="button" aria-label="[What this button does]">…</button>
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna de berörda sidorna igen.
  • Kontrollera knapparna med en skärmläsare.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/button-name?application=playwright

P1KritiskVerifierat felWCAG 1.1.1

Bilder måste ha alternativ text

insats: måttlig · ansvarig: innehållsredaktör · 1.1.1 Icke-textuellt innehåll

Bilder saknar textalternativ, så skärmläsaranvändare vet inte vad de visar.

WCAG 1.1.1 kräver ett textalternativ för meningsfulla bilder. Utan det kan en skärmläsaranvändare inte avgöra vilken produkt ett foto visar.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
22 förekomster på 7 sidor

Förväntat: Bilder måste ha alternativ text

Observerat: Elementet saknar ett alt-attribut. aria-label-attributet saknas eller är tomt. aria-labelledby-attributet saknas, refererar till element som inte finns eller refererar till element som är tomma. Elementet saknar title-attribut. Elementets standardsemantik åsidosattes inte med role="none" eller role="presentation".

Bilder måste ha alternativ text: det markerade elementet på /
Bilder måste ha alternativ text: det markerade elementet på /
Bilder måste ha alternativ text: det markerade elementet på /collections/all
Bilder måste ha alternativ text: det markerade elementet på /collections/all
Så återskapar du problemet
  1. Öppna https://harborandpine.example/ i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: img[src$="hero-photo.jpg"]
  3. I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
  4. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”image-alt”.
Felande element (4 visas)
img[src$="hero-photo.jpg"]
<img src="/img/hero-photo.jpg" loading="lazy">
img[src$="mug.svg"]
<img src="/img/mug.svg">
img[src$="beanie.svg"]
<img src="/img/beanie.svg">
img[src$="jacket.svg"]
<img src="/img/jacket.svg">
Berörda sidor (7)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Kod byggd utifrån din sidas markup
  1. Öppna Produkter > [produkt] > Media (Products > [product] > Media) i Shopify admin, klicka på varje bild och fyll i ’Alt-text’ (Alt text). För bilder i sektioner öppnar du Onlinebutik > Teman > Anpassa (Online Store > Themes > Customize) och anger bildens alt-text i sektionens inställningar.
  2. Beskriv det som är viktigt för en kund: produktnamn, färg och vilken vinkel som visas (till exempel ’Tygväska i canvas, olivgrön, framifrån’).
  3. Dekorativa bilder bör ha ett tomt alt-attribut (alt="") så att skärmläsare hoppar över dem.

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Produktfoton: Shopify admin › Produkter › Media › Alt-text (Products › Media › Alt text). Övriga bilder: din temakod
<img src="/img/hero-photo.jpg" loading="lazy">
Efter · byggd utifrån det felande elementet
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">

Beskriv vad bilden visar (för ett produktfoto: produkt, färg, vinkel). Om bilden är rent dekorativ använder du i stället alt="" så att skärmläsare hoppar över den.

Före · det vi hittade · Produktfoton: Shopify admin › Produkter › Media › Alt-text (Products › Media › Alt text). Övriga bilder: din temakod
<img src="/img/mug.svg">
Efter · byggd utifrån det felande elementet
<img src="/img/mug.svg" alt="[Describe the image for a shopper]">

Beskriv vad bilden visar (för ett produktfoto: produkt, färg, vinkel). Om bilden är rent dekorativ använder du i stället alt="" så att skärmläsare hoppar över den.

Före · det vi hittade · Produktfoton: Shopify admin › Produkter › Media › Alt-text (Products › Media › Alt text). Övriga bilder: din temakod
<img src="/img/beanie.svg">
Efter · byggd utifrån det felande elementet
<img src="/img/beanie.svg" alt="[Describe the image for a shopper]">

Beskriv vad bilden visar (för ett produktfoto: produkt, färg, vinkel). Om bilden är rent dekorativ använder du i stället alt="" så att skärmläsare hoppar över den.

Före · det vi hittade · Produktfoton: Shopify admin › Produkter › Media › Alt-text (Products › Media › Alt text). Övriga bilder: din temakod
<img src="/img/jacket.svg">
Efter · byggd utifrån det felande elementet
<img src="/img/jacket.svg" alt="[Describe the image for a shopper]">

Beskriv vad bilden visar (för ett produktfoto: produkt, färg, vinkel). Om bilden är rent dekorativ använder du i stället alt="" så att skärmläsare hoppar över den.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Bilder måste ha alternativ text (WCAG 1.1.1).
Var: 22 förekomster på 7 sidor, till exempel /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie.

Ett felande element, så som webbläsaren renderade det:
```html
<img src="/img/hero-photo.jpg" loading="lazy">
```

Därför spelar det roll: WCAG 1.1.1 kräver ett textalternativ för meningsfulla bilder. Utan det kan en skärmläsaranvändare inte avgöra vilken produkt ett foto visar.

Det här behöver ändras:
- Öppna Produkter > [produkt] > Media (Products > [product] > Media) i Shopify admin, klicka på varje bild och fyll i ’Alt-text’ (Alt text). För bilder i sektioner öppnar du Onlinebutik > Teman > Anpassa (Online Store > Themes > Customize) och anger bildens alt-text i sektionens inställningar.
- Beskriv det som är viktigt för en kund: produktnamn, färg och vilken vinkel som visas (till exempel ’Tygväska i canvas, olivgrön, framifrån’).
- Dekorativa bilder bör ha ett tomt alt-attribut (alt="") så att skärmläsare hoppar över dem.

En föreslagen ändring (Produktfoton: Shopify admin › Produkter › Media › Alt-text (Products › Media › Alt text). Övriga bilder: din temakod):
```html
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna de berörda sidorna igen.
  • Använd en skärmläsare (VoiceOver: Cmd+F5 på Mac) för att höra hur produktbilderna läses upp.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright

P1KritiskVerifierat felWCAG 4.1.2

Formulärelement måste ha etiketter

insats: snabb · ansvarig: temautvecklare · 4.1.2 Namn, roll, värde

Vissa formulärfält saknar etikett, så skärmläsaranvändare vet inte vad de ska fylla i.

WCAG 1.3.1, 3.3.2 och 4.1.2 kräver att formulärfält har etiketter. Fält för anmälan till nyhetsbrev och sökfält är vanliga bovar.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
7 förekomster på 6 sidor

Förväntat: Formulärelement måste ha etiketter

Observerat: Elementet saknar en implicit (omslutande) <label>. Elementet saknar en explicit <label>. aria-label-attributet saknas eller är tomt. aria-labelledby-attributet saknas, refererar till element som inte finns eller refererar till element som är tomma. Elementet saknar title-attribut. Elementet saknar placeholder-attribut. Elementets standardsemantik åsidosattes inte med role="none" eller role="presentation".

Formulärelement måste ha etiketter: det markerade elementet på /products/trail-daypack
Formulärelement måste ha etiketter: det markerade elementet på /products/trail-daypack
Formulärelement måste ha etiketter: det markerade elementet på /cart
Formulärelement måste ha etiketter: det markerade elementet på /cart
Så återskapar du problemet
  1. Öppna https://harborandpine.example/products/trail-daypack i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: input
  3. I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
  4. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”label”.
Felande element (2 visas)
input
<input type="number" value="1" min="1">
input[value="2"]
<input type="number" value="2" min="1">
Berörda sidor (6)
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Kod byggd utifrån din sidas markup
  1. Ge varje fält ett <label for="field-id">-element, eller åtminstone ett aria-label.
  2. Enbart platshållartext räknas inte som en etikett.

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<input type="number" value="1" min="1">
Efter · byggd utifrån det felande elementet
<input type="number" value="1" min="1" aria-label="Quantity">

Fältet saknar id, så den snabbaste åtgärden är ett aria-label. En synlig <label> är bättre för alla. Etikettexten ”Quantity” är gissad utifrån fältet; justera den vid behov.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<input type="number" value="2" min="1">
Efter · byggd utifrån det felande elementet
<input type="number" value="2" min="1" aria-label="Quantity">

Fältet saknar id, så den snabbaste åtgärden är ett aria-label. En synlig <label> är bättre för alla. Etikettexten ”Quantity” är gissad utifrån fältet; justera den vid behov.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Formulärelement måste ha etiketter (WCAG 4.1.2).
Var: 7 förekomster på 6 sidor, till exempel /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug.

Ett felande element, så som webbläsaren renderade det:
```html
<input type="number" value="1" min="1">
```

Därför spelar det roll: WCAG 1.3.1, 3.3.2 och 4.1.2 kräver att formulärfält har etiketter. Fält för anmälan till nyhetsbrev och sökfält är vanliga bovar.

Det här behöver ändras:
- Ge varje fält ett <label for="field-id">-element, eller åtminstone ett aria-label.
- Enbart platshållartext räknas inte som en etikett.

En föreslagen ändring (Din temakod (sök efter den markup som visas)):
```html
<input type="number" value="1" min="1" aria-label="Quantity">
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna igen och bekräfta att regeln label inte längre underkänns.
  • Klicka på varje etikett och kontrollera att den ger fokus till sitt fält.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright

P1KritiskVerifierat felWCAG 4.1.2

Select-element måste ha ett tillgängligt namn

insats: snabb · ansvarig: temautvecklare · 4.1.2 Namn, roll, värde

En rullgardinsmeny (ofta en sorterings- eller variantväljare) saknar etikett.

WCAG 4.1.2 kräver att rullgardinsmenyer har ett tillgängligt namn.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
1 förekomst på 1 sida

Förväntat: Select-element måste ha ett tillgängligt namn

Observerat: Elementet saknar en implicit (omslutande) <label>. Elementet saknar en explicit <label>. aria-label-attributet saknas eller är tomt. aria-labelledby-attributet saknas, refererar till element som inte finns eller refererar till element som är tomma. Elementet saknar title-attribut. Elementets standardsemantik åsidosattes inte med role="none" eller role="presentation".

Select-element måste ha ett tillgängligt namn: det markerade elementet på /collections/all
Select-element måste ha ett tillgängligt namn: det markerade elementet på /collections/all
Så återskapar du problemet
  1. Öppna https://harborandpine.example/collections/all i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: select
  3. I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
  4. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”select-name”.
Felande element (1 visas)
select
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
Berörda sidor (1)
  • https://harborandpine.example/collections/all

Så åtgärdar du det

Kod byggd utifrån din sidas markup
  1. Lägg till en <label> som är kopplad till select-elementet, eller ett aria-label som aria-label="Sort by".

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
Efter · byggd utifrån det felande elementet
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>

Fältet saknar id, så den snabbaste åtgärden är ett aria-label. En synlig <label> är bättre för alla. Ersätt texten inom hakparentes med fältets etikett.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Select-element måste ha ett tillgängligt namn (WCAG 4.1.2).
Var: 1 förekomst på 1 sida, till exempel /collections/all.

Ett felande element, så som webbläsaren renderade det:
```html
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

Därför spelar det roll: WCAG 4.1.2 kräver att rullgardinsmenyer har ett tillgängligt namn.

Det här behöver ändras:
- Lägg till en <label> som är kopplad till select-elementet, eller ett aria-label som aria-label="Sort by".

En föreslagen ändring (Din temakod (sök efter den markup som visas)):
```html
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna kollektions- och produktsidorna igen.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright

P1AllvarligVerifierat felWCAG 1.4.3

Element måste uppfylla tröskelvärdena för minsta färgkontrast

insats: snabb · ansvarig: butiksägare (inställningar i admin) · 1.4.3 Kontrast (minimum)

En del text skiljer sig inte tillräckligt från bakgrunden för att kunna läsas av personer med nedsatt syn.

WCAG 1.4.3 kräver ett kontrastförhållande på minst 4,5:1 för normal text och 3:1 för stor text. Bleka priser, märken och banners är svåra att läsa för personer med nedsatt syn, och för alla i starkt ljus.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
22 förekomster på 9 sidor

Förväntat: Element måste uppfylla tröskelvärdena för minsta färgkontrast

Observerat: Elementet har otillräcklig färgkontrast på 3.09 (förgrundsfärg: #ffffff, bakgrundsfärg: #e76f51, teckenstorlek: 9.8pt (13px), teckenvikt: normal). Förväntat kontrastförhållande är 4.5:1.

Element måste uppfylla tröskelvärdena för minsta färgkontrast: det markerade elementet på /
Element måste uppfylla tröskelvärdena för minsta färgkontrast: det markerade elementet på /
Element måste uppfylla tröskelvärdena för minsta färgkontrast: det markerade elementet på /collections/all
Element måste uppfylla tröskelvärdena för minsta färgkontrast: det markerade elementet på /collections/all
Så återskapar du problemet
  1. Öppna https://harborandpine.example/ i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: .announce
  3. Klicka på färgrutan bredvid elementets färg i panelen Styles för att se det uppmätta kontrastförhållandet.
  4. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”color-contrast”.
Felande element (4 visas)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
article:nth-child(3) > .badge
<span class="badge">Sale</span>
article:nth-child(3) > .price > .compare
<span class="compare">$72</span>
article:nth-child(4) > .price > .compare
<span class="compare">$40</span>
Berörda sidor (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Kod byggd utifrån din sidas markup
  1. Öppna de felande elementen som listas nedan och anteckna förgrunds- och bakgrundsfärgerna i sammanfattningen av felet.
  2. Under Onlinebutik > Teman > Anpassa > Temainställningar > Färger (Online Store > Themes > Customize > Theme settings > Colors) gör du textfärgen mörkare eller bakgrunden ljusare i det berörda färgschemat tills förhållandet är minst 4,5:1.
  3. Var särskilt uppmärksam på reamärken, platshållartext, länkar i sidfoten och knappar ovanpå bilder.

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Temainställningar › Färger (Theme settings › Colors), eller temats CSS-fil
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
Efter · byggd utifrån det felande elementet
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}

Uppmätt 3,09:1 för text i 13px; WCAG 1.4.3 kräver 4,5:1. #b95941 behåller samma nyans och klarar kravet. Selektorn är den som vårt test använde; ditt tema kan använda en bredare klass för samma stil.

Före · det vi hittade · Temainställningar › Färger (Theme settings › Colors), eller temats CSS-fil
<span class="badge">Sale</span>
Efter · byggd utifrån det felande elementet
.badge {
  background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}

Uppmätt 2,06:1 för fetstilt text i 12px; WCAG 1.4.3 kräver 4,5:1. #9f693f behåller samma nyans och klarar kravet. Selektorn är den som vårt test använde; ditt tema kan använda en bredare klass för samma stil.

Före · det vi hittade · Temainställningar › Färger (Theme settings › Colors), eller temats CSS-fil
<span class="compare">$72</span>
Efter · byggd utifrån det felande elementet
.compare {
  color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}

Uppmätt 2,29:1 för text i 14px; WCAG 1.4.3 kräver 4,5:1. #78736c behåller samma nyans och klarar kravet. Selektorn är den som vårt test använde; ditt tema kan använda en bredare klass för samma stil.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Element måste uppfylla tröskelvärdena för minsta färgkontrast (WCAG 1.4.3).
Var: 22 förekomster på 9 sidor, till exempel /, /collections/all, /products/trail-daypack, /cart.

Ett felande element, så som webbläsaren renderade det:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

Därför spelar det roll: WCAG 1.4.3 kräver ett kontrastförhållande på minst 4,5:1 för normal text och 3:1 för stor text. Bleka priser, märken och banners är svåra att läsa för personer med nedsatt syn, och för alla i starkt ljus.

Det här behöver ändras:
- Öppna de felande elementen som listas nedan och anteckna förgrunds- och bakgrundsfärgerna i sammanfattningen av felet.
- Under Onlinebutik > Teman > Anpassa > Temainställningar > Färger (Online Store > Themes > Customize > Theme settings > Colors) gör du textfärgen mörkare eller bakgrunden ljusare i det berörda färgschemat tills förhållandet är minst 4,5:1.
- Var särskilt uppmärksam på reamärken, platshållartext, länkar i sidfoten och knappar ovanpå bilder.

En föreslagen ändring (Temainställningar › Färger (Theme settings › Colors), eller temats CSS-fil):
```css
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Kör skanningen igen och bekräfta att color-contrast inte längre visas.
  • Stickprovskontrollera de exakta färgerna med ett kontrastverktyg.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright

P3MåttligVerifierat fel

Allt sidinnehåll bör ingå i landmärken

insats: måttlig · ansvarig: temautvecklare

En del innehåll ligger inte i något landmärke på sidan (header, nav, main eller footer).

Landmärken gör att skärmläsaranvändare kan hoppa mellan delar av sidan. Det här är god praxis som stöder WCAG 1.3.1 och 2.4.1.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
18 förekomster på 9 sidor

Förväntat: Allt sidinnehåll bör ingå i landmärken

Observerat: En del sidinnehåll ingår inte i landmärken.

Allt sidinnehåll bör ingå i landmärken: det markerade elementet på /
Allt sidinnehåll bör ingå i landmärken: det markerade elementet på /
Allt sidinnehåll bör ingå i landmärken: det markerade elementet på /cart
Allt sidinnehåll bör ingå i landmärken: det markerade elementet på /cart
Så återskapar du problemet
  1. Öppna https://harborandpine.example/ i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: .announce
  3. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”region”.
Felande element (2 visas)
.announce
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
#cookie-banner > p
<p>We use cookies to improve your experience and measure traffic.</p>
Berörda sidor (9)
  • https://harborandpine.example/
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/cart
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Allmän vägledning
  1. Omslut fristående innehåll (meddelandefält, popup-fönster, chattwidgetar) med rätt landmärke eller placera det i <main>.
Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Allt sidinnehåll bör ingå i landmärken.
Var: 18 förekomster på 9 sidor, till exempel /, /collections/all, /products/trail-daypack, /cart.

Ett felande element, så som webbläsaren renderade det:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

Därför spelar det roll: Landmärken gör att skärmläsaranvändare kan hoppa mellan delar av sidan. Det här är god praxis som stöder WCAG 1.3.1 och 2.4.1.

Det här behöver ändras:
- Omslut fristående innehåll (meddelandefält, popup-fönster, chattwidgetar) med rätt landmärke eller placera det i <main>.

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna de berörda sidorna igen.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright

P3MåttligVerifierat fel

Rubriknivåer bör endast öka med ett steg i taget

insats: måttlig · ansvarig: temautvecklare

Rubriknivåer hoppas över (till exempel från H2 till H4), vilket gör sidans struktur förvirrande för skärmläsaranvändare.

Skärmläsaranvändare navigerar med hjälp av rubriker. Det här är god praxis som stöder WCAG 1.3.1.

Belägg

Hittat av
Automatisk regel i axe-core
Status · konfidens
Verifierat fel · hög
Upptäckt
24 sep. 2026 (UTC)
Var
7 förekomster på 7 sidor

Förväntat: Rubriknivåer bör endast öka med ett steg i taget

Observerat: Rubriknivåerna är ogiltiga.

Rubriknivåer bör endast öka med ett steg i taget: det markerade elementet på /collections/all
Rubriknivåer bör endast öka med ett steg i taget: det markerade elementet på /collections/all
Rubriknivåer bör endast öka med ett steg i taget: det markerade elementet på /products/trail-daypack
Rubriknivåer bör endast öka med ett steg i taget: det markerade elementet på /products/trail-daypack
Så återskapar du problemet
  1. Öppna https://harborandpine.example/collections/all i Chrome eller Edge.
  2. Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: article:nth-child(1) > a[href$="trail-daypack"] > h3
  3. Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”heading-order”.
Felande element (3 visas)
article:nth-child(1) > a[href$="trail-daypack"] > h3
<h3>Trail Daypack 22L</h3>
h3
<h3>Reviews</h3>
h3:nth-child(3)
<h3>Started on the trail</h3>
Berörda sidor (7)
  • https://harborandpine.example/collections/all
  • https://harborandpine.example/products/trail-daypack
  • https://harborandpine.example/pages/about
  • https://harborandpine.example/products/pine-wool-beanie
  • https://harborandpine.example/products/enamel-camp-mug
  • https://harborandpine.example/products/harbor-lantern
  • https://harborandpine.example/products/insulated-bottle

Så åtgärdar du det

Allmän vägledning
  1. Justera rubriknivåerna i de berörda sektionerna så att de kommer i ordning utan att nivåer hoppas över.
  2. Ändra bara taggen, inte det visuella utseendet (använd CSS-klasser för storleken).

Kod

Implementeringsexempel för din utvecklare. Vi har inte tillgång till ditt temas källkod, så filplatserna är tips, inte exakta sökvägar.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<h3>Trail Daypack 22L</h3>
Efter · exempel att anpassa
<h2 class="h3">Trail Daypack 22L</h2>

Använd den nivå som följer på föregående rubrik på sidan (ofta en nivå högre upp) och behåll utseendet med en klass. Kontrollera sidans rubrikstruktur innan du ändrar den.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<h3>Reviews</h3>
Efter · exempel att anpassa
<h2 class="h3">Reviews</h2>

Använd den nivå som följer på föregående rubrik på sidan (ofta en nivå högre upp) och behåll utseendet med en klass. Kontrollera sidans rubrikstruktur innan du ändrar den.

Före · det vi hittade · Din temakod (sök efter den markup som visas)
<h3>Started on the trail</h3>
Efter · exempel att anpassa
<h2 class="h3">Started on the trail</h2>

Använd den nivå som följer på föregående rubrik på sidan (ofta en nivå högre upp) och behåll utseendet med en klass. Kontrollera sidans rubrikstruktur innan du ändrar den.

Åtgärda med AIVisa prompten

Klistra in den här i ChatGPT, Claude, Cursor eller Copilot tillsammans med din temafil. Granska ändringen innan du publicerar den.

Jag driver en Shopify-butik (Online Store 2.0-tema, Liquid-mallar) på harborandpine.example. Ett tillgänglighetstest hittade det här problemet, och jag vill åtgärda det i mitt tema.

Problem: Rubriknivåer bör endast öka med ett steg i taget.
Var: 7 förekomster på 7 sidor, till exempel /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie.

Ett felande element, så som webbläsaren renderade det:
```html
<h3>Trail Daypack 22L</h3>
```

Därför spelar det roll: Skärmläsaranvändare navigerar med hjälp av rubriker. Det här är god praxis som stöder WCAG 1.3.1.

Det här behöver ändras:
- Justera rubriknivåerna i de berörda sektionerna så att de kommer i ordning utan att nivåer hoppas över.
- Ändra bara taggen, inte det visuella utseendet (använd CSS-klasser för storleken).

En föreslagen ändring (Din temakod (sök efter den markup som visas)):
```html
<h2 class="h3">Trail Daypack 22L</h2>
```

Regler för ditt svar:
- Visa den exakta ändringen som före och efter, och ange filen eller inställningen där den ska göras. Om du behöver se min fil först, be mig klistra in den.
- Behåll den visuella designen och allt befintligt beteende oförändrat.
- Hitta inte på produktnamn, priser eller text; använd platshållare som jag kan fylla i.
- Avsluta med hur jag själv kan kontrollera åtgärden.
- Ta med hur jag bekräftar åtgärden med tangentbordet och en skärmläsare.

Kontrollera din åtgärd

  • Skanna igen och kontrollera rubrikstrukturen med ett webbläsartillägg som HeadingsMap.

Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright

Behöver granskas manuellt

Automatiska tester flaggade dessa men kunde inte avgöra dem, till exempel text ovanpå en bild eller innehåll som kanske inte får plats på en mobilskärm. De räknas inte som fel. Be din utvecklare kontrollera var och en.

  • Behöver granskasWCAG 4.1.3

    Tangentbordsflöde: Lägg i varukorgen med tangentbordet

    Enter på Lägg i varukorgen fungerade (antalet i varukorgen i sidhuvudet ändrades, ett meddelande av typen ”tillagd i varukorgen” visades), men vi hittade inget statusmeddelande eller någon dialogruta med fokus, så skärmläsaranvändare kanske inte hör att varan lades till.

    1 förekomst på 1 sida · Så kontrollerar du det här

  • Behöver granskasWCAG 1.4.10

    Produktsidan kanske inte får plats på en smal skärm utan rullning i sidled

    Vid 320 CSS-pixlars bredd (samma som 400 % zoom) är sidan 200px bredare än skärmen. Datatabeller och kartor får rulla; text och kontroller bör inte göra det.

    2 förekomster på 1 sida · Så kontrollerar du det här

    Element att kontrollera (2 visas)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    div
    <div> <p style="color:#6a6a60;font-size:14px">Harbor &amp; Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si
  • Behöver granskasWCAG 1.4.10

    Startsidan kanske inte får plats på en smal skärm utan rullning i sidled

    Vid 320 CSS-pixlars bredd (samma som 400 % zoom) är sidan 55px bredare än skärmen. Datatabeller och kartor får rulla; text och kontroller bör inte göra det.

    3 förekomster på 1 sida · Så kontrollerar du det här

    Element att kontrollera (3 visas)
    div.icons
    <div class="icons"> <button type="button"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"></circle><path d="M20 20l-3.5-3.5"></path></svg></bu
    article.card
    <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><
    button.btn.light
    <button class="btn light" type="submit">Subscribe</button>
  • Behöver granskasWCAG 1.4.3

    Element måste uppfylla tröskelvärdena för minsta färgkontrast

    Elementets bakgrundsfärg kunde inte bestämmas eftersom elementet innehåller en bildnod.

    1 förekomst på 1 sida · Så kontrollerar du det här

    Element att kontrollera (1 visas)
    h1
    <h1>Gear for the long way home</h1>

Testa om dina åtgärder

När din utvecklare har gjort ändringar kör du ett omtest. Vi kör samma automatiska kontroller på samma sidor, tangentbordstestet och tangentbordsflödet igen och visar vilka problem vi inte längre kan återskapa. 5 omtester ingår.

Omtester körs på betalda rapporter.

Manuella kontroller

Automatiska verktyg kan inte bedöma de här punkterna. Gå igenom dem innan du betraktar arbetet som klart.

  • Genomför ett köp i kassan med enbart tangentbordet: vårt automatiska flöde stannar vid kassaknappen och går aldrig in i kassan.
  • Upprepa med en skärmläsare (VoiceOver på Mac: Cmd+F5; NVDA på Windows) och bekräfta att priser, varianter och fel läses upp.
  • Zooma webbläsaren till 200 % och bekräfta att ingenting överlappar eller försvinner.
  • Kontrollera att produkt- och varumärkesvideor har korrekta undertexter.
  • Skicka formulär med fel i (nyhetsbrev, kontakt, kassa) och bekräfta att felen beskrivs i text.
  • Kontrollera att karuseller och popup-fönster kan pausas eller stängas, även med Escape-tangenten.

Utkast till tillgänglighetsredogörelse

Redigera delarna inom hakparentes och publicera texten på en sida som länkas från din sidfot.

Tillgänglighetsredogörelse för harborandpine.example

Vi vill att alla ska kunna handla på harborandpine.example, även personer som använder skärmläsare, tangentbordsnavigering, förstoring eller andra hjälpmedel. Vi strävar efter att uppfylla Web Content Accessibility Guidelines (WCAG) 2.2 på nivå AA.

Det här gör vi
- Vi testar vår butik med automatiska tillgänglighetsverktyg och åtgärdar de problem som de hittar.
- Vi testar viktiga steg i köpet (bläddra bland varor, produktsidor, varukorg och kassa) med tangentbord och skärmläsare.
- Vi granskar tillgängligheten i appar och widgetar från tredje part innan vi lägger till dem.

Kända brister (per 24 september 2026)
- Tangentbordsåtkomst och fokus (WCAG 2.1.1). Vi planerar att åtgärda detta senast 2026-10-08.
- Länkar och knappar utan namn (WCAG 2.4.4, 4.1.2). Vi planerar att åtgärda detta senast 2026-10-08.
- Bilder utan textalternativ (WCAG 1.1.1). Vi planerar att åtgärda detta senast 2026-10-08.
- Formulärfält utan etiketter (WCAG 4.1.2). Vi planerar att åtgärda detta senast 2026-10-08.
- Låg färgkontrast (WCAG 1.4.3). Vi planerar att åtgärda detta senast 2026-10-08.

Återkoppling och hjälp
Om du har svårt att använda någon del av vår butik kan du kontakta oss på [din e-postadress] eller [ditt telefonnummer]. Berätta vilken sida det gäller och vad problemet är, så hjälper vi dig att slutföra ditt köp och svarar inom 5 arbetsdagar.

Den här redogörelsen togs fram den 24 september 2026 och ses över minst en gång om året.

Logg med belägg

Varje sida laddades i Chromium och testades med axe-core 4.13.0. SHA-256-hashen identifierar de råa resultaten för varje sida.

Testade sidor med tidsstämplar och hashvärden för resultaten
SidaTestad (UTC)HTTPProblemSHA-256
Startsidahttps://harborandpine.example/2026-09-24 14:05:0020015da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3
Kollektionssidahttps://harborandpine.example/collections/all2026-09-24 14:05:092002028d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0
Produktsidahttps://harborandpine.example/products/trail-daypack2026-09-24 14:05:182002068a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4
Varukorghttps://harborandpine.example/cart2026-09-24 14:05:27200125b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c
Innehållssidahttps://harborandpine.example/pages/about2026-09-24 14:05:362009daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f
Extra sidahttps://harborandpine.example/products/pine-wool-beanie2026-09-24 14:08:0020020f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3
Extra sidahttps://harborandpine.example/products/enamel-camp-mug2026-09-24 14:08:0720019c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022
Extra sidahttps://harborandpine.example/products/harbor-lantern2026-09-24 14:08:14200205720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418
Extra sidahttps://harborandpine.example/products/insulated-bottle2026-09-24 14:08:21200196f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd

Omfattning och metod

Det här testade vi

  • 9 sidor (startsidan, kollektionssidan, produktsidan, varukorgen, innehållssidan, en extra sida) laddade i Chromium i 1366×900.
  • Regler i axe-core 4.13.0 för WCAG 2.0, 2.1 och 2.2 nivå A och AA, plus regler för god praxis (visas som P3).
  • Ett tangentbordstest: 40 tryck på Tab på startsidan för att hitta fokusfällor och saknade fokusmarkeringar.
  • Ett köpflöde med enbart tangentbord från startsidan till kassaknappen (se ovan).
  • En kontroll av omflöde i 320 CSS-pixlars bredd på startsidan och produktsidan (WCAG 1.4.10).

Det här testade vi inte

  • Kassa- och betalsidor, skickade formulär, kontosidor och sidor bakom inloggning.
  • Vad en skärmläsare faktiskt läser upp, utöver de automatiska reglerna.
  • Textning och syntolkning av video, PDF-dokument och innehåll i ramar från tredje part.
  • Klarspråk, kognitiv tillgänglighet och allt annat som kräver mänsklig bedömning (se Manuella kontroller).

Så läser du resultaten

Verifierat fel
Ett automatiskt test eller tangentbordsflödet underkändes, och beläggen visas.
Behöver granskas
Ett test flaggade något som det inte kunde avgöra; en människa bör kontrollera det.
Godkänt
Den automatiska regeln hittade inga fel på de testade sidorna.
Inte testat
Ligger utanför vad automatiska tester kan täcka här; se Manuella kontroller.

Få den här rapporten för din webbplats.

Börja med den kostnadsfria skanningen för att se dina problem och hur de stämmer med ditt brev. Tillgänglighetsrapport kostar $249 som engångspris och är klar på ungefär 10 minuter.

Skanna din webbplats gratis

Den här rapporten beskriver resultaten av automatiska tester och ger vägledning för åtgärder. Den är inte juridisk rådgivning och intygar inte att ADA, tillgänglighetsdirektivet (European Accessibility Act) eller någon annan lag uppfylls.