Raport de remediere a accesibilității (exemplu). Harbor & Pine este un magazin fictiv pe care l-am creat cu probleme frecvente de accesibilitate și l-am testat apoi cu același motor care vă scanează site-ul.

Scanați gratuit site-ul

Raport de remediere a accesibilității (exemplu)

harborandpine.example

Platformă:
Shopify
Generat:
24 sept. 2026
Pagini testate:
9
Motor:
axe-core 4.13.0

Rezumat

Testele automate găsesc o parte din problemele de accesibilitate ale unui site, nu pe toate. Acest raport descrie ce au găsit testele noastre și cum se remediază. Nu constituie consultanță juridică și nu certifică conformitatea cu ADA, cu Actul european privind accesibilitatea sau cu orice lege.

Prezentare generală

P1 · De remediat întâiBlochează vizitatorii pe paginile-cheie
8
P2 · De remediat apoiBariere grave sau moderate
0
P3 · De îmbunătățitProbleme minore și bune practici
2

Apariții după gravitate

Critic
73
Grav
58
Moderat
25
Minor
0
Erori confirmateTipuri de probleme la care un test automat a eșuat
10
De verificatSemnalate, dar necesită decizia unui om
4
Verificări reușiteReguli automate fără erori
32
NetestatPașii parcursului și verificări manuale
7

Pagini testate: 9, dintre care 4 alese din sitemapul dumneavoastră. Termenele-țintă sunt sugestii bazate pe gravitate; stabiliți termenele finale împreună cu dezvoltatorul.

Prezentarea site-ului

Detectat din dovezile publice de pe paginile testate. O etichetă poate fi greșită; ea decide doar ce verificări suplimentare se rulează.

Tipul site-ului

  • Magazin onlineÎncredere ridicată
    • Rulează pe Shopify, o platformă de magazin online
    • Link către un coș
    • Linkuri către produse sau către magazin
  • Pagină de destinațieÎncredere medie
    • Linkuri doar către 6 pagini interne

Tehnologii detectate

  • ShopifyÎncredere ridicată

    Resurse sau scripturi Shopify pe pagină

Verificări pentru acest site

  • Verificări universale: accesibilitate, SEO, viteză, securitate și e-mail
  • Modul de comerț electronic: paginile de colecție, de produs și de coș, plus un parcurs de cumpărare cu tastatura până la butonul de finalizare a comenzii
  • Note pentru Shopify: pași de remediere în temă și în panoul de administrare; antetele și cookie-urile gestionate de platformă sunt afișate ca referință

Parcurs de cumpărare cu tastatura

Am încercat să cumpărăm doar cu tastatura (Tab, Shift+Tab, Enter, Space, Escape), așa cum o fac persoanele care nu pot folosi un mouse. Adăugăm un produs în coș, într-o sesiune de unică folosință, și ne oprim la butonul de finalizare a comenzii: nu intrăm niciodată în procesul de finalizare a comenzii și nu introducem date personale sau de plată. Obiectiv: Ajungerea doar cu tastatura de la pagina principală la butonul de finalizare a comenzii.

  1. 01Ajungerea la navigarea principală

    Reușit

    Focusul a ajuns la „Shop” în navigare după 21 de apăsări ale tastei Tab.

    Așteptat: Apăsând Tab din partea de sus a paginii principale, se ajunge la linkurile din navigarea principală.

    • Notă: Un banner de cookie-uri a reținut focusul tastaturii până când am apăsat Enter pe „Accept all”.
    Cum se reproduce

    https://harborandpine.example/

    1. Deschideți pagina principală.
    2. Faceți clic în bara de adrese a browserului, apoi apăsați Tab în mod repetat (Shift+Tab merge înapoi).

    Ordinea focusului pe care am observat-o

    „Shop”

  2. 02Deschiderea unui produs dintr-o colecție

    Reușit

    Focusul a ajuns la „Trail Daypack 22L” după 9 apăsări ale tastei Tab, iar Enter a deschis /products/trail-daypack.

    Așteptat: Tasta Tab ajunge la un produs din grila colecției, iar Enter îi deschide pagina.

    Cum se reproduce

    https://harborandpine.example/collections/all

    1. Deschideți /collections/all.
    2. Apăsați Tab până când un produs din grilă este evidențiat, apoi apăsați Enter.

    Ordinea focusului pe care am observat-o

    „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. 03Alegerea opțiunilor și a cantității

    Eșuat

    3 opțiuni de produs nu pot primi focusul tastaturii: „S”, „M”, „L”. Răspund la mouse, dar un utilizator de tastatură nu le poate alege.

    Așteptat: Fiecare opțiune a produsului (mărime, culoare, variantă) și câmpul pentru cantitate pot fi accesate cu Tab.

    2.1.1 Keyboard · Încredere: ridicată

    Alegerea opțiunilor și a cantității: elementul care eșuează, conturat
    Alegerea opțiunilor și a cantității: elementul care eșuează, conturat
    Cum se reproduce

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

    1. Deschideți /products/trail-daypack.
    2. Apăsați Tab din partea de sus a paginii și notați ce controale primesc focusul înainte de Adaugă în coș.

    Ordinea focusului pe care am observat-o

    „Harbor & Pine” → „Shop” → „New arrivals” → „Our story” → … încă 5 … → 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. 04Adăugarea în coș cu tastatura

    De verificat

    Enter pe Adaugă în coș a funcționat (s-a schimbat numărul de produse din coș afișat în antet, a apărut un mesaj „adăugat în coș”), dar nu am găsit niciun mesaj de stare sau o fereastră de dialog cu focus, așa că utilizatorii de cititoare de ecran s-ar putea să nu audă că produsul a fost adăugat.

    Așteptat: Enter pe Adaugă în coș adaugă produsul, iar confirmarea este anunțată: un mesaj de stare, o fereastră de dialog care preia focusul sau pagina coșului.

    4.1.3 Status Messages · Încredere: medie

    Adăugarea în coș cu tastatura: pagina la acest pas
    Adăugarea în coș cu tastatura: pagina la acest pas
    Cum se reproduce

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

    1. Deschideți /products/trail-daypack.
    2. Apăsați Tab până când Adaugă în coș primește focusul, apoi apăsați Enter.
    3. Ascultați cu un cititor de ecran (VoiceOver: Cmd+F5) dacă este anunțată o confirmare.
  5. 05Modificarea coșului și ajungerea la finalizarea comenzii

    Reușit

    S-a ajuns la toate cele 4 controale ale coșului și la butonul de finalizare a comenzii („Check out”) cu 12 apăsări ale tastei Tab. Nu l-am apăsat.

    Așteptat: Câmpurile pentru cantitate, butoanele de eliminare și butonul de finalizare a comenzii pot fi accesate toate cu Tab.

    Cum se reproduce

    https://harborandpine.example/cart

    1. Adăugați orice produs în coș și deschideți pagina coșului.
    2. Apăsați Tab și verificați dacă toate câmpurile pentru cantitate, butoanele de eliminare și butonul de finalizare a comenzii primesc focusul.

    Ordinea focusului pe care am observat-o

    „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. 06Finalizarea comenzii

    Netestat

    Ne oprim la butonul de finalizare a comenzii: nu intrăm niciodată în finalizarea comenzii, nu creăm comenzi și nu introducem date de plată. Pe Shopify, paginile de finalizare a comenzii sunt gestionate de Shopify, nu de tema dumneavoastră. Verificați manual finalizarea comenzii (consultați Verificări manuale).

