Eksempel på en Tilgængelighedsrapport. Harbor & Pine er en fiktiv webshop, vi har bygget med almindelige tilgængelighedsfejl og derefter testet med den samme motor, som scanner din hjemmeside.

Scan din hjemmeside gratis

Eksempel på Tilgængelighedsrapport

harborandpine.example

Platform:
Shopify
Genereret:
24. sep. 2026
Testede sider:
9
Motor:
axe-core 4.13.0

Resumé

Automatiske tests finder en del af tilgængelighedsproblemerne på en hjemmeside, ikke dem alle. Denne rapport beskriver, hvad vores tests fandt, og hvordan du retter det. Den er ikke juridisk rådgivning og certificerer ikke overholdelse af ADA, European Accessibility Act eller nogen anden lov.

Overblik

P1 · Ret førstBlokerer besøgende på vigtige sider
8
P2 · Ret derefterAlvorlige eller moderate barrierer
0
P3 · ForbedrMindre problemer og god praksis
2

Forekomster efter alvorlighed

Kritisk
73
Alvorlig
58
Moderat
25
Mindre
0
Bekræftede fejlProblemtyper, der fejlede i en automatisk test
10
Skal gennemgåsMarkeret, men et menneske skal afgøre det
4
Beståede tjekAutomatiske regler uden fejl
32
Ikke testetTrin i brugerrejsen og manuelle tjek
7

Vi testede 9 sider, heraf 4 udvalgt fra dit sitemap. Måldatoerne er forslag ud fra alvorligheden; aftal de endelige datoer med din udvikler.

Overblik over hjemmesiden

Fundet ud fra offentlige tegn på de testede sider. En betegnelse kan være forkert; den afgør kun, hvilke ekstra tjek der køres.

Hjemmesidetype

  • WebshopHøj sikkerhedsgrad
    • Kører på Shopify, en webshopplatform
    • Link til en kurv
    • Links til produkter eller butik
  • LandingssideMiddel sikkerhedsgrad
    • Links til kun 6 interne sider

Fundne teknologier

  • ShopifyHøj sikkerhedsgrad

    Filer eller scripts fra Shopify på siden

Tjek for denne hjemmeside

  • Generelle tjek: tilgængelighed, SEO, hastighed, sikkerhed og e-mail
  • E-handelsmodul: kategori-, produkt- og kurvsider samt en shoppingrejse med tastatur frem til checkout-knappen
  • Shopify-noter: trin til rettelser i temaet og administrationen; headers og cookies, som platformen styrer, vises til orientering

Shoppingrejse med tastatur

Vi prøvede at handle kun med tastaturet (Tab, Shift+Tab, Enter, Mellemrum, Escape), sådan som folk, der ikke kan bruge en mus, gør. Vi lægger én vare i en kurv i en session, der kasseres bagefter, og stopper ved checkout-knappen: vi går aldrig til checkout og indtaster aldrig personlige oplysninger eller betalingsoplysninger. Mål: Fra forsiden til checkout-knappen kun med tastaturet.

  1. 01Nå hovednavigationen

    Bestået

    Fokus nåede »Shop« i navigationen efter 21 tryk på Tab.

    Forventet: Tab fra toppen af forsiden når frem til linkene i hovednavigationen.

    • Bemærk: Et cookiebanner holdt fast på tastaturfokus, indtil vi trykkede Enter på »Accept all«.
    Sådan genskaber du det

    https://harborandpine.example/

    1. Åbn forsiden.
    2. Klik i browserens adresselinje, og tryk derefter på Tab flere gange (Shift+Tab går tilbage).

    Den fokusrækkefølge, vi observerede

    »Shop«

  2. 02Åbn et produkt fra en kategori

    Bestået

    Fokus nåede »Trail Daypack 22L« efter 9 tryk på Tab, og Enter åbnede /products/trail-daypack.

    Forventet: Tab når frem til et produkt i kategoriens produktgitter, og Enter åbner dets side.

    Sådan genskaber du det

    https://harborandpine.example/collections/all

    1. Åbn /collections/all.
    2. Tryk på Tab, til et produkt i gitteret er markeret, og tryk derefter på Enter.

    Den fokusrækkefølge, vi observerede

    »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ælg varianter og antal

    Fejlet

    3 produktvalg kan ikke få tastaturfokus: »S«, »M«, »L«. De reagerer på musen, men en tastaturbruger kan ikke vælge dem.

    Forventet: Alle produktvalg (størrelse, farve, variant) og antalsfeltet kan nås med Tab.

    2.1.1 Keyboard · Sikkerhedsgrad: høj

    Vælg varianter og antal: det element, der fejler, markeret
    Vælg varianter og antal: det element, der fejler, markeret
    Sådan genskaber du det

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

    1. Åbn /products/trail-daypack.
    2. Tryk på Tab fra toppen af siden, og notér, hvilke kontrolelementer der får fokus før Læg i kurv.

    Den fokusrækkefølge, vi observerede

    »Harbor & Pine« → »Shop« → »New arrivals« → »Our story« → … 5 mere … → 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æg i kurven med tastaturet

    Skal gennemgås

    Enter på Læg i kurv virkede (antallet i kurven i headeren ændrede sig, en besked som »lagt i kurven« blev vist), men vi fandt ingen statusbesked eller dialogboks med fokus, så skærmlæserbrugere hører måske ikke, at varen blev lagt i kurven.

    Forventet: Enter på Læg i kurv lægger varen i kurven, og bekræftelsen bliver formidlet: en statusbesked, en dialogboks, der får fokus, eller kurvsiden.

    4.1.3 Status Messages · Sikkerhedsgrad: middel

    Læg i kurven med tastaturet: siden ved dette trin
    Læg i kurven med tastaturet: siden ved dette trin
    Sådan genskaber du det

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

    1. Åbn /products/trail-daypack.
    2. Tryk på Tab, til Læg i kurv har fokus, og tryk derefter på Enter.
    3. Lyt efter en bekræftelse med en skærmlæser (VoiceOver: Cmd+F5).
  5. 05Ændr kurven, og nå frem til checkout

    Bestået

    Alle kurvens 4 kontrolelementer og checkout-knappen (»Check out«) blev nået med 12 tryk på Tab. Vi trykkede ikke på den.

    Forventet: Antalsfelter, fjern-knapper og checkout-knappen kan alle nås med Tab.

    Sådan genskaber du det

    https://harborandpine.example/cart

    1. Læg et vilkårligt produkt i kurven, og åbn kurvsiden.
    2. Tryk på Tab, og tjek, at antalsfelter, fjern-knapper og checkout-knappen alle får fokus.

    Den fokusrækkefølge, vi observerede

    »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. 06Checkout

    Ikke testet

    Vi stopper ved checkout-knappen: vi går aldrig ind i checkout, opretter aldrig en ordre og indtaster aldrig betalingsoplysninger. På Shopify drives checkout-siderne af Shopify, ikke af dit tema. Tjek checkout manuelt (se Manuelle tjek).

