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 gratisExempel: Tillgänglighetsrapport
harborandpine.example
- Plattform:
- Shopify
- Skapad:
- 24 sep. 2026
- Testade sidor:
- 9
- Motor:
- axe-core 4.13.0
Sammanfattning
- Vi testade 9 sidor på harborandpine.example (4 från din sitemap) den 24 sep. 2026 med axe-core 4.13.0 mot WCAG 2.2 A och AA, plus ett köptest med enbart tangentbord.
- 8 problemtyper hittades i de automatiska WCAG-testerna (131 förekomster). 8 är markerade Åtgärda först.
- Flödet stoppadesEn kund som bara använder tangentbordet stoppas vid: Välj alternativ och antal.
- 4 punkter behöver kontrolleras av en människa: automatiska tester flaggade dem men kunde inte avgöra.
- Börja med: Tangentbordsfokus är fångat i cookiebannern; Produktalternativ kan inte väljas med tangentbordet; Knappar måste ha urskiljbar text.
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.
01Nå huvudmenyn
GodkäntFokus 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/
- Öppna startsidan.
- Klicka i webbläsarens adressfält och tryck sedan på Tab upprepade gånger (Skift+Tab går bakåt).
Fokusordningen vi observerade
”Shop”
02Öppna en produkt från en kollektion
GodkäntFokus 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
- Öppna /collections/all.
- 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”
03Välj alternativ och antal
Underkänt3 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 Så återskapar du problemet
https://harborandpine.example/products/trail-daypack
- Öppna /products/trail-daypack.
- 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>04Lägg i varukorgen med tangentbordet
Behöver granskasEnter 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 Så återskapar du problemet
https://harborandpine.example/products/trail-daypack
- Öppna /products/trail-daypack.
- Tryck på Tab tills Lägg i varukorgen har fokus och tryck sedan på Enter.
- Lyssna efter en bekräftelse med en skärmläsare (VoiceOver: Cmd+F5).
05Ändra varukorgen och nå kassan
GodkäntNå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
- Lägg valfri produkt i varukorgen och öppna varukorgssidan.
- 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”
06Kassa
Inte testatVi 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.
- Återskapat
“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
- Manuell kontroll
“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.
Åtgärdsplan
| Prioritet | Problem | Status | WCAG | Förekomster | Ansvarig | Måldatum |
|---|---|---|---|---|---|---|
| P1 | Tangentbordsfokus är fångat i cookiebannern | Verifierat | 2.1.2 | 1 | appleverantör | 2026-10-08 |
| P1 | Produktalternativ kan inte väljas med tangentbordet | Verifierat | 2.1.1 | 1 | temautvecklare | 2026-10-08 |
| P1 | Knappar måste ha urskiljbar text | Verifierat | 4.1.2 | 41 | temautvecklare | 2026-10-08 |
| P1 | Bilder måste ha alternativ text | Verifierat | 1.1.1 | 22 | innehållsredaktör | 2026-10-08 |
| P1 | Formulärelement måste ha etiketter | Verifierat | 4.1.2 | 7 | temautvecklare | 2026-10-08 |
| P1 | Select-element måste ha ett tillgängligt namn | Verifierat | 4.1.2 | 1 | temautvecklare | 2026-10-08 |
| P1 | Länkar måste ha urskiljbar text | Verifierat | 2.4.4, 4.1.2 | 36 | temautvecklare | 2026-10-08 |
| P1 | Element måste uppfylla tröskelvärdena för minsta färgkontrast | Verifierat | 1.4.3 | 22 | butiksägare (inställningar i admin) | 2026-10-08 |
| P3 | Allt sidinnehåll bör ingå i landmärken | Verifierat | God praxis | 18 | temautvecklare | 2026-11-23 |
| P3 | Rubriknivåer bör endast öka med ett steg i taget | Verifierat | God praxis | 7 | temautvecklare | 2026-11-23 |
Så åtgärdar du varje problem
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
- Öppna startsidan.
- Klicka i adressfältet och tryck sedan på Tab flera gånger.
- Fokus återvänder hela tiden till samma få element.
Felande element (6 visas)
SettingsAccept allSettingsAccept allSettingsAccept allBerörda sidor (1)
- https://harborandpine.example/
Så åtgärdar du det
Allmän vägledning- 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.
Å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.
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.