Harta acuzațiilor din scrisoare

Fiecare acuzație din scrisoare, comparată cu dovezile scanării. O comparație factuală, nu consultanță juridică.

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

    Imagini fără text alternativ. 10 apariții; pagini afectate: 3 din 5 testate.

    image-alt

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

    Contrast scăzut al culorilor. 16 apariții; pagini afectate: 5 din 5 testate.

    color-contrast

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

    Accesul de la tastatură și focusul. Focusul tastaturii rămâne blocat în bannerul de cookie-uri.

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

    Câmpuri de formular fără etichete. 4 apariții; pagini afectate: 3 din 5 testate.

    select-name, label

    Reprodus
  • “Product videos do not have captions.”

    Subtitrări pentru video și audio. Scanările automate nu pot evalua subtitrările. Verificați dacă fiecare videoclip de produs sau de brand are subtitrări corecte și o transcriere.

    Verificare manuală
  • “Our client is legally blind and uses screen reader software.”

    Alte probleme. Aceasta este o afirmație generală. Testați fluxurile principale (căutarea, pagina de produs, adăugarea în coș, finalizarea comenzii) cu un cititor de ecran, cum ar fi VoiceOver sau NVDA.

    Verificare manuală

Plan de remediere

Probleme în ordinea priorității, cu responsabili și termene-țintă
PrioritateProblemăStatusWCAGAparițiiResponsabilTermen-țintă
P1Focusul tastaturii este blocat în bannerul de cookie-uriConfirmat2.1.21furnizorul aplicației2026-10-08
P1Opțiunile produsului nu pot fi alese cu tastaturaConfirmat2.1.11dezvoltatorul temei2026-10-08
P1Butoanele trebuie să aibă un text perceptibilConfirmat4.1.241dezvoltatorul temei2026-10-08
P1Imaginile trebuie să aibă text alternativConfirmat1.1.122editorul de conținut2026-10-08
P1Elementele de formular trebuie să aibă eticheteConfirmat4.1.27dezvoltatorul temei2026-10-08
P1Elementul select trebuie să aibă un nume accesibilConfirmat4.1.21dezvoltatorul temei2026-10-08
P1Linkurile trebuie să aibă un text perceptibilConfirmat2.4.4, 4.1.236dezvoltatorul temei2026-10-08
P1Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilorConfirmat1.4.322proprietarul magazinului (setări de administrare)2026-10-08
P3Tot conținutul paginii trebuie să se afle în repereConfirmatBună practică18dezvoltatorul temei2026-11-23
P3Nivelurile titlurilor trebuie să crească doar cu câte unulConfirmatBună practică7dezvoltatorul temei2026-11-23

Cum se remediază fiecare problemă

P1CriticEroare confirmatăWCAG 2.1.2

Focusul tastaturii este blocat în bannerul de cookie-uri

efort: moderat · responsabil: furnizorul aplicației · 2.1.2 No Keyboard Trap

Când un utilizator de tastatură apasă Tab, focusul trece mereu prin aceleași câteva elemente și nu ajunge niciodată la restul paginii.

Utilizatorii care folosesc doar tastatura și cei cu cititoare de ecran nu pot cumpăra deloc dacă focusul este blocat (WCAG 2.1.2 No Keyboard Trap).

Dovezi

Găsit de
Test cu tastatura (Tab prin pagina principală)
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
1 apariție pe 1 pagină

Așteptat: Apăsarea tastei Tab trece prin fiecare element interactiv de pe pagină și mai departe, la restul paginii.

Observat: După 40 de apăsări ale tastei Tab, focusul a continuat să treacă prin: Settings, Accept all.

Cum se reproduce
  1. Deschideți pagina principală.
  2. Faceți clic în bara de adrese, apoi apăsați Tab în mod repetat.
  3. Focusul revine mereu la aceleași câteva elemente.
Elemente cu erori (afișate: 6)
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
Pagini afectate (1)
  • https://harborandpine.example/

Cum se remediază

Îndrumări generale
  1. Căutați în setările aplicației pentru bannerul de cookie-uri sau de consimțământ o opțiune de accesibilitate sau de capcană de focus ori cereți furnizorului să remedieze problema.
  2. O fereastră modală poate reține focusul doar cât timp este deschisă, trebuie să se închidă cu tasta Escape și să returneze focusul acolo de unde a venit.
Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Focusul tastaturii este blocat în bannerul de cookie-uri (WCAG 2.1.2).
Unde: 1 apariție pe 1 pagină, de exemplu /.

Un element care eșuează, așa cum l-a randat browserul:
```html
Settings
```

De ce contează: Utilizatorii care folosesc doar tastatura și cei cu cititoare de ecran nu pot cumpăra deloc dacă focusul este blocat (WCAG 2.1.2 No Keyboard Trap).

Ce trebuie modificat:
- Căutați în setările aplicației pentru bannerul de cookie-uri sau de consimțământ o opțiune de accesibilitate sau de capcană de focus ori cereți furnizorului să remedieze problema.
- O fereastră modală poate reține focusul doar cât timp este deschisă, trebuie să se închidă cu tasta Escape și să returneze focusul acolo de unde a venit.

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Încărcați pagina principală, apăsați Tab în mod repetat și confirmați că focusul ajunge la navigarea principală și la conținut.

Detectat de un test automat cu tastatura; confirmați manual.

P1CriticEroare confirmatăWCAG 2.1.1

Opțiunile produsului nu pot fi alese cu tastatura

efort: moderat · responsabil: dezvoltatorul temei · 2.1.1 Keyboard

Opțiunile de mărime, culoare sau variantă răspund la mouse, dar nu pot primi focusul tastaturii, așa că utilizatorii de tastatură nu pot alege o variantă.