Påstandsoversigt for kravbrev

Hver påstand i brevet sammenholdt med dokumentationen fra scanningen. En faktuel sammenligning, ikke juridisk rådgivning.

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

    Billeder uden tekstalternativer. 10 forekomster på 3 af 5 testede sider.

    image-alt

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

    Lav farvekontrast. 16 forekomster på 5 af 5 testede sider.

    color-contrast

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

    Tastaturadgang og fokus. Tastaturfokus sidder fast i cookiebanneret.

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

    Formularfelter uden labels. 4 forekomster på 3 af 5 testede sider.

    select-name, label

    Genskabt
  • “Product videos do not have captions.”

    Undertekster til video og lyd. Automatiske scanninger kan ikke vurdere undertekster. Tjek alle produkt- og brandvideoer for korrekte undertekster og en transskription.

    Manuelt tjek
  • “Our client is legally blind and uses screen reader software.”

    Andre problemer. Det er en generel påstand. Test de vigtigste forløb (søgning, produktside, læg i kurv, checkout) med en skærmlæser som VoiceOver eller NVDA.

    Manuelt tjek

Udbedringsplan

Problemer i prioriteret rækkefølge med ansvarlige og måldatoer
PrioritetProblemStatusWCAGForekomsterAnsvarligMåldato
P1Tastaturfokus er fanget i cookiebanneretBekræftet2.1.21appleverandør2026-10-08
P1Produktets valgmuligheder kan ikke vælges med tastaturetBekræftet2.1.11temaudvikler2026-10-08
P1Knapper skal have forståelig (dvs. detekterbar) tekstBekræftet4.1.241temaudvikler2026-10-08
P1Billeder skal have en alternativ tekstBekræftet1.1.122indholdsredaktør2026-10-08
P1Form-elementer skal have labelsBekræftet4.1.27temaudvikler2026-10-08
P1Select-elementer skal have et tilgængeligt navnBekræftet4.1.21temaudvikler2026-10-08
P1Links skal have forståelig (detekterbar) tekstBekræftet2.4.4, 4.1.236temaudvikler2026-10-08
P1Elementer skal have tilstrækkelig farvekontrastBekræftet1.4.322butiksejer (indstillinger i administrationen)2026-10-08
P3Alt indhold på siden skal være indeholdt i landmarksBekræftetGod praksis18temaudvikler2026-11-23
P3Overskriftsniveauer bør kun ændres sekventieltBekræftetGod praksis7temaudvikler2026-11-23

Sådan retter du hvert problem

P1KritiskBekræftet fejlWCAG 2.1.2

Tastaturfokus er fanget i cookiebanneret

indsats: moderat · ansvarlig: appleverandør · 2.1.2 No Keyboard Trap

Når en tastaturbruger trykker på Tab, kører fokus rundt mellem nogle få elementer og når aldrig resten af siden.

Brugere, der kun bruger tastatur eller skærmlæser, kan slet ikke handle, hvis fokus er fanget (WCAG 2.1.2 No Keyboard Trap).

Dokumentation

Fundet af
Tastaturtest (Tab gennem forsiden)
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
1 forekomst på 1 side

Forventet: Tryk på Tab flytter fokus gennem alle interaktive elementer på siden og videre til resten af siden.

Observeret: Efter 40 tryk på Tab blev fokus ved med at køre rundt mellem: Settings, Accept all.

Sådan genskaber du det
  1. Åbn forsiden.
  2. Klik i adresselinjen, og tryk derefter på Tab flere gange.
  3. Fokus vender hele tiden tilbage til de samme få elementer.
Fejlende elementer (6 vist)
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ørte sider (1)
  • https://harborandpine.example/

Sådan retter du det

Generel vejledning
  1. Tjek indstillingerne i din app til cookie- eller samtykkebanneret for en indstilling for tilgængelighed eller fokusfælder, eller bed leverandøren om at rette det.
  2. En modal må kun holde fokus inden i sig, mens den er åben, og skal kunne lukkes med Escape-tasten og sende fokus tilbage, hvor det kom fra.
Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Tastaturfokus er fanget i cookiebanneret (WCAG 2.1.2).
Hvor: 1 forekomst på 1 side, for eksempel /.

Ét fejlende element, som browseren renderede det:
```html
Settings
```

Hvorfor det er vigtigt: Brugere, der kun bruger tastatur eller skærmlæser, kan slet ikke handle, hvis fokus er fanget (WCAG 2.1.2 No Keyboard Trap).

Det skal ændres:
- Tjek indstillingerne i din app til cookie- eller samtykkebanneret for en indstilling for tilgængelighed eller fokusfælder, eller bed leverandøren om at rette det.
- En modal må kun holde fokus inden i sig, mens den er åben, og skal kunne lukkes med Escape-tasten og sende fokus tilbage, hvor det kom fra.

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Indlæs forsiden, tryk på Tab flere gange, og bekræft, at fokus når hovedmenuen og indholdet.

Fundet af en automatisk tastaturtest; bekræft det manuelt.

P1KritiskBekræftet fejlWCAG 2.1.1

Produktets valgmuligheder kan ikke vælges med tastaturet

indsats: moderat · ansvarlig: temaudvikler · 2.1.1 Keyboard

Valgmuligheder for størrelse, farve eller variant reagerer på musen, men kan ikke få tastaturfokus, så tastaturbrugere kan ikke vælge en variant.

Kunder, der kun bruger tastatur, herunder mange skærmlæserbrugere, kan ikke komme videre fra dette trin (WCAG 2.1.1).

Dokumentation

Fundet af
Brugerrejse med tastatur
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
1 forekomst på 1 side