Så återskapar du problemet
- Öppna /products/trail-daypack.
- 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)
<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- 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.
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.
<div class="size-option" data-fr="opt-1">S</div><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.
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".


Så återskapar du problemet
- Öppna https://harborandpine.example/ i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: img[src$="hero-photo.jpg"]
- I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”image-alt”.
Felande element (4 visas)
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/mug.svg"><img src="/img/beanie.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- Ö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.
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.
<img src="/img/hero-photo.jpg" loading="lazy"><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.
<img src="/img/mug.svg"><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.
<img src="/img/beanie.svg"><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.
<img src="/img/jacket.svg"><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
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".


Så återskapar du problemet
- Öppna https://harborandpine.example/products/trail-daypack i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: input
- I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”label”.
Felande element (2 visas)
<input type="number" value="1" min="1"><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- Ge varje fält ett <label for="field-id">-element, eller åtminstone ett aria-label.
- 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.
<input type="number" value="1" min="1"><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.
<input type="number" value="2" min="1"><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
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".

Så återskapar du problemet
- Öppna https://harborandpine.example/collections/all i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: select
- I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”select-name”.
Felande element (1 visas)
<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- 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.
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select><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
Länkar måste ha urskiljbar text
insats: snabb · ansvarig: temautvecklare · 2.4.4 Länkens syfte (i sitt sammanhang), 4.1.2 Namn, roll, värde
Vissa länkar saknar text som en skärmläsare kan läsa upp, ofta länkar som bara består av en ikon, till exempel ikoner för sociala medier eller varukorgsikonen.
WCAG 2.4.4 och 4.1.2 kräver att länkar har ett tillgängligt namn som beskriver deras syfte.
Belägg
- Hittat av
- Automatisk regel i axe-core
- Status · konfidens
- Verifierat fel · hög
- Upptäckt
- 24 sep. 2026 (UTC)
- Var
- 36 förekomster på 9 sidor
Förväntat: Länkar måste ha urskiljbar text
Observerat: Elementet ingår i tabbordningen men saknar tillgänglig text. Dessutom: Elementet saknar 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.


Så återskapar du problemet
- Öppna https://harborandpine.example/ i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: a[href$="cart"]
- I panelen Accessibility i DevTools är elementets beräknade namn (Name) tomt.
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”link-name”.
Felande element (4 visas)
<a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a><a href="https://instagram.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle></svg></a><a href="https://facebook.example/harborandpine"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M14 8h3V4h-3c-2.8 0-4 1.8-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8.5c0-.3.2-.5.5-.5z"></path></svg></a><a href="https://x.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4l16 16M20 4L4 20"></path></svg></a>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- Hitta länkarna i exemplen nedan. De flesta är ikoner eller bilder i en <a>-tagg.
- Lägg till visuellt dold text i länken, eller ett aria-label som aria-label="Instagram" eller aria-label="Cart".
- Om länken omsluter en bild ger du i stället bilden en meningsfull alt-text.
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.
<a href="/cart">…</a><a href="/cart" aria-label="Cart">…</a>Ger länken namnet ”Cart”, som vi har gissat utifrån länken eller dess klasser. Kontrollera att det säger vad länken gör.
<a href="https://instagram.example/harborandpine">…</a><a href="https://instagram.example/harborandpine" aria-label="Instagram">…</a>Ger länken namnet ”Instagram”, som vi har gissat utifrån länken eller dess klasser. Kontrollera att det säger vad länken gör.
<a href="https://facebook.example/harborandpine">…</a><a href="https://facebook.example/harborandpine" aria-label="Facebook">…</a>Ger länken namnet ”Facebook”, som vi har gissat utifrån länken eller dess klasser. Kontrollera att det säger vad länken gör.
<a href="https://x.example/harborandpine">…</a><a href="https://x.example/harborandpine" aria-label="X (Twitter)">…</a>Ger länken namnet ”X (Twitter)”, som vi har gissat utifrån länken eller dess klasser. Kontrollera att det säger vad länken gör.
Å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: Länkar måste ha urskiljbar text (WCAG 2.4.4, 4.1.2). Var: 36 förekomster på 9 sidor, till exempel /, /collections/all, /products/trail-daypack, /cart. Ett felande element, så som webbläsaren renderade det: ```html <a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a> ``` Därför spelar det roll: WCAG 2.4.4 och 4.1.2 kräver att länkar har ett tillgängligt namn som beskriver deras syfte. Det här behöver ändras: - Hitta länkarna i exemplen nedan. De flesta är ikoner eller bilder i en <a>-tagg. - Lägg till visuellt dold text i länken, eller ett aria-label som aria-label="Instagram" eller aria-label="Cart". - Om länken omsluter en bild ger du i stället bilden en meningsfull alt-text. En föreslagen ändring (Din temakod (sök efter den markup som visas)): ```html <a href="/cart" aria-label="Cart">…</a> ``` 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 link-name är borta.
- Tabba till varje länk med en skärmläsare igång och lyssna på namnet.
Utförlig vägledning: https://dequeuniversity.com/rules/axe/4.13/link-name?application=playwright
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.