Cumpărătorii care folosesc doar tastatura, inclusiv mulți utilizatori de cititoare de ecran, nu pot trece de acest pas (WCAG 2.1.1).

Dovezi

Găsit de
Parcurs cu tastatura
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
1 apariție pe 1 pagină

Așteptat: Fiecare opțiune a produsului (mărime, culoare, variantă) și câmpul pentru cantitate pot fi accesate cu Tab.

Observat: 3 opțiuni de produs nu pot primi focusul tastaturii: „S”, „M”, „L”. Răspund la mouse, dar un utilizator de tastatură nu le poate alege.

Opțiunile produsului nu pot fi alese cu tastatura: elementul conturat
Opțiunile produsului nu pot fi alese cu tastatura: elementul conturat
Cum se reproduce
  1. Deschideți /products/trail-daypack.
  2. Apăsați Tab din partea de sus a paginii și notați ce controale primesc focusul înainte de Adaugă în coș.
Elemente cu erori (afișate: 1)
(vedeți captura de ecran)
<div class="size-option" data-fr="opt-1">S</div>
Pagini afectate (1)
  • https://harborandpine.example/products/trail-daypack

Cum se remediază

Îndrumări generale
  1. Construiți selectoarele de opțiuni din butoane radio native (sau dintr-un <select>) cu etichete vizibile; stilizați eticheta ca mostră de culoare.
  2. Dacă păstrați elementele personalizate, fiecare opțiune are nevoie de tabindex="0", role="radio" cu aria-checked într-un role="radiogroup", precum și de gestionarea tastelor săgeți și Space. Butoanele radio native vă oferă toate acestea fără efort suplimentar.

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Formularul de produs din temă (selectorul de variante)
<div class="size-option" data-fr="opt-1">S</div>
După · exemplu de adaptat
<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>

Fiecare opțiune este un buton radio real, accesibil cu Tab și modificabil cu tastele săgeți; eticheta își păstrează stilul de mostră. Folosiți numele și valorile propriilor opțiuni.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Opțiunile produsului nu pot fi alese cu tastatura (WCAG 2.1.1).
Unde: 1 apariție pe 1 pagină, de exemplu /products/trail-daypack.

Un element care eșuează, așa cum l-a randat browserul:
```html
<div class="size-option" data-fr="opt-1">S</div>
```

De ce contează: Cumpărătorii care folosesc doar tastatura, inclusiv mulți utilizatori de cititoare de ecran, nu pot trece de acest pas (WCAG 2.1.1).

Ce trebuie modificat:
- Construiți selectoarele de opțiuni din butoane radio native (sau dintr-un <select>) cu etichete vizibile; stilizați eticheta ca mostră de culoare.
- Dacă păstrați elementele personalizate, fiecare opțiune are nevoie de tabindex="0", role="radio" cu aria-checked într-un role="radiogroup", precum și de gestionarea tastelor săgeți și Space. Butoanele radio native vă oferă toate acestea fără efort suplimentar.

O modificare sugerată (Formularul de produs din temă (selectorul de variante)):
```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>
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Repetați pașii de reproducere doar cu tastatura.
  • Solicitați o retestare din acest raport: parcursul rulează din nou.
P1CriticEroare confirmatăWCAG 4.1.2

Butoanele trebuie să aibă un text perceptibil

efort: redus · responsabil: dezvoltatorul temei · 4.1.2 Name, Role, Value

Unele butoane nu au un nume accesibil, așa că utilizatorii de cititoare de ecran aud doar „buton”.

WCAG 4.1.2 cere ca fiecare control să aibă un nume. Printre butoanele fără nume se numără adesea selectoarele de cantitate, butoanele de închidere și săgețile caruselelor.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
41 de apariții pe 9 pagini

Așteptat: Butoanele trebuie să aibă un text perceptibil

Observat: Elementul nu are text interior vizibil pentru cititoarele de ecran. Atributul aria-label nu există sau este gol. Atributul aria-labelledby nu există, trimite la elemente care nu există sau trimite la elemente goale. Elementul nu are atribut title. Elementul nu are un <label> implicit (care să îl cuprindă). Elementul nu are un <label> explicit. Semantica implicită a elementului nu a fost înlocuită cu role="none" sau role="presentation".

Butoanele trebuie să aibă un text perceptibil: elementul conturat pe /
Butoanele trebuie să aibă un text perceptibil: elementul conturat pe /
Butoanele trebuie să aibă un text perceptibil: elementul conturat pe /collections/all
Butoanele trebuie să aibă un text perceptibil: elementul conturat pe /collections/all
Cum se reproduce
  1. Deschideți https://harborandpine.example/ în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: .icons > button[type="button"]
  3. În panoul Accessibility din DevTools, câmpul Name calculat al elementului este gol.
  4. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „button-name”.
Elemente cu erori (afișate: 4)
.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>
Pagini afectate (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

Cum se remediază

Cod construit din markupul paginii dumneavoastră
  1. Găsiți butoanele din exemplele de mai jos.
  2. Adăugați un text vizibil, un text ascuns vizual sau un aria-label care spune ce face butonul (de exemplu aria-label="Close" sau aria-label="Increase quantity").

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<button type="button">…</button>
După · construit din elementul care eșuează
<button type="button" aria-label="[What this button does]">…</button>

Înlocuiți textul dintre paranteze drepte cu ce face butonul. Funcționează și un text vizibil sau ascuns vizual în interiorul butonului.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<button type="button"><img src="/img/daypack.svg"></button>
După · construit din elementul care eșuează
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/daypack.svg"></button>

Înlocuiți textul dintre paranteze drepte cu ce face butonul. Funcționează și un text vizibil sau ascuns vizual în interiorul butonului.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<button type="button"><img src="/img/jacket.svg"></button>
După · construit din elementul care eșuează
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/jacket.svg"></button>

Înlocuiți textul dintre paranteze drepte cu ce face butonul. Funcționează și un text vizibil sau ascuns vizual în interiorul butonului.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<button type="button"><img src="/img/bottle.svg"></button>
După · construit din elementul care eșuează
<button type="button" aria-label="[Describe the image, e.g. Back view]"><img src="/img/bottle.svg"></button>

Înlocuiți textul dintre paranteze drepte cu ce face butonul. Funcționează și un text vizibil sau ascuns vizual în interiorul butonului.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Butoanele trebuie să aibă un text perceptibil (WCAG 4.1.2).
Unde: 41 de apariții pe 9 pagini, de exemplu /, /collections/all, /products/trail-daypack, /cart.

Un element care eșuează, așa cum l-a randat browserul:
```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>
```

De ce contează: WCAG 4.1.2 cere ca fiecare control să aibă un nume. Printre butoanele fără nume se numără adesea selectoarele de cantitate, butoanele de închidere și săgețile caruselelor.

Ce trebuie modificat:
- Găsiți butoanele din exemplele de mai jos.
- Adăugați un text vizibil, un text ascuns vizual sau un aria-label care spune ce face butonul (de exemplu aria-label="Close" sau aria-label="Increase quantity").

O modificare sugerată (Codul temei (căutați în el markupul afișat)):
```html
<button type="button" aria-label="[What this button does]">…</button>
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou paginile afectate.
  • Verificați butoanele cu un cititor de ecran.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/button-name?application=playwright