Forventet: Alle produktvalg (størrelse, farve, variant) og antalsfeltet kan nås med Tab.

Observeret: 3 produktvalg kan ikke få tastaturfokus: »S«, »M«, »L«. De reagerer på musen, men en tastaturbruger kan ikke vælge dem.

Produktets valgmuligheder kan ikke vælges med tastaturet: det markerede element
Produktets valgmuligheder kan ikke vælges med tastaturet: det markerede element
Sådan genskaber du det
  1. Åbn /products/trail-daypack.
  2. Tryk på Tab fra toppen af siden, og notér, hvilke kontrolelementer der får fokus før Læg i kurv.
Fejlende elementer (1 vist)
(se skærmbillede)
<div class="size-option" data-fr="opt-1">S</div>
Berørte sider (1)
  • https://harborandpine.example/products/trail-daypack

Sådan retter du det

Generel vejledning
  1. Byg vælgerne af indbyggede radioknapper (eller en <select>) med synlige labels; style labelen som farveprøven.
  2. Hvis du beholder specialbyggede elementer, skal hver valgmulighed have tabindex="0" og role="radio" med aria-checked inden i en role="radiogroup" samt håndtering af piletaster og mellemrumstasten. Indbyggede radioknapper giver dig alt dette gratis.

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Dit temas produktformular (variantvælger)
<div class="size-option" data-fr="opt-1">S</div>
Efter · eksempel, du skal tilpasse
<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>

Hver valgmulighed er en rigtig radioknap, der kan nås med Tab og ændres med piletasterne; labelen bevarer din styling af farveprøven. Brug dine egne navne og værdier for valgmulighederne.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Produktets valgmuligheder kan ikke vælges med tastaturet (WCAG 2.1.1).
Hvor: 1 forekomst på 1 side, for eksempel /products/trail-daypack.

Ét fejlende element, som browseren renderede det:
```html
<div class="size-option" data-fr="opt-1">S</div>
```

Hvorfor det er vigtigt: Kunder, der kun bruger tastatur, herunder mange skærmlæserbrugere, kan ikke komme videre fra dette trin (WCAG 2.1.1).

Det skal ændres:
- Byg vælgerne af indbyggede radioknapper (eller en <select>) med synlige labels; style labelen som farveprøven.
- Hvis du beholder specialbyggede elementer, skal hver valgmulighed have tabindex="0" og role="radio" med aria-checked inden i en role="radiogroup" samt håndtering af piletaster og mellemrumstasten. Indbyggede radioknapper giver dig alt dette gratis.

En foreslået ændring (Dit temas produktformular (variantvælger)):
```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 for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Gentag trinene til at genskabe problemet kun med tastaturet.
  • Bestil en gentest fra denne rapport: brugerrejsen køres igen.
P1KritiskBekræftet fejlWCAG 4.1.2

Knapper skal have forståelig (dvs. detekterbar) tekst

indsats: hurtig · ansvarlig: temaudvikler · 4.1.2 Name, Role, Value

Nogle knapper har intet tilgængeligt navn, så skærmlæserbrugere hører kun »knap«.

WCAG 4.1.2 kræver, at alle kontroller har et navn. Knapper uden navn er ofte knapper til antal, lukkeknapper og pile i slidere.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
41 forekomster på 9 sider

Forventet: Knapper skal have forståelig (dvs. detekterbar) tekst

Observeret: Elementet har ingen indre tekst, som er synlig for skærmlæsere. 'aria-label'-attribut eksisterer ikke eller er tom. 'aria-labelledby'-attribut eksisterer ikke, eller refererer elementer, som ikke eksisterer - eller refererer til elementer, der er tomme. Elementet har ingen title-attribut. Form-elementet har ikke en implicit (indeholdt i en) <label>. Form-elementet har ikke en eksplicit <label>. Elementets standardsemantik blev ikke overskrevet med role="none" eller role="presentation".

Knapper skal have forståelig (dvs. detekterbar) tekst: det markerede element på /
Knapper skal have forståelig (dvs. detekterbar) tekst: det markerede element på /
Knapper skal have forståelig (dvs. detekterbar) tekst: det markerede element på /collections/all
Knapper skal have forståelig (dvs. detekterbar) tekst: det markerede element på /collections/all
Sådan genskaber du det
  1. Åbn https://harborandpine.example/ i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: .icons > button[type="button"]
  3. I panelet Accessibility i DevTools er elementets beregnede navn (Name) tomt.
  4. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »button-name«.
Fejlende elementer (4 vist)
.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ørte sider (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ådan retter du det

Kode bygget ud fra din sides markup
  1. Find knapperne i eksemplerne nedenfor.
  2. Tilføj synlig tekst, visuelt skjult tekst eller en aria-label, der siger, hvad knappen gør (for eksempel aria-label="Close" eller aria-label="Increase quantity").

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<button type="button">…</button>
Efter · bygget ud fra det fejlende element
<button type="button" aria-label="[What this button does]">…</button>

Erstat teksten i kantede parenteser med det, knappen gør. Synlig tekst eller visuelt skjult tekst i knappen virker også.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<button type="button"><img src="/img/daypack.svg"></button>
Efter · bygget ud fra det fejlende element
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/daypack.svg"></button>

Erstat teksten i kantede parenteser med det, knappen gør. Synlig tekst eller visuelt skjult tekst i knappen virker også.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<button type="button"><img src="/img/jacket.svg"></button>
Efter · bygget ud fra det fejlende element
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/jacket.svg"></button>

Erstat teksten i kantede parenteser med det, knappen gør. Synlig tekst eller visuelt skjult tekst i knappen virker også.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<button type="button"><img src="/img/bottle.svg"></button>
Efter · bygget ud fra det fejlende element
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/bottle.svg"></button>

Erstat teksten i kantede parenteser med det, knappen gør. Synlig tekst eller visuelt skjult tekst i knappen virker også.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Knapper skal have forståelig (dvs. detekterbar) tekst (WCAG 4.1.2).
Hvor: 41 forekomster på 9 sider, for eksempel /, /collections/all, /products/trail-daypack, /cart.

Ét fejlende element, som browseren renderede 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>
```

Hvorfor det er vigtigt: WCAG 4.1.2 kræver, at alle kontroller har et navn. Knapper uden navn er ofte knapper til antal, lukkeknapper og pile i slidere.