Så återskapar du problemet
- Öppna https://harborandpine.example/ i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: .announce
- Klicka på färgrutan bredvid elementets färg i panelen Styles för att se det uppmätta kontrastförhållandet.
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”color-contrast”.
Felande element (4 visas)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><span class="badge">Sale</span><span class="compare">$72</span><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- Ö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.
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.
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>.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.
<span class="badge">Sale</span>.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.
<span class="compare">$72</span>.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
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.


Så återskapar du problemet
- Öppna https://harborandpine.example/ i Chrome eller Edge.
- Öppna DevTools (F12) › Elements, tryck på Ctrl+F (Cmd+F på Mac) och sök efter: .announce
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”region”.
Felande element (2 visas)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><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- 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
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.


Så återskapar du problemet
- Öppna https://harborandpine.example/collections/all i Chrome eller Edge.
- Ö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
- Eller kör det kostnadsfria webbläsartillägget axe DevTools på sidan: det rapporterar detta som ”heading-order”.
Felande element (3 visas)
<h3>Trail Daypack 22L</h3><h3>Reviews</h3><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- 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).
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.
<h3>Trail Daypack 22L</h3><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.
<h3>Reviews</h3><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.
<h3>Started on the trail</h3><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></budiv <div> <p style="color:#6a6a60;font-size:14px">Harbor & 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></buarticle.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.
| Sida | Testad (UTC) | HTTP | Problem | SHA-256 |
|---|---|---|---|---|
| Startsidahttps://harborandpine.example/ | 2026-09-24 14:05:00 | 200 | 15 | da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3 |
| Kollektionssidahttps://harborandpine.example/collections/all | 2026-09-24 14:05:09 | 200 | 20 | 28d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0 |
| Produktsidahttps://harborandpine.example/products/trail-daypack | 2026-09-24 14:05:18 | 200 | 20 | 68a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4 |
| Varukorghttps://harborandpine.example/cart | 2026-09-24 14:05:27 | 200 | 12 | 5b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c |
| Innehållssidahttps://harborandpine.example/pages/about | 2026-09-24 14:05:36 | 200 | 9 | daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f |
| Extra sidahttps://harborandpine.example/products/pine-wool-beanie | 2026-09-24 14:08:00 | 200 | 20 | f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3 |
| Extra sidahttps://harborandpine.example/products/enamel-camp-mug | 2026-09-24 14:08:07 | 200 | 19 | c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022 |
| Extra sidahttps://harborandpine.example/products/harbor-lantern | 2026-09-24 14:08:14 | 200 | 20 | 5720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418 |
| Extra sidahttps://harborandpine.example/products/insulated-bottle | 2026-09-24 14:08:21 | 200 | 19 | 6f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd |
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 gratisDen 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.