P1CriticEroare confirmatăWCAG 1.1.1

Imaginile trebuie să aibă text alternativ

efort: moderat · responsabil: editorul de conținut · 1.1.1 Non-text Content

Imaginilor le lipsește textul alternativ, așa că utilizatorii de cititoare de ecran nu știu ce arată.

WCAG 1.1.1 cere un text alternativ pentru imaginile cu semnificație. Fără el, un utilizator de cititor de ecran nu își poate da seama ce produs arată o fotografie.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
22 de apariții pe 7 pagini

Așteptat: Imaginile trebuie să aibă text alternativ

Observat: Elementul nu are atribut alt. Atributul aria-label nu există sau este gol. Atributul aria-labelledby nu există, trimite la elemente care nu există sau trimite la elemente goale. Elementul nu are atribut title. Semantica implicită a elementului nu a fost înlocuită cu role="none" sau role="presentation".

Imaginile trebuie să aibă text alternativ: elementul conturat pe /
Imaginile trebuie să aibă text alternativ: elementul conturat pe /
Imaginile trebuie să aibă text alternativ: elementul conturat pe /collections/all
Imaginile trebuie să aibă text alternativ: elementul conturat pe /collections/all
Cum se reproduce
  1. Deschideți https://harborandpine.example/ în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: img[src$="hero-photo.jpg"]
  3. În panoul Accessibility din DevTools, câmpul Name calculat al elementului este gol.
  4. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „image-alt”.