Det skal ændres:
- Find knapperne i eksemplerne nedenfor.
- Tilføj synlig tekst, visuelt skjult tekst eller en aria-label, der siger, hvad knappen gør (for eksempel aria-label="Close" eller aria-label="Increase quantity").

En foreslået ændring (Din temakode (søg efter den viste markup)):
```html
<button type="button" aria-label="[What this button does]">…</button>
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan de berørte sider igen.
  • Tjek knapperne med en skærmlæser.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/button-name?application=playwright

P1KritiskBekræftet fejlWCAG 1.1.1

Billeder skal have en alternativ tekst

indsats: moderat · ansvarlig: indholdsredaktør · 1.1.1 Non-text Content

Billeder mangler et tekstalternativ, så skærmlæserbrugere ved ikke, hvad de viser.

WCAG 1.1.1 kræver et tekstalternativ til meningsfulde billeder. Uden det kan en skærmlæserbruger ikke vide, hvilket produkt et foto viser.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
22 forekomster på 7 sider

Forventet: Billeder skal have en alternativ tekst

Observeret: Elementet har ikke en 'alt'-attribut. 'aria-label'-attribut eksisterer ikke eller er tom. 'aria-labelledby'-attribut eksisterer ikke, eller refererer elementer, som ikke eksisterer - eller refererer til elementer, der er tomme. Elementet har ingen title-attribut. Elementets standardsemantik blev ikke overskrevet med role="none" eller role="presentation".

Billeder skal have en alternativ tekst: det markerede element på /
Billeder skal have en alternativ tekst: det markerede element på /
Billeder skal have en alternativ tekst: det markerede element på /collections/all
Billeder skal have en alternativ tekst: det markerede element på /collections/all
Sådan genskaber du det
  1. Åbn https://harborandpine.example/ i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: img[src$="hero-photo.jpg"]
  3. I panelet Accessibility i DevTools er elementets beregnede navn (Name) tomt.
  4. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »image-alt«.
Fejlende elementer (4 vist)
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ørte sider (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ådan retter du det

Kode bygget ud fra din sides markup
  1. I Shopify-administrationen åbner du Produkter > [produkt] > Medier, klikker på hvert billede og udfylder alt-teksten (»Alt text«). For billeder i sektioner åbner du Onlinebutik > Temaer > Tilpas og angiver billedets alt-tekst i sektionens indstillinger.
  2. Beskriv det, der er vigtigt for en kunde: produktnavn, farve og den viste vinkel (for eksempel »Mulepose i canvas, oliven, set forfra«).
  3. Dekorative billeder skal have en tom alt-attribut (alt=""), så skærmlæsere springer dem over.

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Produktfotos: Shopify-administration › Produkter › Medier › alt-tekst. Andre billeder: din temakode
<img src="/img/hero-photo.jpg" loading="lazy">
Efter · bygget ud fra det fejlende element
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">

Beskriv, hvad billedet viser (for et produktfoto: produkt, farve, vinkel). Hvis billedet er rent dekorativt, så brug i stedet alt="", så skærmlæsere springer det over.

Før · det, vi fandt · Produktfotos: Shopify-administration › Produkter › Medier › alt-tekst. Andre billeder: din temakode
<img src="/img/mug.svg">
Efter · bygget ud fra det fejlende element
<img src="/img/mug.svg" alt="[Describe the image for a shopper]">

Beskriv, hvad billedet viser (for et produktfoto: produkt, farve, vinkel). Hvis billedet er rent dekorativt, så brug i stedet alt="", så skærmlæsere springer det over.

Før · det, vi fandt · Produktfotos: Shopify-administration › Produkter › Medier › alt-tekst. Andre billeder: din temakode
<img src="/img/beanie.svg">
Efter · bygget ud fra det fejlende element
<img src="/img/beanie.svg" alt="[Describe the image for a shopper]">

Beskriv, hvad billedet viser (for et produktfoto: produkt, farve, vinkel). Hvis billedet er rent dekorativt, så brug i stedet alt="", så skærmlæsere springer det over.

Før · det, vi fandt · Produktfotos: Shopify-administration › Produkter › Medier › alt-tekst. Andre billeder: din temakode
<img src="/img/jacket.svg">
Efter · bygget ud fra det fejlende element
<img src="/img/jacket.svg" alt="[Describe the image for a shopper]">

Beskriv, hvad billedet viser (for et produktfoto: produkt, farve, vinkel). Hvis billedet er rent dekorativt, så brug i stedet alt="", så skærmlæsere springer det over.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Billeder skal have en alternativ tekst (WCAG 1.1.1).
Hvor: 22 forekomster på 7 sider, for eksempel /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie.

Ét fejlende element, som browseren renderede det:
```html
<img src="/img/hero-photo.jpg" loading="lazy">
```

Hvorfor det er vigtigt: WCAG 1.1.1 kræver et tekstalternativ til meningsfulde billeder. Uden det kan en skærmlæserbruger ikke vide, hvilket produkt et foto viser.

Det skal ændres:
- I Shopify-administrationen åbner du Produkter > [produkt] > Medier, klikker på hvert billede og udfylder alt-teksten (»Alt text«). For billeder i sektioner åbner du Onlinebutik > Temaer > Tilpas og angiver billedets alt-tekst i sektionens indstillinger.
- Beskriv det, der er vigtigt for en kunde: produktnavn, farve og den viste vinkel (for eksempel »Mulepose i canvas, oliven, set forfra«).
- Dekorative billeder skal have en tom alt-attribut (alt=""), så skærmlæsere springer dem over.

En foreslået ændring (Produktfotos: Shopify-administration › Produkter › Medier › alt-tekst. Andre billeder: din temakode):
```html
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan de berørte sider igen.
  • Brug en skærmlæser (VoiceOver: Cmd+F5 på Mac) for at høre, hvordan produktbillederne bliver læst op.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright

P1KritiskBekræftet fejlWCAG 4.1.2

Form-elementer skal have labels

indsats: hurtig · ansvarlig: temaudvikler · 4.1.2 Name, Role, Value

Nogle formularfelter har ingen label, så skærmlæserbrugere ved ikke, hvad de skal skrive.

WCAG 1.3.1, 3.3.2 og 4.1.2 kræver, at formularfelter har labels. Felter til tilmelding til nyhedsbrev og søgefelter er typiske syndere.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
7 forekomster på 6 sider