Elemente cu erori (afișate: 4)
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">
Pagini afectate (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

Cum se remediază

Cod construit din markupul paginii dumneavoastră
  1. În panoul de administrare Shopify, deschideți Products > [produs] > Media, faceți clic pe fiecare imagine și completați câmpul „Alt text”. Pentru imaginile din secțiuni, deschideți Online Store > Themes > Customize și setați textul alternativ al imaginii în setările secțiunii.
  2. Descrieți ce contează pentru un cumpărător: numele produsului, culoarea și unghiul prezentat (de exemplu „Geantă tote din pânză, oliv, vedere din față”).
  3. Imaginile decorative ar trebui să aibă un atribut alt gol (alt=""), astfel încât cititoarele de ecran să le omită.

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Fotografii de produs: Shopify admin › Products › Media › Alt text. Alte imagini: codul temei
<img src="/img/hero-photo.jpg" loading="lazy">
După · construit din elementul care eșuează
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">

Descrieți ce arată imaginea (pentru o fotografie de produs: produsul, culoarea, unghiul). Dacă imaginea este pur decorativă, folosiți în schimb alt="", astfel încât cititoarele de ecran să o omită.

Înainte · ce am găsit · Fotografii de produs: Shopify admin › Products › Media › Alt text. Alte imagini: codul temei
<img src="/img/mug.svg">
După · construit din elementul care eșuează
<img src="/img/mug.svg" alt="[Describe the image for a shopper]">

Descrieți ce arată imaginea (pentru o fotografie de produs: produsul, culoarea, unghiul). Dacă imaginea este pur decorativă, folosiți în schimb alt="", astfel încât cititoarele de ecran să o omită.

Înainte · ce am găsit · Fotografii de produs: Shopify admin › Products › Media › Alt text. Alte imagini: codul temei
<img src="/img/beanie.svg">
După · construit din elementul care eșuează
<img src="/img/beanie.svg" alt="[Describe the image for a shopper]">

Descrieți ce arată imaginea (pentru o fotografie de produs: produsul, culoarea, unghiul). Dacă imaginea este pur decorativă, folosiți în schimb alt="", astfel încât cititoarele de ecran să o omită.

Înainte · ce am găsit · Fotografii de produs: Shopify admin › Products › Media › Alt text. Alte imagini: codul temei
<img src="/img/jacket.svg">
După · construit din elementul care eșuează
<img src="/img/jacket.svg" alt="[Describe the image for a shopper]">

Descrieți ce arată imaginea (pentru o fotografie de produs: produsul, culoarea, unghiul). Dacă imaginea este pur decorativă, folosiți în schimb alt="", astfel încât cititoarele de ecran să o omită.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Imaginile trebuie să aibă text alternativ (WCAG 1.1.1).
Unde: 22 de apariții pe 7 pagini, de exemplu /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie.

Un element care eșuează, așa cum l-a randat browserul:
```html
<img src="/img/hero-photo.jpg" loading="lazy">
```

De ce contează: WCAG 1.1.1 cere un text alternativ pentru imaginile cu semnificație. Fără el, un utilizator de cititor de ecran nu își poate da seama ce produs arată o fotografie.

Ce trebuie modificat:
- În panoul de administrare Shopify, deschideți Products > [produs] > Media, faceți clic pe fiecare imagine și completați câmpul „Alt text”. Pentru imaginile din secțiuni, deschideți Online Store > Themes > Customize și setați textul alternativ al imaginii în setările secțiunii.
- Descrieți ce contează pentru un cumpărător: numele produsului, culoarea și unghiul prezentat (de exemplu „Geantă tote din pânză, oliv, vedere din față”).
- Imaginile decorative ar trebui să aibă un atribut alt gol (alt=""), astfel încât cititoarele de ecran să le omită.

O modificare sugerată (Fotografii de produs: Shopify admin › Products › Media › Alt text. Alte imagini: codul temei):
```html
<img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou paginile afectate.
  • Folosiți un cititor de ecran (VoiceOver: Cmd+F5 pe Mac) pentru a auzi cum sunt anunțate imaginile produselor.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright

P1CriticEroare confirmatăWCAG 4.1.2

Elementele de formular trebuie să aibă etichete

efort: redus · responsabil: dezvoltatorul temei · 4.1.2 Name, Role, Value

Unele câmpuri de formular nu au etichetă, așa că utilizatorii de cititoare de ecran nu știu ce să introducă.

WCAG 1.3.1, 3.3.2 și 4.1.2 cer ca câmpurile de formular să aibă etichete. Câmpurile de abonare la newsletter și de căutare sunt printre cele mai frecvente cazuri.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
7 apariții pe 6 pagini

Așteptat: Elementele de formular trebuie să aibă etichete

Observat: Elementul nu are un <label> implicit (care să îl cuprindă). Elementul nu are un <label> explicit. Atributul aria-label nu există sau este gol. Atributul aria-labelledby nu există, trimite la elemente care nu există sau trimite la elemente goale. Elementul nu are atribut title. Elementul nu are atribut placeholder. Semantica implicită a elementului nu a fost înlocuită cu role="none" sau role="presentation".

Elementele de formular trebuie să aibă etichete: elementul conturat pe /products/trail-daypack
Elementele de formular trebuie să aibă etichete: elementul conturat pe /products/trail-daypack
Elementele de formular trebuie să aibă etichete: elementul conturat pe /cart
Elementele de formular trebuie să aibă etichete: elementul conturat pe /cart
Cum se reproduce
  1. Deschideți https://harborandpine.example/products/trail-daypack în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: input
  3. În panoul Accessibility din DevTools, câmpul Name calculat al elementului este gol.
  4. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „label”.
Elemente cu erori (afișate: 2)
input
<input type="number" value="1" min="1">
input[value="2"]
<input type="number" value="2" min="1">
Pagini afectate (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

Cum se remediază

Cod construit din markupul paginii dumneavoastră
  1. Dați fiecărui câmp un element <label for="field-id"> sau, cel puțin, un aria-label.
  2. Textul substituent (placeholder) singur nu contează ca etichetă.

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<input type="number" value="1" min="1">
După · construit din elementul care eșuează
<input type="number" value="1" min="1" aria-label="Quantity">

Câmpul nu are id, așa că cea mai rapidă remediere este un aria-label. Un <label> vizibil este mai bun pentru toată lumea. Textul etichetei, „Quantity”, este dedus din câmp; ajustați-l dacă este nevoie.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<input type="number" value="2" min="1">
După · construit din elementul care eșuează
<input type="number" value="2" min="1" aria-label="Quantity">

Câmpul nu are id, așa că cea mai rapidă remediere este un aria-label. Un <label> vizibil este mai bun pentru toată lumea. Textul etichetei, „Quantity”, este dedus din câmp; ajustați-l dacă este nevoie.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Elementele de formular trebuie să aibă etichete (WCAG 4.1.2).
Unde: 7 apariții pe 6 pagini, de exemplu /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug.

Un element care eșuează, așa cum l-a randat browserul:
```html
<input type="number" value="1" min="1">
```

De ce contează: WCAG 1.3.1, 3.3.2 și 4.1.2 cer ca câmpurile de formular să aibă etichete. Câmpurile de abonare la newsletter și de căutare sunt printre cele mai frecvente cazuri.

Ce trebuie modificat:
- Dați fiecărui câmp un element <label for="field-id"> sau, cel puțin, un aria-label.
- Textul substituent (placeholder) singur nu contează ca etichetă.

O modificare sugerată (Codul temei (căutați în el markupul afișat)):
```html
<input type="number" value="1" min="1" aria-label="Quantity">
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou și confirmați că regula label nu mai eșuează.
  • Faceți clic pe fiecare etichetă și verificați că mută focusul în câmpul ei.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright

P1CriticEroare confirmatăWCAG 4.1.2

Elementul select trebuie să aibă un nume accesibil

efort: redus · responsabil: dezvoltatorul temei · 4.1.2 Name, Role, Value

O listă derulantă (adesea un selector de sortare sau de variantă) nu are etichetă.

WCAG 4.1.2 cere ca meniurile select să aibă un nume accesibil.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
1 apariție pe 1 pagină

Așteptat: Elementul select trebuie să aibă un nume accesibil

Observat: Elementul nu are un <label> implicit (care să îl cuprindă). Elementul nu are un <label> explicit. Atributul aria-label nu există sau este gol. Atributul aria-labelledby nu există, trimite la elemente care nu există sau trimite la elemente goale. Elementul nu are atribut title. Semantica implicită a elementului nu a fost înlocuită cu role="none" sau role="presentation".

Elementul select trebuie să aibă un nume accesibil: elementul conturat pe /collections/all
Elementul select trebuie să aibă un nume accesibil: elementul conturat pe /collections/all
Cum se reproduce
  1. Deschideți https://harborandpine.example/collections/all în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: select
  3. În panoul Accessibility din DevTools, câmpul Name calculat al elementului este gol.
  4. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „select-name”.
Elemente cu erori (afișate: 1)
select
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
Pagini afectate (1)
  • https://harborandpine.example/collections/all

Cum se remediază

Cod construit din markupul paginii dumneavoastră
  1. Adăugați un <label> asociat cu select-ul sau un aria-label, de exemplu aria-label="Sort by".

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
După · construit din elementul care eșuează
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>

Câmpul nu are id, așa că cea mai rapidă remediere este un aria-label. Un <label> vizibil este mai bun pentru toată lumea. Înlocuiți textul dintre paranteze drepte cu eticheta câmpului.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Elementul select trebuie să aibă un nume accesibil (WCAG 4.1.2).
Unde: 1 apariție pe 1 pagină, de exemplu /collections/all.

Un element care eșuează, așa cum l-a randat browserul:
```html
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

De ce contează: WCAG 4.1.2 cere ca meniurile select să aibă un nume accesibil.

Ce trebuie modificat:
- Adăugați un <label> asociat cu select-ul sau un aria-label, de exemplu aria-label="Sort by".

O modificare sugerată (Codul temei (căutați în el markupul afișat)):
```html
<select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou paginile de colecție și de produs.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright

P1GravEroare confirmatăWCAG 1.4.3

Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor

efort: redus · responsabil: proprietarul magazinului (setări de administrare) · 1.4.3 Contrast (Minimum)

Unele texte nu ies suficient în evidență față de fundal pentru a putea fi citite de persoanele cu vedere slabă.

WCAG 1.4.3 cere un raport de contrast de cel puțin 4,5:1 pentru textul normal și 3:1 pentru textul mare. Prețurile, etichetele și bannerele estompate sunt greu de citit pentru persoanele cu vedere slabă și pentru oricine se află în lumină puternică.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
22 de apariții pe 9 pagini

Așteptat: Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor

Observat: Elementul are un contrast insuficient al culorilor, de 3.09 (culoarea de prim-plan: #ffffff, culoarea de fundal: #e76f51, dimensiunea fontului: 9.8pt (13px), grosimea fontului: normal). Raportul de contrast așteptat este 4.5:1.

Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor: elementul conturat pe /
Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor: elementul conturat pe /
Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor: elementul conturat pe /collections/all
Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor: elementul conturat pe /collections/all
Cum se reproduce
  1. Deschideți https://harborandpine.example/ în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: .announce
  3. Faceți clic pe mostra de culoare de lângă culoarea elementului, în panoul Styles, pentru a vedea raportul de contrast măsurat.
  4. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „color-contrast”.
Elemente cu erori (afișate: 4)
.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>
Pagini afectate (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

Cum se remediază

Cod construit din markupul paginii dumneavoastră
  1. Deschideți elementele cu erori listate mai jos și notați culorile textului și ale fundalului din rezumatul erorii.
  2. În Online Store > Themes > Customize > Theme settings > Colors, închideți culoarea textului sau deschideți fundalul schemei de culori afectate până când raportul este de cel puțin 4,5:1.
  3. Acordați o atenție deosebită etichetelor de reducere, textului substituent (placeholder), linkurilor din subsol și butoanelor plasate peste imagini.

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Theme settings › Colors sau fișierul CSS al temei
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
După · construit din elementul care eșuează
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}

Măsurat: 3,09:1 pentru text de 13px; WCAG 1.4.3 cere 4,5:1. #b95941 păstrează aceeași nuanță și trece testul. Selectorul este cel folosit de testul nostru; tema poate folosi o clasă mai generală pentru același stil.

Înainte · ce am găsit · Theme settings › Colors sau fișierul CSS al temei
<span class="badge">Sale</span>
După · construit din elementul care eșuează
.badge {
  background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}

Măsurat: 2,06:1 pentru text îngroșat de 12px; WCAG 1.4.3 cere 4,5:1. #9f693f păstrează aceeași nuanță și trece testul. Selectorul este cel folosit de testul nostru; tema poate folosi o clasă mai generală pentru același stil.

Înainte · ce am găsit · Theme settings › Colors sau fișierul CSS al temei
<span class="compare">$72</span>
După · construit din elementul care eșuează
.compare {
  color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}

Măsurat: 2,29:1 pentru text de 14px; WCAG 1.4.3 cere 4,5:1. #78736c păstrează aceeași nuanță și trece testul. Selectorul este cel folosit de testul nostru; tema poate folosi o clasă mai generală pentru același stil.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor (WCAG 1.4.3).
Unde: 22 de apariții pe 9 pagini, de exemplu /, /collections/all, /products/trail-daypack, /cart.

Un element care eșuează, așa cum l-a randat browserul:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

De ce contează: WCAG 1.4.3 cere un raport de contrast de cel puțin 4,5:1 pentru textul normal și 3:1 pentru textul mare. Prețurile, etichetele și bannerele estompate sunt greu de citit pentru persoanele cu vedere slabă și pentru oricine se află în lumină puternică.

Ce trebuie modificat:
- Deschideți elementele cu erori listate mai jos și notați culorile textului și ale fundalului din rezumatul erorii.
- În Online Store > Themes > Customize > Theme settings > Colors, închideți culoarea textului sau deschideți fundalul schemei de culori afectate până când raportul este de cel puțin 4,5:1.
- Acordați o atenție deosebită etichetelor de reducere, textului substituent (placeholder), linkurilor din subsol și butoanelor plasate peste imagini.

O modificare sugerată (Theme settings › Colors sau fișierul CSS al temei):
```css
.announce {
  background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Rulați din nou scanarea și confirmați că color-contrast nu mai apare.
  • Verificați prin sondaj culorile exacte cu un instrument de verificare a contrastului.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright

P3ModeratEroare confirmată

Tot conținutul paginii trebuie să se afle în repere

efort: moderat · responsabil: dezvoltatorul temei

O parte din conținut nu se află într-un reper al paginii (header, nav, main sau footer).

Reperele (landmarks) le permit utilizatorilor de cititoare de ecran să sară dintr-o zonă în alta a paginii. Este o bună practică în sprijinul WCAG 1.3.1 și 2.4.1.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
18 apariții pe 9 pagini

Așteptat: Tot conținutul paginii trebuie să se afle în repere

Observat: O parte din conținutul paginii nu se află în repere.

Tot conținutul paginii trebuie să se afle în repere: elementul conturat pe /
Tot conținutul paginii trebuie să se afle în repere: elementul conturat pe /
Tot conținutul paginii trebuie să se afle în repere: elementul conturat pe /cart
Tot conținutul paginii trebuie să se afle în repere: elementul conturat pe /cart
Cum se reproduce
  1. Deschideți https://harborandpine.example/ în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: .announce
  3. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „region”.
Elemente cu erori (afișate: 2)
.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>
Pagini afectate (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

Cum se remediază

Îndrumări generale
  1. Includeți conținutul rămas în afara reperelor (bare de anunțuri, ferestre pop-up, widgeturi de chat) în reperul potrivit sau mutați-l în <main>.
Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Tot conținutul paginii trebuie să se afle în repere.
Unde: 18 apariții pe 9 pagini, de exemplu /, /collections/all, /products/trail-daypack, /cart.

Un element care eșuează, așa cum l-a randat browserul:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```

De ce contează: Reperele (landmarks) le permit utilizatorilor de cititoare de ecran să sară dintr-o zonă în alta a paginii. Este o bună practică în sprijinul WCAG 1.3.1 și 2.4.1.

Ce trebuie modificat:
- Includeți conținutul rămas în afara reperelor (bare de anunțuri, ferestre pop-up, widgeturi de chat) în reperul potrivit sau mutați-l în <main>.

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou paginile afectate.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright

P3ModeratEroare confirmată

Nivelurile titlurilor trebuie să crească doar cu câte unul

efort: moderat · responsabil: dezvoltatorul temei

Nivelurile titlurilor sar peste trepte (de exemplu de la H2 la H4), ceea ce face structura paginii derutantă pentru utilizatorii de cititoare de ecran.

Utilizatorii de cititoare de ecran navighează după titluri. Este o bună practică în sprijinul WCAG 1.3.1.

Dovezi

Găsit de
Regulă automată axe-core
Status · încredere
Eroare confirmată · ridicată
Detectat
24 sept. 2026 (UTC)
Unde
7 apariții pe 7 pagini

Așteptat: Nivelurile titlurilor trebuie să crească doar cu câte unul

Observat: Ordinea titlurilor este nevalidă.

Nivelurile titlurilor trebuie să crească doar cu câte unul: elementul conturat pe /collections/all
Nivelurile titlurilor trebuie să crească doar cu câte unul: elementul conturat pe /collections/all
Nivelurile titlurilor trebuie să crească doar cu câte unul: elementul conturat pe /products/trail-daypack
Nivelurile titlurilor trebuie să crească doar cu câte unul: elementul conturat pe /products/trail-daypack
Cum se reproduce
  1. Deschideți https://harborandpine.example/collections/all în Chrome sau Edge.
  2. Deschideți DevTools (F12) › Elements, apăsați Ctrl+F (Cmd+F pe Mac) și căutați: article:nth-child(1) > a[href$="trail-daypack"] > h3
  3. Sau rulați pe pagină extensia gratuită de browser axe DevTools: aceasta raportează problema ca „heading-order”.
Elemente cu erori (afișate: 3)
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>
Pagini afectate (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

Cum se remediază

Îndrumări generale
  1. Ajustați nivelurile titlurilor din secțiunile afectate astfel încât să urmeze în ordine, fără a sări peste niveluri.
  2. Schimbați doar eticheta, nu și stilul vizual (folosiți clase CSS pentru dimensiune).

Cod

Exemple de implementare pentru dezvoltatorul dumneavoastră. Nu avem codul sursă al temei, așa că locațiile fișierelor sunt indicii, nu căi exacte.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<h3>Trail Daypack 22L</h3>
După · exemplu de adaptat
<h2 class="h3">Trail Daypack 22L</h2>

Folosiți nivelul care urmează după titlul anterior de pe pagină (adesea cu un nivel mai sus) și păstrați aspectul cu o clasă. Verificați structura paginii înainte de a o modifica.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<h3>Reviews</h3>
După · exemplu de adaptat
<h2 class="h3">Reviews</h2>

Folosiți nivelul care urmează după titlul anterior de pe pagină (adesea cu un nivel mai sus) și păstrați aspectul cu o clasă. Verificați structura paginii înainte de a o modifica.

Înainte · ce am găsit · Codul temei (căutați în el markupul afișat)
<h3>Started on the trail</h3>
După · exemplu de adaptat
<h2 class="h3">Started on the trail</h2>

Folosiți nivelul care urmează după titlul anterior de pe pagină (adesea cu un nivel mai sus) și păstrați aspectul cu o clasă. Verificați structura paginii înainte de a o modifica.

Remediere cu AIAfișați promptul

Lipiți acest text în ChatGPT, Claude, Cursor sau Copilot, împreună cu fișierul temei. Verificați modificarea înainte de a o publica.

Administrez un magazin Shopify (temă Online Store 2.0, șabloane Liquid), la adresa harborandpine.example. Un test de accesibilitate a găsit această problemă și vreau să o remediez în tema mea.

Problemă: Nivelurile titlurilor trebuie să crească doar cu câte unul.
Unde: 7 apariții pe 7 pagini, de exemplu /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie.

Un element care eșuează, așa cum l-a randat browserul:
```html
<h3>Trail Daypack 22L</h3>
```

De ce contează: Utilizatorii de cititoare de ecran navighează după titluri. Este o bună practică în sprijinul WCAG 1.3.1.

Ce trebuie modificat:
- Ajustați nivelurile titlurilor din secțiunile afectate astfel încât să urmeze în ordine, fără a sări peste niveluri.
- Schimbați doar eticheta, nu și stilul vizual (folosiți clase CSS pentru dimensiune).

O modificare sugerată (Codul temei (căutați în el markupul afișat)):
```html
<h2 class="h3">Trail Daypack 22L</h2>
```

Reguli pentru răspuns:
- Arătați modificarea exactă, înainte și după, și indicați fișierul sau setarea în care se face. Dacă trebuie să vedeți mai întâi fișierul meu, cereți-mi să îl lipesc.
- Păstrați neschimbate designul vizual și tot comportamentul existent.
- Nu inventați nume de produse, prețuri sau texte; folosiți substituenți pe care îi pot completa eu.
- Încheiați cu modul în care pot verifica personal remedierea.
- Includeți modul de confirmare cu tastatura și cu un cititor de ecran.

Verificați remedierea

  • Scanați din nou și verificați structura titlurilor cu o extensie de browser, cum ar fi HeadingsMap.

Îndrumări detaliate: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright

Necesită verificare manuală

Testele automate au semnalat aceste elemente, dar nu au putut decide, de exemplu text peste o imagine sau conținut care s-ar putea să nu încapă pe ecranul unui telefon. Nu sunt numărate ca erori. Rugați-l pe dezvoltator să verifice fiecare element.

  • De verificatWCAG 4.1.3

    Parcurs cu tastatura: Adăugarea în coș cu tastatura

    Enter pe Adaugă în coș a funcționat (s-a schimbat numărul de produse din coș afișat în antet, a apărut un mesaj „adăugat în coș”), dar nu am găsit niciun mesaj de stare sau o fereastră de dialog cu focus, așa că utilizatorii de cititoare de ecran s-ar putea să nu audă că produsul a fost adăugat.

    1 apariție pe 1 pagină · Cum se verifică

  • De verificatWCAG 1.4.10

    Este posibil ca pagina de produs să nu încapă pe un ecran îngust fără derulare pe orizontală

    La o lățime de 320 de pixeli CSS (echivalentul unei măriri de 400%), pagina este cu 200px mai lată decât ecranul. Tabelele de date și hărțile pot fi derulate; textul și controalele nu ar trebui.

    2 apariții pe 1 pagină · Cum se verifică

    Elemente de verificat (afișate: 2)
    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
  • De verificatWCAG 1.4.10

    Este posibil ca pagina principală să nu încapă pe un ecran îngust fără derulare pe orizontală

    La o lățime de 320 de pixeli CSS (echivalentul unei măriri de 400%), pagina este cu 55px mai lată decât ecranul. Tabelele de date și hărțile pot fi derulate; textul și controalele nu ar trebui.

    3 apariții pe 1 pagină · Cum se verifică

    Elemente de verificat (afișate: 3)
    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>
  • De verificatWCAG 1.4.3

    Elementele trebuie să respecte pragurile minime ale raportului de contrast al culorilor

    Culoarea de fundal a elementului nu a putut fi stabilită, deoarece elementul conține un nod de imagine.

    1 apariție pe 1 pagină · Cum se verifică

    Elemente de verificat (afișate: 1)
    h1
    <h1>Gear for the long way home</h1>

Retestați remedierile

După ce dezvoltatorul a făcut modificările, rulați o retestare. Rulăm din nou aceleași verificări automate pe aceleași pagini, testul cu tastatura și parcursul cu tastatura și vă arătăm ce probleme nu mai putem reproduce. Sunt incluse 5 retestări.

Retestările se rulează pe rapoartele plătite.

Verificări manuale

Instrumentele automate nu pot evalua aceste aspecte. Efectuați-le înainte de a considera lucrarea încheiată.

  • Finalizați o comandă folosind doar tastatura: parcursul nostru automat se oprește la butonul de finalizare a comenzii și nu intră niciodată în procesul de finalizare.
  • Repetați cu un cititor de ecran (VoiceOver pe Mac: Cmd+F5; NVDA pe Windows) și confirmați că prețurile, variantele și erorile sunt anunțate.
  • Măriți browserul la 200% și confirmați că nimic nu se suprapune și nu dispare.
  • Verificați dacă videoclipurile de produs și de brand au subtitrări corecte.
  • Trimiteți formulare cu greșeli (newsletter, contact, finalizarea comenzii) și confirmați că erorile sunt descrise în text.
  • Verificați dacă caruselele și ferestrele pop-up pot fi puse pe pauză sau închise, inclusiv cu tasta Escape.

Proiect de declarație de accesibilitate

Completați părțile dintre paranteze drepte și publicați textul pe o pagină cu link în subsolul site-ului.

Declarație de accesibilitate pentru harborandpine.example

Dorim ca oricine să poată face cumpărături pe harborandpine.example, inclusiv persoanele care folosesc cititoare de ecran, navigarea cu tastatura, mărirea ecranului sau alte tehnologii asistive. Ne propunem să îndeplinim Ghidurile pentru accesibilitatea conținutului web (WCAG) 2.2 la nivelul AA.

Ce facem
- Ne testăm magazinul cu instrumente automate de accesibilitate și remediem problemele pe care le găsesc.
- Testăm pașii-cheie ai cumpărăturilor (navigarea prin produse, paginile de produs, coșul și finalizarea comenzii) cu tastatura și cu un cititor de ecran.
- Verificăm accesibilitatea aplicațiilor și a widgeturilor terților înainte de a le adăuga.

Limitări cunoscute (la data de 24 septembrie 2026)
- Accesul de la tastatură și focusul (WCAG 2.1.1). Ne propunem să remediem această problemă până la 2026-10-08.
- Linkuri și butoane fără nume (WCAG 2.4.4, 4.1.2). Ne propunem să remediem această problemă până la 2026-10-08.
- Imagini fără text alternativ (WCAG 1.1.1). Ne propunem să remediem această problemă până la 2026-10-08.
- Câmpuri de formular fără etichete (WCAG 4.1.2). Ne propunem să remediem această problemă până la 2026-10-08.
- Contrast scăzut al culorilor (WCAG 1.4.3). Ne propunem să remediem această problemă până la 2026-10-08.

Feedback și ajutor
Dacă întâmpinați dificultăți la folosirea oricărei părți a magazinului nostru, contactați-ne la [adresa dumneavoastră de e-mail] sau la [numărul dumneavoastră de telefon]. Spuneți-ne pagina și problema, iar noi vă vom ajuta să finalizați achiziția și vă vom răspunde în cel mult 5 zile lucrătoare.

Această declarație a fost întocmită la 24 septembrie 2026 și va fi revizuită cel puțin o dată pe an.

Jurnal de dovezi

Fiecare pagină a fost încărcată în Chromium și testată cu axe-core 4.13.0. Hashul SHA-256 identifică rezultatele brute ale fiecărei pagini.

Paginile testate, cu marcaje de timp și hashuri ale rezultatelor
PaginăTestat (UTC)HTTPProblemeSHA-256
Pagina principalăhttps://harborandpine.example/2026-09-24 14:05:0020015da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3
Pagină de colecțiehttps://harborandpine.example/collections/all2026-09-24 14:05:092002028d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0
Pagină de produshttps://harborandpine.example/products/trail-daypack2026-09-24 14:05:182002068a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4
Coșhttps://harborandpine.example/cart2026-09-24 14:05:27200125b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c
Pagină de conținuthttps://harborandpine.example/pages/about2026-09-24 14:05:362009daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f
Pagină suplimentarăhttps://harborandpine.example/products/pine-wool-beanie2026-09-24 14:08:0020020f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3
Pagină suplimentarăhttps://harborandpine.example/products/enamel-camp-mug2026-09-24 14:08:0720019c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022
Pagină suplimentarăhttps://harborandpine.example/products/harbor-lantern2026-09-24 14:08:14200205720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418
Pagină suplimentarăhttps://harborandpine.example/products/insulated-bottle2026-09-24 14:08:21200196f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd

Domeniu și metodă

Ce am testat

  • 9 pagini (pagina principală, pagina de colecție, pagina de produs, coșul, pagina de conținut, pagina suplimentară), încărcate în Chromium la 1366×900.
  • Regulile axe-core 4.13.0 pentru WCAG 2.0, 2.1 și 2.2, nivelurile A și AA, plus reguli de bună practică (afișate ca P3).
  • Un test cu tastatura: 40 de apăsări ale tastei Tab pe pagina principală, în căutarea capcanelor și a indicatorilor de focus lipsă.
  • Un parcurs de cumpărare doar cu tastatura, de la pagina principală la butonul de finalizare a comenzii (vedeți mai sus).
  • O verificare a rearanjării (reflow) la o lățime de 320 de pixeli CSS, pe pagina principală și pagina de produs (WCAG 1.4.10).

Ce nu am testat

  • Paginile de finalizare a comenzii și de plată, trimiterea formularelor, paginile de cont și cele care necesită autentificare.
  • Ce anunță efectiv un cititor de ecran, dincolo de regulile automate.
  • Subtitrările video și audiodescrierile, documentele PDF și conținutul din cadrele (frames) terților.
  • Limbajul simplu, accesibilitatea cognitivă și orice altceva care necesită judecată umană (vedeți Verificări manuale).

Cum să citiți rezultatele

Eroare confirmată
Un test automat sau parcursul cu tastatura a eșuat; dovezile sunt afișate.
De verificat
Un test a semnalat ceva ce nu a putut decide; un om ar trebui să verifice.
Reușit
Regula automată nu a găsit erori pe paginile testate.
Netestat
În afara a ceea ce pot acoperi aici testele automate; vedeți Verificări manuale.

Obțineți acest raport pentru site-ul dumneavoastră.

Începeți cu scanarea gratuită pentru a vedea problemele site-ului și cum se raportează la scrisoarea dumneavoastră. Raport de remediere a accesibilității costă $249, plată unică, și este gata în aproximativ 10 minute.

Scanați gratuit site-ul

Acest raport descrie rezultatele unor teste automate și oferă îndrumări de remediere. Nu constituie consultanță juridică și nu certifică conformitatea cu ADA, cu Actul european privind accesibilitatea sau cu orice altă lege.