Forventet: Form-elementer skal have labels

Observeret: Form-elementet har ikke en implicit (indeholdt i en) <label>. Form-elementet har ikke en eksplicit <label>. 'aria-label'-attribut eksisterer ikke eller er tom. 'aria-labelledby'-attribut eksisterer ikke, eller refererer elementer, som ikke eksisterer - eller refererer til elementer, der er tomme. Elementet har ingen title-attribut. Elementet har ingen placeholder-attribut. Elementets standardsemantik blev ikke overskrevet med role="none" eller role="presentation".

Form-elementer skal have labels: det markerede element på /products/trail-daypack
Form-elementer skal have labels: det markerede element på /products/trail-daypack
Form-elementer skal have labels: det markerede element på /cart
Form-elementer skal have labels: det markerede element på /cart
Sådan genskaber du det
  1. Åbn https://harborandpine.example/products/trail-daypack i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: input
  3. I panelet Accessibility i DevTools er elementets beregnede navn (Name) tomt.
  4. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »label«.
Fejlende elementer (2 vist)
input
<input type="number" value="1" min="1">
input[value="2"]
<input type="number" value="2" min="1">
Berørte sider (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ådan retter du det

Kode bygget ud fra din sides markup
  1. Giv hvert felt et <label for="field-id">-element eller som minimum en aria-label.
  2. Pladsholdertekst alene tæller ikke som en label.

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<input type="number" value="1" min="1">
Efter · bygget ud fra det fejlende element
<input type="number" value="1" min="1" aria-label="Quantity">

Feltet har intet id, så den hurtigste løsning er en aria-label. En synlig <label> er bedre for alle. Labelteksten »Quantity« er gættet ud fra feltet; ret den om nødvendigt.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<input type="number" value="2" min="1">
Efter · bygget ud fra det fejlende element
<input type="number" value="2" min="1" aria-label="Quantity">

Feltet har intet id, så den hurtigste løsning er en aria-label. En synlig <label> er bedre for alle. Labelteksten »Quantity« er gættet ud fra feltet; ret den om nødvendigt.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Form-elementer skal have labels (WCAG 4.1.2).
Hvor: 7 forekomster på 6 sider, for eksempel /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug.

Ét fejlende element, som browseren renderede det:
```html
<input type="number" value="1" min="1">
```

Hvorfor det er vigtigt: WCAG 1.3.1, 3.3.2 og 4.1.2 kræver, at formularfelter har labels. Felter til tilmelding til nyhedsbrev og søgefelter er typiske syndere.

Det skal ændres:
- Giv hvert felt et <label for="field-id">-element eller som minimum en aria-label.
- Pladsholdertekst alene tæller ikke som en label.

En foreslået ændring (Din temakode (søg efter den viste markup)):
```html
<input type="number" value="1" min="1" aria-label="Quantity">
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan igen, og bekræft, at reglen label ikke længere fejler.
  • Klik på hver label, og tjek, at den sætter fokus på sit felt.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright

P1KritiskBekræftet fejlWCAG 4.1.2

Select-elementer skal have et tilgængeligt navn

indsats: hurtig · ansvarlig: temaudvikler · 4.1.2 Name, Role, Value

En rullemenu (ofte til sortering eller valg af variant) har ingen label.

WCAG 4.1.2 kræver, at rullemenuer har et tilgængeligt navn.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
1 forekomst på 1 side

Forventet: Select-elementer skal have et tilgængeligt navn

Observeret: Form-elementet har ikke en implicit (indeholdt i en) <label>. Form-elementet har ikke en eksplicit <label>. 'aria-label'-attribut eksisterer ikke eller er tom. 'aria-labelledby'-attribut eksisterer ikke, eller refererer elementer, som ikke eksisterer - eller refererer til elementer, der er tomme. Elementet har ingen title-attribut. Elementets standardsemantik blev ikke overskrevet med role="none" eller role="presentation".

Select-elementer skal have et tilgængeligt navn: det markerede element på /collections/all
Select-elementer skal have et tilgængeligt navn: det markerede element på /collections/all
Sådan genskaber du det
  1. Åbn https://harborandpine.example/collections/all i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: select
  3. I panelet Accessibility i DevTools er elementets beregnede navn (Name) tomt.
  4. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »select-name«.
Fejlende elementer (1 vist)
select
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
Berørte sider (1)
  • https://harborandpine.example/collections/all

Sådan retter du det

Kode bygget ud fra din sides markup
  1. Tilføj en <label>, der er knyttet til rullemenuen, eller en aria-label som aria-label="Sort by".

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
Efter · bygget ud fra det fejlende element
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>

Feltet har intet id, så den hurtigste løsning er en aria-label. En synlig <label> er bedre for alle. Erstat teksten i kantede parenteser med feltets label.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Select-elementer skal have et tilgængeligt navn (WCAG 4.1.2).
Hvor: 1 forekomst på 1 side, for eksempel /collections/all.

Ét fejlende element, som browseren renderede det:
```html
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

Hvorfor det er vigtigt: WCAG 4.1.2 kræver, at rullemenuer har et tilgængeligt navn.

Det skal ændres:
- Tilføj en <label>, der er knyttet til rullemenuen, eller en aria-label som aria-label="Sort by".

En foreslået ændring (Din temakode (søg efter den viste markup)):
```html
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan kategori- og produktsiderne igen.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright

P1AlvorligBekræftet fejlWCAG 1.4.3

Elementer skal have tilstrækkelig farvekontrast

indsats: hurtig · ansvarlig: butiksejer (indstillinger i administrationen) · 1.4.3 Contrast (Minimum)

Noget tekst skiller sig ikke nok ud fra baggrunden til, at svagsynede kan læse den.

WCAG 1.4.3 kræver et kontrastforhold på mindst 4,5:1 for normal tekst og 3:1 for stor tekst. Svage priser, mærker og bannere er svære at læse for svagsynede og for alle i skarpt lys.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
22 forekomster på 9 sider

Forventet: Elementer skal have tilstrækkelig farvekontrast

Observeret: Elementet har ikke nok farvekontrast, den er 3.09 (forgrundsfarve: #ffffff, baggrundsfarve: #e76f51, tekststørrelse: 9.8pt (13px), teksttykkelse: normal). Forventet kontrastforhold er 4.5:1.

Elementer skal have tilstrækkelig farvekontrast: det markerede element på /
Elementer skal have tilstrækkelig farvekontrast: det markerede element på /
Elementer skal have tilstrækkelig farvekontrast: det markerede element på /collections/all
Elementer skal have tilstrækkelig farvekontrast: det markerede element på /collections/all
Sådan genskaber du det
  1. Åbn https://harborandpine.example/ i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: .announce
  3. Klik på farveprøven ved siden af elementets farve i panelet Styles for at se det målte kontrastforhold.
  4. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »color-contrast«.
Fejlende elementer (4 vist)
.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ørte sider (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ådan retter du det

Kode bygget ud fra din sides markup
  1. Åbn de fejlende elementer, der er vist nedenfor, og notér forgrunds- og baggrundsfarverne i fejlbeskrivelsen.
  2. I Onlinebutik > Temaer > Tilpas > Temaindstillinger > Farver gør du tekstfarven mørkere eller baggrunden lysere for det berørte farveskema, indtil forholdet er mindst 4,5:1.
  3. Vær særligt opmærksom på udsalgsmærker, pladsholdertekst, links i footeren og knapper oven på billeder.

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Temaindstillinger › Farver eller dit temas CSS-fil
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
Efter · bygget ud fra det fejlende element
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}

Målt til 3,09:1 for tekst på 13px; WCAG 1.4.3 kræver 4,5:1. #b95941 bevarer den samme farvetone og består. Selectoren er den, vores test brugte; dit tema bruger måske en bredere klasse til den samme stil.

Før · det, vi fandt · Temaindstillinger › Farver eller dit temas CSS-fil
<span class="badge">Sale</span>
Efter · bygget ud fra det fejlende element
.badge {
  background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}

Målt til 2,06:1 for tekst på 12px med fed skrift; WCAG 1.4.3 kræver 4,5:1. #9f693f bevarer den samme farvetone og består. Selectoren er den, vores test brugte; dit tema bruger måske en bredere klasse til den samme stil.

Før · det, vi fandt · Temaindstillinger › Farver eller dit temas CSS-fil
<span class="compare">$72</span>
Efter · bygget ud fra det fejlende element
.compare {
  color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}

Målt til 2,29:1 for tekst på 14px; WCAG 1.4.3 kræver 4,5:1. #78736c bevarer den samme farvetone og består. Selectoren er den, vores test brugte; dit tema bruger måske en bredere klasse til den samme stil.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Elementer skal have tilstrækkelig farvekontrast (WCAG 1.4.3).
Hvor: 22 forekomster på 9 sider, for eksempel /, /collections/all, /products/trail-daypack, /cart.

Ét fejlende element, som browseren renderede det:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

Hvorfor det er vigtigt: WCAG 1.4.3 kræver et kontrastforhold på mindst 4,5:1 for normal tekst og 3:1 for stor tekst. Svage priser, mærker og bannere er svære at læse for svagsynede og for alle i skarpt lys.

Det skal ændres:
- Åbn de fejlende elementer, der er vist nedenfor, og notér forgrunds- og baggrundsfarverne i fejlbeskrivelsen.
- I Onlinebutik > Temaer > Tilpas > Temaindstillinger > Farver gør du tekstfarven mørkere eller baggrunden lysere for det berørte farveskema, indtil forholdet er mindst 4,5:1.
- Vær særligt opmærksom på udsalgsmærker, pladsholdertekst, links i footeren og knapper oven på billeder.

En foreslået ændring (Temaindstillinger › Farver eller dit temas CSS-fil):
```css
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Kør scanningen igen, og bekræft, at color-contrast ikke længere vises.
  • Lav et stikprøvetjek af de præcise farver med et kontrastværktøj.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright

P3ModeratBekræftet fejl

Alt indhold på siden skal være indeholdt i landmarks

indsats: moderat · ansvarlig: temaudvikler

Noget indhold ligger ikke i et landmark på siden (header, nav, main eller footer).

Landmarks lader skærmlæserbrugere hoppe rundt på siden. Det er god praksis, der understøtter WCAG 1.3.1 og 2.4.1.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
18 forekomster på 9 sider

Forventet: Alt indhold på siden skal være indeholdt i landmarks

Observeret: Dele af sidens indhold er ikke lagt under et landmark.

Alt indhold på siden skal være indeholdt i landmarks: det markerede element på /
Alt indhold på siden skal være indeholdt i landmarks: det markerede element på /
Alt indhold på siden skal være indeholdt i landmarks: det markerede element på /cart
Alt indhold på siden skal være indeholdt i landmarks: det markerede element på /cart
Sådan genskaber du det
  1. Åbn https://harborandpine.example/ i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: .announce
  3. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »region«.
Fejlende elementer (2 vist)
.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ørte sider (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ådan retter du det

Generel vejledning
  1. Placér løst indhold (meddelelsesbjælker, pop-ups, chatwidgets) i det rette landmark, eller læg det i <main>.
Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Alt indhold på siden skal være indeholdt i landmarks.
Hvor: 18 forekomster på 9 sider, for eksempel /, /collections/all, /products/trail-daypack, /cart.

Ét fejlende element, som browseren renderede det:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

Hvorfor det er vigtigt: Landmarks lader skærmlæserbrugere hoppe rundt på siden. Det er god praksis, der understøtter WCAG 1.3.1 og 2.4.1.

Det skal ændres:
- Placér løst indhold (meddelelsesbjælker, pop-ups, chatwidgets) i det rette landmark, eller læg det i <main>.

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan de berørte sider igen.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright

P3ModeratBekræftet fejl

Overskriftsniveauer bør kun ændres sekventielt

indsats: moderat · ansvarlig: temaudvikler

Overskriftsniveauer springes over (for eksempel fra H2 til H4), hvilket gør sidens struktur forvirrende for skærmlæserbrugere.

Skærmlæserbrugere navigerer efter overskrifter. Det er god praksis, der understøtter WCAG 1.3.1.

Dokumentation

Fundet af
Automatisk regel i axe-core
Status · sikkerhedsgrad
Bekræftet fejl · høj
Fundet
24. sep. 2026 (UTC)
Hvor
7 forekomster på 7 sider

Forventet: Overskriftsniveauer bør kun ændres sekventielt

Observeret: Rækkefølgen af overskiftsniveauer er ikke korrekt.

Overskriftsniveauer bør kun ændres sekventielt: det markerede element på /collections/all
Overskriftsniveauer bør kun ændres sekventielt: det markerede element på /collections/all
Overskriftsniveauer bør kun ændres sekventielt: det markerede element på /products/trail-daypack
Overskriftsniveauer bør kun ændres sekventielt: det markerede element på /products/trail-daypack
Sådan genskaber du det
  1. Åbn https://harborandpine.example/collections/all i Chrome eller Edge.
  2. Åbn DevTools (F12) › Elements, tryk på Ctrl+F (Cmd+F på Mac), og søg efter: article:nth-child(1) > a[href$="trail-daypack"] > h3
  3. Eller kør den gratis browserudvidelse axe DevTools på siden: den rapporterer det som »heading-order«.
Fejlende elementer (3 vist)
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ørte sider (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ådan retter du det

Generel vejledning
  1. Ret overskriftsniveauerne i de berørte sektioner, så de kommer i rækkefølge uden at springe niveauer over.
  2. Skift kun tagget, ikke den visuelle stil (brug CSS-klasser til størrelsen).

Kode

Eksempler på implementering til din udvikler. Vi har ikke dit temas kildekode, så filplaceringer er forslag, ikke præcise stier.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<h3>Trail Daypack 22L</h3>
Efter · eksempel, du skal tilpasse
<h2 class="h3">Trail Daypack 22L</h2>

Brug det niveau, der følger efter den forrige overskrift på siden (ofte ét niveau højere), og bevar udseendet med en klasse. Tjek sidens overskriftsstruktur, før du ændrer den.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<h3>Reviews</h3>
Efter · eksempel, du skal tilpasse
<h2 class="h3">Reviews</h2>

Brug det niveau, der følger efter den forrige overskrift på siden (ofte ét niveau højere), og bevar udseendet med en klasse. Tjek sidens overskriftsstruktur, før du ændrer den.

Før · det, vi fandt · Din temakode (søg efter den viste markup)
<h3>Started on the trail</h3>
Efter · eksempel, du skal tilpasse
<h2 class="h3">Started on the trail</h2>

Brug det niveau, der følger efter den forrige overskrift på siden (ofte ét niveau højere), og bevar udseendet med en klasse. Tjek sidens overskriftsstruktur, før du ændrer den.

Ret med AIVis prompten

Indsæt den i ChatGPT, Claude, Cursor eller Copilot sammen med din temafil. Gennemgå ændringen, før du udgiver den.

Jeg driver en Shopify-webshop (tema til Online Store 2.0, Liquid-skabeloner) på harborandpine.example. En tilgængelighedstest fandt dette problem, og jeg vil gerne rette det i mit tema.

Problem: Overskriftsniveauer bør kun ændres sekventielt.
Hvor: 7 forekomster på 7 sider, for eksempel /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie.

Ét fejlende element, som browseren renderede det:
```html
<h3>Trail Daypack 22L</h3>
```

Hvorfor det er vigtigt: Skærmlæserbrugere navigerer efter overskrifter. Det er god praksis, der understøtter WCAG 1.3.1.

Det skal ændres:
- Ret overskriftsniveauerne i de berørte sektioner, så de kommer i rækkefølge uden at springe niveauer over.
- Skift kun tagget, ikke den visuelle stil (brug CSS-klasser til størrelsen).

En foreslået ændring (Din temakode (søg efter den viste markup)):
```html
<h2 class="h3">Trail Daypack 22L</h2>
```

Regler for dit svar:
- Vis den præcise ændring som før og efter, og angiv den fil eller indstilling, den skal ind i. Hvis du har brug for at se min fil først, så bed mig om at indsætte den.
- Bevar det visuelle design og al eksisterende funktionalitet uændret.
- Opfind ikke produktnavne, priser eller tekst; brug pladsholdere, som jeg kan udfylde.
- Slut af med, hvordan jeg selv kan tjekke rettelsen.
- Forklar også, hvordan jeg bekræfter det med tastaturet og en skærmlæser.

Tjek din rettelse

  • Scan igen, og tjek overskriftsstrukturen med en browserudvidelse som HeadingsMap.

Detaljeret vejledning: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright

Kræver manuel gennemgang

Automatiske tests markerede disse, men kunne ikke afgøre dem, fx tekst oven på et billede eller indhold, der måske ikke passer til en telefonskærm. De tælles ikke som fejl. Bed din udvikler om at tjekke hvert af dem.

  • Skal gennemgåsWCAG 4.1.3

    Brugerrejse med tastatur: Læg i kurven med tastaturet

    Enter på Læg i kurv virkede (antallet i kurven i headeren ændrede sig, en besked som »lagt i kurven« blev vist), men vi fandt ingen statusbesked eller dialogboks med fokus, så skærmlæserbrugere hører måske ikke, at varen blev lagt i kurven.

    1 forekomst på 1 side · Sådan tjekker du det

  • Skal gennemgåsWCAG 1.4.10

    Produktsiden passer måske ikke til en smal skærm uden vandret scrolling

    Ved 320 CSS-pixels bredde (svarende til 400 % zoom) er siden 200px bredere end skærmen. Datatabeller og kort må gerne scrolle; tekst og kontroller bør ikke.

    2 forekomster på 1 side · Sådan tjekker du det

    Elementer, der skal tjekkes (2 vist)
    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
  • Skal gennemgåsWCAG 1.4.10

    Forsiden passer måske ikke til en smal skærm uden vandret scrolling

    Ved 320 CSS-pixels bredde (svarende til 400 % zoom) er siden 55px bredere end skærmen. Datatabeller og kort må gerne scrolle; tekst og kontroller bør ikke.

    3 forekomster på 1 side · Sådan tjekker du det

    Elementer, der skal tjekkes (3 vist)
    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>
  • Skal gennemgåsWCAG 1.4.3

    Elementer skal have tilstrækkelig farvekontrast

    Elementets baggrundsfarve kunne ikke detekteres, fordi elementet indeholder et billedelement.

    1 forekomst på 1 side · Sådan tjekker du det

    Elementer, der skal tjekkes (1 vist)
    h1
    <h1>Gear for the long way home</h1>

Gentest dine rettelser

Når din udvikler har lavet ændringer, så kør en gentest. Vi kører de samme automatiske tjek på de samme sider, tastaturtesten og brugerrejsen med tastatur igen og viser, hvilke problemer vi ikke længere kan genskabe. 5 gentests er inkluderet.

Gentests kører på betalte rapporter.

Manuelle tjek

Automatiske værktøjer kan ikke vurdere disse. Gennemfør dem, før du betragter arbejdet som færdigt.

  • Gennemfør checkout kun med tastaturet: vores automatiske brugerrejse stopper ved checkout-knappen og går aldrig ind i checkout.
  • Gentag med en skærmlæser (VoiceOver på Mac: Cmd+F5; NVDA på Windows), og bekræft, at priser, varianter og fejl bliver læst op.
  • Zoom browseren til 200 %, og bekræft, at intet overlapper eller forsvinder.
  • Tjek, at produkt- og brandvideoer har korrekte undertekster.
  • Indsend formularer med fejl (nyhedsbrev, kontakt, checkout), og bekræft, at fejlene beskrives i tekst.
  • Tjek, at karruseller og pop-ups kan sættes på pause eller lukkes, også med Escape-tasten.

Udkast til tilgængelighedserklæring

Ret delene i kantede parenteser, og offentliggør teksten på en side, der linkes til fra din footer.

Tilgængelighedserklæring for harborandpine.example

Vi ønsker, at alle skal kunne handle på harborandpine.example, også personer, der bruger skærmlæser, tastaturnavigation, forstørrelse eller andre hjælpemidler. Vi bestræber os på at opfylde Web Content Accessibility Guidelines (WCAG) 2.2 på niveau AA.

Det gør vi
- Vi tester vores webshop med automatiske værktøjer til tilgængelighed og retter de problemer, de finder.
- Vi tester vigtige trin i købet (at se varer, produktsider, kurv og checkout) med tastatur og skærmlæser.
- Vi gennemgår apps og widgets fra tredjeparter for tilgængelighed, før vi tilføjer dem.

Kendte begrænsninger (pr. 24. september 2026)
- Tastaturadgang og fokus (WCAG 2.1.1). Vi planlægger at rette det senest 2026-10-08.
- Links og knapper uden navne (WCAG 2.4.4, 4.1.2). Vi planlægger at rette det senest 2026-10-08.
- Billeder uden tekstalternativer (WCAG 1.1.1). Vi planlægger at rette det senest 2026-10-08.
- Formularfelter uden labels (WCAG 4.1.2). Vi planlægger at rette det senest 2026-10-08.
- Lav farvekontrast (WCAG 1.4.3). Vi planlægger at rette det senest 2026-10-08.

Feedback og hjælp
Hvis du har svært ved at bruge en del af vores webshop, så kontakt os på [din e-mailadresse] eller [dit telefonnummer]. Fortæl os, hvilken side og hvilket problem det drejer sig om, så hjælper vi dig med at gennemføre dit køb og svarer inden for 5 hverdage.

Denne erklæring blev udarbejdet den 24. september 2026 og gennemgås mindst én gang om året.

Dokumentationslog

Hver side blev indlæst i Chromium og testet med axe-core 4.13.0. SHA-256-hashen identificerer de rå resultater for hver side.

Testede sider med tidsstempler og hashes af resultaterne
SideTestet (UTC)HTTPProblemerSHA-256
Forsidehttps://harborandpine.example/2026-09-24 14:05:0020015da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3
Kategorisidehttps://harborandpine.example/collections/all2026-09-24 14:05:092002028d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0
Produktsidehttps://harborandpine.example/products/trail-daypack2026-09-24 14:05:182002068a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4
Kurvhttps://harborandpine.example/cart2026-09-24 14:05:27200125b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c
Indholdssidehttps://harborandpine.example/pages/about2026-09-24 14:05:362009daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f
Ekstra sidehttps://harborandpine.example/products/pine-wool-beanie2026-09-24 14:08:0020020f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3
Ekstra sidehttps://harborandpine.example/products/enamel-camp-mug2026-09-24 14:08:0720019c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022
Ekstra sidehttps://harborandpine.example/products/harbor-lantern2026-09-24 14:08:14200205720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418
Ekstra sidehttps://harborandpine.example/products/insulated-bottle2026-09-24 14:08:21200196f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd

Omfang og metode

Det testede vi

  • 9 sider (forsiden, kategorisiden, produktsiden, kurven, indholdssiden, den ekstra side) indlæst i Chromium ved 1366×900.
  • Regler fra axe-core 4.13.0 for WCAG 2.0, 2.1 og 2.2 niveau A og AA plus regler for god praksis (vist som P3).
  • En tastaturtest: 40 tryk på Tab på forsiden for at finde fælder og manglende fokusindikatorer.
  • En shoppingrejse kun med tastatur fra forsiden til checkout-knappen (se ovenfor).
  • Et reflow-tjek ved 320 CSS-pixels bredde på forsiden og produktsiden (WCAG 1.4.10).

Det testede vi ikke

  • Checkout- og betalingssider, indsendelse af formularer, kontosider og sider bag login.
  • Hvad en skærmlæser faktisk læser op, ud over de automatiske regler.
  • Undertekster og synstolkning til video, PDF-dokumenter og indhold i frames fra tredjeparter.
  • Klart sprog, kognitiv tilgængelighed og alt andet, der kræver menneskelig vurdering (se Manuelle tjek).

Sådan læser du resultaterne

Bekræftet fejl
En automatisk test eller brugerrejsen med tastatur fejlede, og dokumentationen vises.
Skal gennemgås
En test markerede noget, den ikke kunne afgøre; et menneske bør tjekke det.
Bestået
Den automatiske regel fandt ingen fejl på de testede sider.
Ikke testet
Uden for det, automatiske tests kan dække her; se Manuelle tjek.

Få denne rapport til din hjemmeside.

Start med den gratis scanning for at se dine problemer, og hvordan de passer med dit brev. Tilgængelighedsrapport koster $249 som engangsbetaling og er klar på cirka 10 minutter.

Scan din hjemmeside gratis

Denne rapport beskriver resultaterne af automatiske tests og giver vejledning i udbedring. Den er ikke juridisk rådgivning og certificerer ikke overholdelse af ADA, European Accessibility Act eller nogen anden lov.