Przykładowy Raport naprawy dostępności. Harbor & Pine to fikcyjny sklep, który zbudowaliśmy z typowymi błędami dostępności, a następnie przetestowaliśmy tym samym silnikiem, który skanuje Twoją stronę.
Przeskanuj stronę za darmoPrzykładowy Raport naprawy dostępności
harborandpine.example
- Platforma:
- Shopify
- Wygenerowano:
- 24 wrz 2026
- Testowane podstrony:
- 9
- Silnik:
- axe-core 4.13.0
Podsumowanie
- 24 wrz 2026 przetestowaliśmy witrynę harborandpine.example za pomocą axe-core 4.13.0 pod kątem WCAG 2.2 A i AA oraz wykonaliśmy test zakupów wyłącznie z klawiatury. Zakres: 9 podstron (w tym 4 z mapy witryny).
- Automatyczne testy WCAG wykazały 8 typów problemów (131 wystąpień). 8 z nich oznaczono jako Napraw najpierw.
- Ścieżka zablokowanaOsoba robiąca zakupy wyłącznie z klawiatury zostaje zablokowana na etapie: Wybór opcji i ilości.
- Do sprawdzenia przez człowieka: 4 pozycje. Testy automatyczne je oznaczyły, ale nie mogły ich rozstrzygnąć.
- Zacznij od: Fokus klawiatury jest uwięziony w banerze cookie; Opcji produktu nie da się wybrać klawiaturą; Przyciski muszą mieć odróżniający je tekst nazwy.
Testy automatyczne wykrywają część problemów z dostępnością na stronie, a nie wszystkie. Ten raport opisuje, co znalazły nasze testy i jak to naprawić. Nie stanowi porady prawnej i nie poświadcza zgodności z ADA, Europejskim Aktem o Dostępności ani żadnymi przepisami.
Przegląd
- P1 · Napraw najpierwBlokuje odwiedzających na kluczowych podstronach
- 8
- P2 · Napraw w drugiej kolejnościPoważne lub umiarkowane bariery
- 0
- P3 · UlepszDrobne problemy i dobre praktyki
- 2
Wystąpienia według wagi
- Krytyczny
- 73
- Poważny
- 58
- Umiarkowany
- 25
- Drobny
- 0
- Potwierdzone błędyTypy problemów, przy których test automatyczny wykazał błąd
- 10
- Do sprawdzeniaOznaczone, ale wymagają decyzji człowieka
- 4
- Zaliczone testyReguły automatyczne bez błędów
- 32
- Nie przetestowanoKroki ścieżki i testy ręczne
- 7
Liczba przetestowanych podstron: 9, w tym wybranych z mapy witryny: 4. Terminy docelowe to propozycje oparte na wadze problemów; ostateczne terminy uzgodnij ze swoim programistą.
Przegląd strony
Rozpoznane na podstawie publicznych dowodów z przetestowanych podstron. Etykieta może być błędna; decyduje tylko o tym, które dodatkowe testy zostaną uruchomione.
Typ strony
- Sklep internetowyWysoka pewność
- Działa na platformie sklepowej Shopify
- Link do koszyka
- Linki do produktów lub sklepu
- Landing pageŚrednia pewność
- Linki tylko do 6 podstron wewnętrznych
Wykryte technologie
- ShopifyWysoka pewność
Zasoby lub skrypty Shopify na stronie
Testy dla tej strony
- Testy uniwersalne: dostępność, SEO, szybkość, bezpieczeństwo i e-mail
- Moduł e-commerce: strony kolekcji, produktu i koszyka oraz ścieżka zakupowa klawiaturą aż do przycisku przejścia do kasy
- Uwagi dla Shopify: kroki naprawy w motywie i panelu administracyjnym; nagłówki i pliki cookie zarządzane przez platformę pokazujemy informacyjnie
Ścieżka zakupowa klawiaturą
Próbowaliśmy zrobić zakupy wyłącznie za pomocą klawiatury (Tab, Shift+Tab, Enter, Spacja, Escape), tak jak robią to osoby, które nie mogą używać myszy. Dodajemy jeden produkt do koszyka w jednorazowej sesji i zatrzymujemy się przy przycisku przejścia do kasy: nigdy nie wchodzimy do kasy ani nie wpisujemy danych osobowych czy płatniczych. Cel: Przejść ze strony głównej do przycisku przejścia do kasy, korzystając wyłącznie z klawiatury.
01Dotarcie do głównej nawigacji
ZaliczoneFokus dotarł do elementu „Shop” w nawigacji po 21 naciśnięciach Tab.
Oczekiwane: Naciskanie Tab od góry strony głównej prowadzi do linków w głównej nawigacji.
- Uwaga: Baner cookie przetrzymywał fokus klawiatury, dopóki nie nacisnęliśmy Enter na „Accept all”.
Jak to odtworzyć
https://harborandpine.example/
- Otwórz stronę główną.
- Kliknij pasek adresu przeglądarki, a potem naciskaj Tab (Shift+Tab cofa).
Zaobserwowana kolejność fokusu
„Shop”
02Otwarcie produktu z kolekcji
ZaliczoneFokus dotarł do elementu „Trail Daypack 22L” po 9 naciśnięciach Tab, a Enter otworzył /products/trail-daypack.
Oczekiwane: Tab dociera do produktu w siatce kolekcji, a Enter otwiera jego stronę.
Jak to odtworzyć
https://harborandpine.example/collections/all
- Otwórz /collections/all.
- Naciskaj Tab, aż produkt w siatce zostanie wyróżniony, a potem naciśnij Enter.
Zaobserwowana kolejność fokusu
„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”
03Wybór opcji i ilości
Niezaliczone3 opcje produktu nie mogą otrzymać fokusu klawiatury: „S”, „M”, „L”. Reagują na mysz, ale osoba korzystająca z klawiatury nie może ich wybrać.
Oczekiwane: Do każdej opcji produktu (rozmiar, kolor, wariant) i pola ilości można dotrzeć klawiszem Tab.
2.1.1 Klawiatura · Poziom pewności: wysoki

Wybór opcji i ilości: błędny element, obrysowany Jak to odtworzyć
https://harborandpine.example/products/trail-daypack
- Otwórz /products/trail-daypack.
- Naciskaj Tab od góry strony i zanotuj, które elementy sterujące otrzymują fokus przed przyciskiem „Dodaj do koszyka”.
Zaobserwowana kolejność fokusu
„Harbor & Pine” → „Shop” → „New arrivals” → „Our story” → … jeszcze 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>04Dodanie do koszyka za pomocą klawiatury
Do sprawdzeniaEnter na przycisku „Dodaj do koszyka” zadziałał (zmienił się licznik koszyka w nagłówku, pojawił się komunikat „dodano do koszyka”), ale nie znaleźliśmy komunikatu o stanie ani okna dialogowego z fokusem, więc osoby korzystające z czytników ekranu mogą nie usłyszeć, że produkt został dodany.
Oczekiwane: Enter na przycisku „Dodaj do koszyka” dodaje produkt, a potwierdzenie jest ogłaszane: komunikatem o stanie, oknem dialogowym, które przejmuje fokus, lub stroną koszyka.
4.1.3 Komunikaty o stanie · Poziom pewności: średni

Dodanie do koszyka za pomocą klawiatury: podstrona na tym etapie Jak to odtworzyć
https://harborandpine.example/products/trail-daypack
- Otwórz /products/trail-daypack.
- Naciskaj Tab, aż przycisk „Dodaj do koszyka” otrzyma fokus, a potem naciśnij Enter.
- Sprawdź z czytnikiem ekranu (VoiceOver: Cmd+F5), czy potwierdzenie zostaje odczytane.
05Zmiana zawartości koszyka i dotarcie do kasy
ZaliczoneDotarliśmy do wszystkich 4 elementów sterujących koszyka i do przycisku przejścia do kasy („Check out”); łącznie 12 naciśnięć Tab. Nie nacisnęliśmy go.
Oczekiwane: Do pól ilości, przycisków usuwania i przycisku przejścia do kasy można dotrzeć klawiszem Tab.
Jak to odtworzyć
https://harborandpine.example/cart
- Dodaj dowolny produkt do koszyka i otwórz stronę koszyka.
- Naciskaj Tab i sprawdź, czy pola ilości, przyciski usuwania i przycisk przejścia do kasy otrzymują fokus.
Zaobserwowana kolejność fokusu
„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”
06Zamówienie
Nie przetestowanoZatrzymujemy się przy przycisku przejścia do kasy: nigdy nie wchodzimy do kasy, nie tworzymy zamówienia ani nie wpisujemy danych płatniczych. W Shopify strony kasy obsługuje Shopify, a nie Twój motyw. Sprawdź kasę ręcznie (zobacz sekcję testów ręcznych).
Mapa zarzutów z pisma
Każdy zarzut z pisma zestawiony z dowodami ze skanu. To porównanie faktów, a nie porada prawna.
- Odtworzono
“Images lack alternative text, so product photos are not described.”
Obrazy bez tekstu alternatywnego. 10 wystąpień (podstrony: 3 z 5 przetestowanych).
image-alt
- Odtworzono
“Text has insufficient color contrast against its background, including sale badges and prices.”
Niski kontrast kolorów. 16 wystąpień (podstrony: 5 z 5 przetestowanych).
color-contrast
- Odtworzono
“The website cannot be navigated using a keyboard alone.”
Dostęp z klawiatury i fokus. Fokus klawiatury utyka w banerze cookie.
- Odtworzono
“Form fields do not have labels, including the newsletter sign-up and the quantity fields in the cart.”
Pola formularzy bez etykiet. 4 wystąpienia (podstrony: 3 z 5 przetestowanych).
select-name, label
- Do ręcznego sprawdzenia
“Product videos do not have captions.”
Napisy do wideo i audio. Automatyczne skany nie mogą ocenić napisów. Sprawdź, czy każdy film o produkcie lub marce ma dokładne napisy i transkrypcję.
- Do ręcznego sprawdzenia
“Our client is legally blind and uses screen reader software.”
Inne problemy. To ogólne stwierdzenie. Przetestuj kluczowe ścieżki (wyszukiwanie, strona produktu, dodanie do koszyka, kasa) za pomocą czytnika ekranu, np. VoiceOver lub NVDA.
Plan naprawczy
| Priorytet | Problem | Status | WCAG | Wystąpienia | Osoba odpowiedzialna | Termin docelowy |
|---|---|---|---|---|---|---|
| P1 | Fokus klawiatury jest uwięziony w banerze cookie | Potwierdzony | 2.1.2 | 1 | dostawca aplikacji | 2026-10-08 |
| P1 | Opcji produktu nie da się wybrać klawiaturą | Potwierdzony | 2.1.1 | 1 | programista motywu | 2026-10-08 |
| P1 | Przyciski muszą mieć odróżniający je tekst nazwy | Potwierdzony | 4.1.2 | 41 | programista motywu | 2026-10-08 |
| P1 | Obrazy muszą mieć tekst alternatywny | Potwierdzony | 1.1.1 | 22 | redaktor treści | 2026-10-08 |
| P1 | Element formularza musi mieć etykietę | Potwierdzony | 4.1.2 | 7 | programista motywu | 2026-10-08 |
| P1 | Element select musi mieć dostępną nazwę | Potwierdzony | 4.1.2 | 1 | programista motywu | 2026-10-08 |
| P1 | Łącza muszą mieć odróżniający je tekst | Potwierdzony | 2.4.4, 4.1.2 | 36 | programista motywu | 2026-10-08 |
| P1 | Elementy muszą mieć wystarczający kontrast kolorów | Potwierdzony | 1.4.3 | 22 | właściciel sklepu (ustawienia w panelu administracyjnym) | 2026-10-08 |
| P3 | Cała treść strony musi być zawarta w obszarach kluczowych | Potwierdzony | Dobra praktyka | 18 | programista motywu | 2026-11-23 |
| P3 | Poziomy nagłówków powinny wzrastać tylko o jeden | Potwierdzony | Dobra praktyka | 7 | programista motywu | 2026-11-23 |
Jak naprawić każdy problem
Fokus klawiatury jest uwięziony w banerze cookie
nakład pracy: średni · wykonawca: dostawca aplikacji · 2.1.2 Bez pułapki na klawiaturę
Gdy osoba korzystająca z klawiatury naciska Tab, fokus krąży między kilkoma elementami i nigdy nie dociera do reszty strony.
Osoby korzystające wyłącznie z klawiatury i z czytników ekranu w ogóle nie mogą robić zakupów, jeśli fokus jest uwięziony (WCAG 2.1.2 Bez pułapki na klawiaturę).
Dowód
- Wykryte przez
- Test klawiatury (przejście klawiszem Tab przez stronę główną)
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 1 wystąpienie · 1 podstrona
Oczekiwane: Naciskanie Tab przenosi fokus przez wszystkie interaktywne elementy i dalej, do reszty strony.
Zaobserwowane: Po 40 naciśnięciach klawisza Tab fokus nadal krążył między: Settings, Accept all.
Jak to odtworzyć
- Otwórz stronę główną.
- Kliknij pasek adresu, a następnie naciskaj wielokrotnie Tab.
- Fokus wciąż wraca do tych samych kilku elementów.
Błędne elementy (pokazane: 6)
SettingsAccept allSettingsAccept allSettingsAccept allPodstrony, których to dotyczy (1)
- https://harborandpine.example/
Jak to naprawić
Ogólne wskazówki- Sprawdź w ustawieniach aplikacji banera cookie lub zgód, czy jest opcja dotycząca dostępności lub pułapki fokusu, albo poproś dostawcę o poprawkę.
- Okno modalne może utrzymywać fokus w swoim wnętrzu tylko wtedy, gdy jest otwarte; klawisz Escape musi je zamykać, a fokus musi wracać tam, skąd przyszedł.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Fokus klawiatury jest uwięziony w banerze cookie (WCAG 2.1.2). Gdzie: 1 wystąpienie na 1 podstronie, np. /. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html Settings ``` Dlaczego to ważne: Osoby korzystające wyłącznie z klawiatury i z czytników ekranu w ogóle nie mogą robić zakupów, jeśli fokus jest uwięziony (WCAG 2.1.2 Bez pułapki na klawiaturę). Co trzeba zmienić: - Sprawdź w ustawieniach aplikacji banera cookie lub zgód, czy jest opcja dotycząca dostępności lub pułapki fokusu, albo poproś dostawcę o poprawkę. - Okno modalne może utrzymywać fokus w swoim wnętrzu tylko wtedy, gdy jest otwarte; klawisz Escape musi je zamykać, a fokus musi wracać tam, skąd przyszedł. Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Wczytaj stronę główną, naciskaj wielokrotnie Tab i potwierdź, że fokus dociera do głównej nawigacji i treści.
Wykryte przez automatyczny test klawiatury; potwierdź ręcznie.
Opcji produktu nie da się wybrać klawiaturą
nakład pracy: średni · wykonawca: programista motywu · 2.1.1 Klawiatura
Opcje rozmiaru, koloru lub wariantu reagują na mysz, ale nie mogą otrzymać fokusu klawiatury, więc osoby korzystające z klawiatury nie mogą wybrać wariantu.
Osoby robiące zakupy wyłącznie z klawiatury, w tym wiele osób używających czytników ekranu, nie mogą przejść dalej na tym etapie (WCAG 2.1.1).
Dowód
- Wykryte przez
- Ścieżka klawiaturą
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 1 wystąpienie · 1 podstrona
Oczekiwane: Do każdej opcji produktu (rozmiar, kolor, wariant) i pola ilości można dotrzeć klawiszem Tab.
Zaobserwowane: 3 opcje produktu nie mogą otrzymać fokusu klawiatury: „S”, „M”, „L”. Reagują na mysz, ale osoba korzystająca z klawiatury nie może ich wybrać.

Jak to odtworzyć
- Otwórz /products/trail-daypack.
- Naciskaj Tab od góry strony i zanotuj, które elementy sterujące otrzymują fokus przed przyciskiem „Dodaj do koszyka”.
Błędne elementy (pokazane: 1)
<div class="size-option" data-fr="opt-1">S</div>Podstrony, których to dotyczy (1)
- https://harborandpine.example/products/trail-daypack
Jak to naprawić
Ogólne wskazówki- Zbuduj selektory opcji z natywnych przycisków opcji (radio) lub elementu <select> z widocznymi etykietami; nadaj etykiecie wygląd próbki.
- Jeśli zostawiasz własne elementy, każda opcja potrzebuje tabindex="0", role="radio" z aria-checked wewnątrz role="radiogroup" oraz obsługi strzałek i spacji. Natywne przyciski opcji zapewniają to wszystko bez dodatkowej pracy.
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<div class="size-option" data-fr="opt-1">S</div><fieldset class="variant-picker">
<legend>Size</legend>
<input type="radio" id="size-s" name="Size" value="S" class="visually-hidden">
<label for="size-s" class="size-option">S</label>
<input type="radio" id="size-m" name="Size" value="M" class="visually-hidden">
<label for="size-m" class="size-option">M</label>
</fieldset>Każda opcja jest prawdziwym przyciskiem opcji (radio), osiągalnym klawiszem Tab i zmienianym strzałkami; etykieta zachowuje wygląd Twojej próbki. Użyj własnych nazw i wartości opcji.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Opcji produktu nie da się wybrać klawiaturą (WCAG 2.1.1). Gdzie: 1 wystąpienie na 1 podstronie, np. /products/trail-daypack. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <div class="size-option" data-fr="opt-1">S</div> ``` Dlaczego to ważne: Osoby robiące zakupy wyłącznie z klawiatury, w tym wiele osób używających czytników ekranu, nie mogą przejść dalej na tym etapie (WCAG 2.1.1). Co trzeba zmienić: - Zbuduj selektory opcji z natywnych przycisków opcji (radio) lub elementu <select> z widocznymi etykietami; nadaj etykiecie wygląd próbki. - Jeśli zostawiasz własne elementy, każda opcja potrzebuje tabindex="0", role="radio" z aria-checked wewnątrz role="radiogroup" oraz obsługi strzałek i spacji. Natywne przyciski opcji zapewniają to wszystko bez dodatkowej pracy. Proponowana zmiana (Formularz produktu w Twoim motywie (wybór wariantu)): ```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> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Powtórz kroki odtworzenia, używając wyłącznie klawiatury.
- Zleć ponowny test z poziomu tego raportu: ścieżka zostanie uruchomiona ponownie.
Obrazy muszą mieć tekst alternatywny
nakład pracy: średni · wykonawca: redaktor treści · 1.1.1 Treść nietekstowa
Obrazy nie mają tekstu alternatywnego, więc osoby korzystające z czytników ekranu nie wiedzą, co przedstawiają.
WCAG 1.1.1 wymaga tekstu alternatywnego dla obrazów niosących treść. Bez niego osoba korzystająca z czytnika ekranu nie wie, jaki produkt przedstawia zdjęcie.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 22 wystąpienia · 7 podstron
Oczekiwane: Obrazy muszą mieć tekst alternatywny
Zaobserwowane: Element nie ma atrybutu alt. Atrybut aria-label nie istnieje lub jest pusty. Atrybut aria-labelledby nie istnieje albo elementy, do których odwołuje atrybut aria-labelledby, nie istnieją lub są puste. Element nie ma atrybutu title. Domyślna semantyka elementu nie została nadpisana przez role="none" ani role="presentation".


Jak to odtworzyć
- Otwórz https://harborandpine.example/ w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: img[src$="hero-photo.jpg"]
- W panelu Accessibility w DevTools obliczona nazwa (Name) elementu jest pusta.
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „image-alt”.
Błędne elementy (pokazane: 4)
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/mug.svg"><img src="/img/beanie.svg"><img src="/img/jacket.svg">Podstrony, których to dotyczy (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
Jak to naprawić
Kod przygotowany na podstawie kodu HTML Twojej podstrony- W panelu administracyjnym Shopify otwórz Produkty > [produkt] > Multimedia, kliknij każdy obraz i uzupełnij pole „Tekst alternatywny”. W przypadku obrazów w sekcjach otwórz Sklep online > Motywy > Dostosuj i ustaw tekst alternatywny obrazu w ustawieniach sekcji.
- Opisz to, co ważne dla kupującego: nazwę produktu, kolor i ujęcie (np. „Płócienna torba w kolorze oliwkowym, widok z przodu”).
- Obrazy dekoracyjne powinny mieć pusty atrybut alt (alt=""), aby czytniki ekranu je pomijały.
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<img src="/img/hero-photo.jpg" loading="lazy"><img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]">Opisz, co przedstawia obraz (w przypadku zdjęcia produktu: produkt, kolor, ujęcie). Jeśli obraz jest czysto dekoracyjny, użyj zamiast tego alt="", aby czytniki ekranu go pomijały.
<img src="/img/mug.svg"><img src="/img/mug.svg" alt="[Describe the image for a shopper]">Opisz, co przedstawia obraz (w przypadku zdjęcia produktu: produkt, kolor, ujęcie). Jeśli obraz jest czysto dekoracyjny, użyj zamiast tego alt="", aby czytniki ekranu go pomijały.
<img src="/img/beanie.svg"><img src="/img/beanie.svg" alt="[Describe the image for a shopper]">Opisz, co przedstawia obraz (w przypadku zdjęcia produktu: produkt, kolor, ujęcie). Jeśli obraz jest czysto dekoracyjny, użyj zamiast tego alt="", aby czytniki ekranu go pomijały.
<img src="/img/jacket.svg"><img src="/img/jacket.svg" alt="[Describe the image for a shopper]">Opisz, co przedstawia obraz (w przypadku zdjęcia produktu: produkt, kolor, ujęcie). Jeśli obraz jest czysto dekoracyjny, użyj zamiast tego alt="", aby czytniki ekranu go pomijały.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Obrazy muszą mieć tekst alternatywny (WCAG 1.1.1). Gdzie: 22 wystąpienia na 7 podstronach, np. /, /collections/all, /products/trail-daypack, /products/pine-wool-beanie. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <img src="/img/hero-photo.jpg" loading="lazy"> ``` Dlaczego to ważne: WCAG 1.1.1 wymaga tekstu alternatywnego dla obrazów niosących treść. Bez niego osoba korzystająca z czytnika ekranu nie wie, jaki produkt przedstawia zdjęcie. Co trzeba zmienić: - W panelu administracyjnym Shopify otwórz Produkty > [produkt] > Multimedia, kliknij każdy obraz i uzupełnij pole „Tekst alternatywny”. W przypadku obrazów w sekcjach otwórz Sklep online > Motywy > Dostosuj i ustaw tekst alternatywny obrazu w ustawieniach sekcji. - Opisz to, co ważne dla kupującego: nazwę produktu, kolor i ujęcie (np. „Płócienna torba w kolorze oliwkowym, widok z przodu”). - Obrazy dekoracyjne powinny mieć pusty atrybut alt (alt=""), aby czytniki ekranu je pomijały. Proponowana zmiana (Zdjęcia produktów: panel Shopify › Produkty › Multimedia › Tekst alternatywny. Inne obrazy: kod Twojego motywu): ```html <img src="/img/hero-photo.jpg" loading="lazy" alt="[Describe the image for a shopper]"> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie podstrony, których to dotyczy.
- Użyj czytnika ekranu (VoiceOver: Cmd+F5 na Macu), aby usłyszeć, jak odczytywane są obrazy produktów.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/image-alt?application=playwright
Element formularza musi mieć etykietę
nakład pracy: mały · wykonawca: programista motywu · 4.1.2 Nazwa, rola, wartość
Niektóre pola formularzy nie mają etykiet, więc osoby korzystające z czytników ekranu nie wiedzą, co wpisać.
WCAG 1.3.1, 3.3.2 i 4.1.2 wymagają, aby pola formularzy miały etykiety. Najczęściej dotyczy to pól zapisu do newslettera i pól wyszukiwania.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 7 wystąpień · 6 podstron
Oczekiwane: Element formularza musi mieć etykietę
Zaobserwowane: Element formularza nie ma dorozumianej etykiety (nie jest owinięty w label). Element formularza nie ma jawnie określonej label. Atrybut aria-label nie istnieje lub jest pusty. Atrybut aria-labelledby nie istnieje albo elementy, do których odwołuje atrybut aria-labelledby, nie istnieją lub są puste. Element nie ma atrybutu title. Element nie ma atrybutu placeholder. Domyślna semantyka elementu nie została nadpisana przez role="none" ani role="presentation".


Jak to odtworzyć
- Otwórz https://harborandpine.example/products/trail-daypack w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: input
- W panelu Accessibility w DevTools obliczona nazwa (Name) elementu jest pusta.
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „label”.
Błędne elementy (pokazane: 2)
<input type="number" value="1" min="1"><input type="number" value="2" min="1">Podstrony, których to dotyczy (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
Jak to naprawić
Kod przygotowany na podstawie kodu HTML Twojej podstrony- Nadaj każdemu polu element <label for="field-id"> albo przynajmniej atrybut aria-label.
- Sam tekst zastępczy (placeholder) nie jest etykietą.
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<input type="number" value="1" min="1"><input type="number" value="1" min="1" aria-label="Quantity">Pole nie ma id, więc najszybszą poprawką jest aria-label. Widoczny element <label> jest lepszy dla wszystkich. Tekst etykiety „Quantity” został odgadnięty na podstawie pola; w razie potrzeby go popraw.
<input type="number" value="2" min="1"><input type="number" value="2" min="1" aria-label="Quantity">Pole nie ma id, więc najszybszą poprawką jest aria-label. Widoczny element <label> jest lepszy dla wszystkich. Tekst etykiety „Quantity” został odgadnięty na podstawie pola; w razie potrzeby go popraw.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Element formularza musi mieć etykietę (WCAG 4.1.2). Gdzie: 7 wystąpień na 6 podstronach, np. /products/trail-daypack, /cart, /products/pine-wool-beanie, /products/enamel-camp-mug. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <input type="number" value="1" min="1"> ``` Dlaczego to ważne: WCAG 1.3.1, 3.3.2 i 4.1.2 wymagają, aby pola formularzy miały etykiety. Najczęściej dotyczy to pól zapisu do newslettera i pól wyszukiwania. Co trzeba zmienić: - Nadaj każdemu polu element <label for="field-id"> albo przynajmniej atrybut aria-label. - Sam tekst zastępczy (placeholder) nie jest etykietą. Proponowana zmiana (Kod Twojego motywu (wyszukaj w nim pokazany fragment HTML)): ```html <input type="number" value="1" min="1" aria-label="Quantity"> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie i potwierdź, że reguła label jest już spełniona.
- Kliknij każdą etykietę i sprawdź, czy przenosi fokus do swojego pola.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/label?application=playwright
Element select musi mieć dostępną nazwę
nakład pracy: mały · wykonawca: programista motywu · 4.1.2 Nazwa, rola, wartość
Lista rozwijana (często wybór sortowania lub wariantu) nie ma etykiety.
WCAG 4.1.2 wymaga, aby listy wyboru miały dostępną nazwę.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 1 wystąpienie · 1 podstrona
Oczekiwane: Element select musi mieć dostępną nazwę
Zaobserwowane: Element formularza nie ma dorozumianej etykiety (nie jest owinięty w label). Element formularza nie ma jawnie określonej label. Atrybut aria-label nie istnieje lub jest pusty. Atrybut aria-labelledby nie istnieje albo elementy, do których odwołuje atrybut aria-labelledby, nie istnieją lub są puste. Element nie ma atrybutu title. Domyślna semantyka elementu nie została nadpisana przez role="none" ani role="presentation".

Jak to odtworzyć
- Otwórz https://harborandpine.example/collections/all w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: select
- W panelu Accessibility w DevTools obliczona nazwa (Name) elementu jest pusta.
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „select-name”.
Błędne elementy (pokazane: 1)
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Podstrony, których to dotyczy (1)
- https://harborandpine.example/collections/all
Jak to naprawić
Kod przygotowany na podstawie kodu HTML Twojej podstrony- Dodaj element <label> powiązany z listą wyboru albo atrybut aria-label, np. aria-label="Sort by".
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select><select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select>Pole nie ma id, więc najszybszą poprawką jest aria-label. Widoczny element <label> jest lepszy dla wszystkich. Zastąp tekst w nawiasach kwadratowych etykietą pola.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Element select musi mieć dostępną nazwę (WCAG 4.1.2). Gdzie: 1 wystąpienie na 1 podstronie, np. /collections/all. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <select><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Dlaczego to ważne: WCAG 4.1.2 wymaga, aby listy wyboru miały dostępną nazwę. Co trzeba zmienić: - Dodaj element <label> powiązany z listą wyboru albo atrybut aria-label, np. aria-label="Sort by". Proponowana zmiana (Kod Twojego motywu (wyszukaj w nim pokazany fragment HTML)): ```html <select aria-label="[Field label]"><option>Featured</option><option>Price, low to high</option><option>Price, high to low</option></select> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie strony kolekcji i produktów.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/select-name?application=playwright
Łącza muszą mieć odróżniający je tekst
nakład pracy: mały · wykonawca: programista motywu · 2.4.4 Cel łącza (w kontekście), 4.1.2 Nazwa, rola, wartość
Niektóre linki nie mają tekstu, który mógłby odczytać czytnik ekranu; często są to linki w postaci samych ikon, np. ikon mediów społecznościowych lub ikony koszyka.
WCAG 2.4.4 i 4.1.2 wymagają, aby linki miały dostępną nazwę opisującą ich cel.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 36 wystąpień · 9 podstron
Oczekiwane: Łącza muszą mieć odróżniający je tekst
Zaobserwowane: Element znajduje się w porządku tabulacji i nie ma dostępnego tekstu. Ponadto: Element nie ma tekstu, który jest widoczny dla czytników ekranu. Atrybut aria-label nie istnieje lub jest pusty. Atrybut aria-labelledby nie istnieje albo elementy, do których odwołuje atrybut aria-labelledby, nie istnieją lub są puste. Element nie ma atrybutu title.


Jak to odtworzyć
- Otwórz https://harborandpine.example/ w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: a[href$="cart"]
- W panelu Accessibility w DevTools obliczona nazwa (Name) elementu jest pusta.
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „link-name”.
Błędne elementy (pokazane: 4)
<a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a><a href="https://instagram.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="3" y="3" width="18" height="18" rx="5"></rect><circle cx="12" cy="12" r="4"></circle></svg></a><a href="https://facebook.example/harborandpine"><svg viewBox="0 0 24 24" fill="currentColor"><path d="M14 8h3V4h-3c-2.8 0-4 1.8-4 4v2H7v4h3v8h4v-8h3l1-4h-4V8.5c0-.3.2-.5.5-.5z"></path></svg></a><a href="https://x.example/harborandpine"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 4l16 16M20 4L4 20"></path></svg></a>Podstrony, których to dotyczy (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
Jak to naprawić
Kod przygotowany na podstawie kodu HTML Twojej podstrony- Znajdź linki w poniższych przykładach. Większość to ikony lub obrazy wewnątrz tagu <a>.
- Dodaj w linku tekst ukryty wizualnie albo atrybut aria-label, np. aria-label="Instagram" lub aria-label="Cart".
- Jeśli link obejmuje obraz, nadaj zamiast tego obrazowi znaczący tekst alternatywny.
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<a href="/cart">…</a><a href="/cart" aria-label="Cart">…</a>Nadaje linkowi nazwę „Cart”, odgadniętą na podstawie jego adresu lub klas. Sprawdź, czy opisuje, do czego prowadzi link.
<a href="https://instagram.example/harborandpine">…</a><a href="https://instagram.example/harborandpine" aria-label="Instagram">…</a>Nadaje linkowi nazwę „Instagram”, odgadniętą na podstawie jego adresu lub klas. Sprawdź, czy opisuje, do czego prowadzi link.
<a href="https://facebook.example/harborandpine">…</a><a href="https://facebook.example/harborandpine" aria-label="Facebook">…</a>Nadaje linkowi nazwę „Facebook”, odgadniętą na podstawie jego adresu lub klas. Sprawdź, czy opisuje, do czego prowadzi link.
<a href="https://x.example/harborandpine">…</a><a href="https://x.example/harborandpine" aria-label="X (Twitter)">…</a>Nadaje linkowi nazwę „X (Twitter)”, odgadniętą na podstawie jego adresu lub klas. Sprawdź, czy opisuje, do czego prowadzi link.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Łącza muszą mieć odróżniający je tekst (WCAG 2.4.4, 4.1.2). Gdzie: 36 wystąpień na 9 podstronach, np. /, /collections/all, /products/trail-daypack, /cart. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <a href="/cart"><svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M3 4h2l2.4 11h11l2-8H6.5"></path><circle cx="9" cy="20" r="1.5"></circle><circle cx="18" cy="20" r="1.5"></circle></svg></a> ``` Dlaczego to ważne: WCAG 2.4.4 i 4.1.2 wymagają, aby linki miały dostępną nazwę opisującą ich cel. Co trzeba zmienić: - Znajdź linki w poniższych przykładach. Większość to ikony lub obrazy wewnątrz tagu <a>. - Dodaj w linku tekst ukryty wizualnie albo atrybut aria-label, np. aria-label="Instagram" lub aria-label="Cart". - Jeśli link obejmuje obraz, nadaj zamiast tego obrazowi znaczący tekst alternatywny. Proponowana zmiana (Kod Twojego motywu (wyszukaj w nim pokazany fragment HTML)): ```html <a href="/cart" aria-label="Cart">…</a> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie i potwierdź, że błąd link-name zniknął.
- Przy włączonym czytniku ekranu przejdź klawiszem Tab do każdego linku i posłuchaj jego nazwy.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/link-name?application=playwright
Elementy muszą mieć wystarczający kontrast kolorów
nakład pracy: mały · wykonawca: właściciel sklepu (ustawienia w panelu administracyjnym) · 1.4.3 Kontrast (minimum)
Część tekstu nie odróżnia się wystarczająco od tła, by mogły go odczytać osoby słabowidzące.
WCAG 1.4.3 wymaga współczynnika kontrastu co najmniej 4,5:1 dla zwykłego tekstu i 3:1 dla dużego tekstu. Blade ceny, plakietki i banery są trudne do odczytania dla osób słabowidzących, a w jasnym świetle dla wszystkich.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 22 wystąpienia · 9 podstron
Oczekiwane: Elementy muszą mieć wystarczający kontrast kolorów
Zaobserwowane: Element ma niewystarczający kontrast kolorów 3.09 (kolor pierwszego planu: #ffffff, kolor tła: #e76f51, rozmiar czcionki: 9.8pt (13px), waga czcionki: normal). Oczekiwany współczynnik kontrastu: 4.5:1.


Jak to odtworzyć
- Otwórz https://harborandpine.example/ w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: .announce
- W panelu Styles kliknij próbkę koloru obok koloru elementu, aby zobaczyć zmierzony współczynnik kontrastu.
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „color-contrast”.
Błędne elementy (pokazane: 4)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><span class="badge">Sale</span><span class="compare">$72</span><span class="compare">$40</span>Podstrony, których to dotyczy (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
Jak to naprawić
Kod przygotowany na podstawie kodu HTML Twojej podstrony- Otwórz wymienione poniżej błędne elementy i zanotuj kolory tekstu i tła podane w podsumowaniu błędu.
- W sekcji Sklep online > Motywy > Dostosuj > Ustawienia motywu > Kolory przyciemnij kolor tekstu lub rozjaśnij tło w danym schemacie kolorów, aż współczynnik wyniesie co najmniej 4,5:1.
- Zwróć szczególną uwagę na plakietki promocji, tekst zastępczy (placeholder), linki w stopce i przyciski na obrazach.
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}Zmierzono 3,09:1 dla tekstu 13px; WCAG 1.4.3 wymaga 4,5:1. Kolor #b95941 zachowuje ten sam odcień i spełnia wymóg. To selektor użyty w naszym teście; Twój motyw może nadawać ten sam styl przez szerszą klasę.
<span class="badge">Sale</span>.badge {
background-color: #9f693f; /* was #f4a261: 2.06:1, now 4.59:1 */
}Zmierzono 2,06:1 dla pogrubionego tekstu 12px; WCAG 1.4.3 wymaga 4,5:1. Kolor #9f693f zachowuje ten sam odcień i spełnia wymóg. To selektor użyty w naszym teście; Twój motyw może nadawać ten sam styl przez szerszą klasę.
<span class="compare">$72</span>.compare {
color: #78736c; /* was #b0a99f: 2.29:1, now 4.62:1 */
}Zmierzono 2,29:1 dla tekstu 14px; WCAG 1.4.3 wymaga 4,5:1. Kolor #78736c zachowuje ten sam odcień i spełnia wymóg. To selektor użyty w naszym teście; Twój motyw może nadawać ten sam styl przez szerszą klasę.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie.
Problem: Elementy muszą mieć wystarczający kontrast kolorów (WCAG 1.4.3).
Gdzie: 22 wystąpienia na 9 podstronach, np. /, /collections/all, /products/trail-daypack, /cart.
Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę:
```html
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div>
```
Dlaczego to ważne: WCAG 1.4.3 wymaga współczynnika kontrastu co najmniej 4,5:1 dla zwykłego tekstu i 3:1 dla dużego tekstu. Blade ceny, plakietki i banery są trudne do odczytania dla osób słabowidzących, a w jasnym świetle dla wszystkich.
Co trzeba zmienić:
- Otwórz wymienione poniżej błędne elementy i zanotuj kolory tekstu i tła podane w podsumowaniu błędu.
- W sekcji Sklep online > Motywy > Dostosuj > Ustawienia motywu > Kolory przyciemnij kolor tekstu lub rozjaśnij tło w danym schemacie kolorów, aż współczynnik wyniesie co najmniej 4,5:1.
- Zwróć szczególną uwagę na plakietki promocji, tekst zastępczy (placeholder), linki w stopce i przyciski na obrazach.
Proponowana zmiana (Ustawienia motywu › Kolory lub plik CSS Twojego motywu):
```css
.announce {
background-color: #b95941; /* was #e76f51: 3.09:1, now 4.59:1 */
}
```
Zasady odpowiedzi:
- Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie.
- Zachowaj bez zmian wygląd i całe dotychczasowe działanie.
- Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić.
- Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę.
- Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.Sprawdź swoją poprawkę
- Uruchom skan ponownie i potwierdź, że reguła color-contrast już się nie pojawia.
- Sprawdź wyrywkowo dokładne kolory w narzędziu do badania kontrastu.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/color-contrast?application=playwright
Cała treść strony musi być zawarta w obszarach kluczowych
nakład pracy: średni · wykonawca: programista motywu
Część treści nie znajduje się w żadnym punkcie orientacyjnym strony (header, nav, main lub footer).
Punkty orientacyjne pozwalają osobom korzystającym z czytników ekranu szybko przechodzić między częściami strony. To dobra praktyka wspierająca WCAG 1.3.1 i 2.4.1.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 18 wystąpień · 9 podstron
Oczekiwane: Cała treść strony musi być zawarta w obszarach kluczowych
Zaobserwowane: Pewna część strony znajduje się poza punktami orientacyjnymi.


Jak to odtworzyć
- Otwórz https://harborandpine.example/ w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: .announce
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „region”.
Błędne elementy (pokazane: 2)
<div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div><p>We use cookies to improve your experience and measure traffic.</p>Podstrony, których to dotyczy (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
Jak to naprawić
Ogólne wskazówki- Treść znajdującą się poza punktami orientacyjnymi (paski z ogłoszeniami, pop-upy, widżety czatu) umieść w odpowiednim punkcie orientacyjnym lub wewnątrz <main>.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Cała treść strony musi być zawarta w obszarach kluczowych. Gdzie: 18 wystąpień na 9 podstronach, np. /, /collections/all, /products/trail-daypack, /cart. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <div class="announce">Free shipping on orders over $75 · Easy 30-day returns</div> ``` Dlaczego to ważne: Punkty orientacyjne pozwalają osobom korzystającym z czytników ekranu szybko przechodzić między częściami strony. To dobra praktyka wspierająca WCAG 1.3.1 i 2.4.1. Co trzeba zmienić: - Treść znajdującą się poza punktami orientacyjnymi (paski z ogłoszeniami, pop-upy, widżety czatu) umieść w odpowiednim punkcie orientacyjnym lub wewnątrz <main>. Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie podstrony, których to dotyczy.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/region?application=playwright
Poziomy nagłówków powinny wzrastać tylko o jeden
nakład pracy: średni · wykonawca: programista motywu
Poziomy nagłówków są pomijane (np. z H2 od razu na H4), przez co struktura strony jest niejasna dla osób korzystających z czytników ekranu.
Osoby korzystające z czytników ekranu poruszają się po stronie według nagłówków. To dobra praktyka wspierająca WCAG 1.3.1.
Dowód
- Wykryte przez
- Reguła automatyczna axe-core
- Status · poziom pewności
- Potwierdzony błąd · wysoki
- Wykryto
- 24 wrz 2026 (UTC)
- Gdzie
- 7 wystąpień · 7 podstron
Oczekiwane: Poziomy nagłówków powinny wzrastać tylko o jeden
Zaobserwowane: Kolejność nagłówków jest niepoprawna.


Jak to odtworzyć
- Otwórz https://harborandpine.example/collections/all w Chrome lub Edge.
- Otwórz DevTools (F12) › Elements, naciśnij Ctrl+F (Cmd+F na Macu) i wyszukaj: article:nth-child(1) > a[href$="trail-daypack"] > h3
- Możesz też uruchomić na stronie darmowe rozszerzenie przeglądarki axe DevTools: zgłasza ono ten problem jako „heading-order”.
Błędne elementy (pokazane: 3)
<h3>Trail Daypack 22L</h3><h3>Reviews</h3><h3>Started on the trail</h3>Podstrony, których to dotyczy (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
Jak to naprawić
Ogólne wskazówki- Popraw poziomy nagłówków w sekcjach, których to dotyczy, tak aby następowały po kolei, bez pomijania poziomów.
- Zmień tylko tag, a nie wygląd (rozmiar ustawiaj klasami CSS).
Kod
Przykłady implementacji dla Twojego programisty. Nie mamy dostępu do kodu źródłowego Twojego motywu, więc lokalizacje plików to wskazówki, a nie dokładne ścieżki.
<h3>Trail Daypack 22L</h3><h2 class="h3">Trail Daypack 22L</h2>Użyj poziomu, który następuje po poprzednim nagłówku na stronie (często o jeden poziom wyżej), i zachowaj wygląd za pomocą klasy. Przed zmianą sprawdź strukturę nagłówków strony.
<h3>Reviews</h3><h2 class="h3">Reviews</h2>Użyj poziomu, który następuje po poprzednim nagłówku na stronie (często o jeden poziom wyżej), i zachowaj wygląd za pomocą klasy. Przed zmianą sprawdź strukturę nagłówków strony.
<h3>Started on the trail</h3><h2 class="h3">Started on the trail</h2>Użyj poziomu, który następuje po poprzednim nagłówku na stronie (często o jeden poziom wyżej), i zachowaj wygląd za pomocą klasy. Przed zmianą sprawdź strukturę nagłówków strony.
Napraw z pomocą AIPokaż prompt
Wklej go do ChatGPT, Claude, Cursor lub Copilot razem z plikiem motywu. Przejrzyj zmianę przed publikacją.
Prowadzę sklep Shopify (motyw Online Store 2.0, szablony Liquid) pod adresem harborandpine.example. Test dostępności wykrył ten problem i chcę go naprawić w moim motywie. Problem: Poziomy nagłówków powinny wzrastać tylko o jeden. Gdzie: 7 wystąpień na 7 podstronach, np. /collections/all, /products/trail-daypack, /pages/about, /products/pine-wool-beanie. Jeden z błędnych elementów w postaci wyrenderowanej przez przeglądarkę: ```html <h3>Trail Daypack 22L</h3> ``` Dlaczego to ważne: Osoby korzystające z czytników ekranu poruszają się po stronie według nagłówków. To dobra praktyka wspierająca WCAG 1.3.1. Co trzeba zmienić: - Popraw poziomy nagłówków w sekcjach, których to dotyczy, tak aby następowały po kolei, bez pomijania poziomów. - Zmień tylko tag, a nie wygląd (rozmiar ustawiaj klasami CSS). Proponowana zmiana (Kod Twojego motywu (wyszukaj w nim pokazany fragment HTML)): ```html <h2 class="h3">Trail Daypack 22L</h2> ``` Zasady odpowiedzi: - Pokaż dokładną zmianę w formie „przed” i „po” oraz wskaż plik lub ustawienie, w którym należy ją wprowadzić. Jeśli najpierw musisz zobaczyć mój plik, poproś mnie o jego wklejenie. - Zachowaj bez zmian wygląd i całe dotychczasowe działanie. - Nie wymyślaj nazw produktów, cen ani tekstów; użyj symboli zastępczych, które mogę uzupełnić. - Na koniec napisz, jak mogę samodzielnie sprawdzić poprawkę. - Napisz też, jak potwierdzić poprawkę za pomocą klawiatury i czytnika ekranu.
Sprawdź swoją poprawkę
- Przeskanuj ponownie i sprawdź strukturę nagłówków za pomocą rozszerzenia przeglądarki, np. HeadingsMap.
Szczegółowe wskazówki: https://dequeuniversity.com/rules/axe/4.13/heading-order?application=playwright
Wymaga ręcznego sprawdzenia
Testy automatyczne oznaczyły te elementy, ale nie mogły ich rozstrzygnąć, np. tekst na obrazie lub treść, która może nie mieścić się na ekranie telefonu. Nie są liczone jako błędy. Poproś programistę o sprawdzenie każdego z nich.
- Do sprawdzeniaWCAG 4.1.3
Ścieżka klawiaturą: Dodanie do koszyka za pomocą klawiatury
Enter na przycisku „Dodaj do koszyka” zadziałał (zmienił się licznik koszyka w nagłówku, pojawił się komunikat „dodano do koszyka”), ale nie znaleźliśmy komunikatu o stanie ani okna dialogowego z fokusem, więc osoby korzystające z czytników ekranu mogą nie usłyszeć, że produkt został dodany.
1 wystąpienie · 1 podstrona · Jak to sprawdzić
- Do sprawdzeniaWCAG 1.4.10
Strona produktu może nie mieścić się na wąskim ekranie bez przewijania w poziomie
Przy szerokości 320 pikseli CSS (co odpowiada powiększeniu 400%) strona jest o 200px szersza niż ekran. Tabele danych i mapy mogą się przewijać; tekst i elementy sterujące nie powinny.
2 wystąpienia · 1 podstrona · Jak to sprawdzić
Elementy do sprawdzenia (pokazane: 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></budiv <div> <p style="color:#6a6a60;font-size:14px">Harbor & Pine</p> <h1>Trail Daypack 22L</h1> <p class="price" style="font-size:22px">$128<span class="compare">$150</span></p> <p class="opt-label">Si - Do sprawdzeniaWCAG 1.4.10
Strona główna może nie mieścić się na wąskim ekranie bez przewijania w poziomie
Przy szerokości 320 pikseli CSS (co odpowiada powiększeniu 400%) strona jest o 55px szersza niż ekran. Tabele danych i mapy mogą się przewijać; tekst i elementy sterujące nie powinny.
3 wystąpienia · 1 podstrona · Jak to sprawdzić
Elementy do sprawdzenia (pokazane: 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></buarticle.card <article class="card"><span class="badge">Sale</span><a href="/products/trail-daypack"><img src="/img/beanie.svg"><h3>Pine Wool Beanie</h3></a><p class="price">$32<span class="compare">$40</span></p><button.btn.light <button class="btn light" type="submit">Subscribe</button> - Do sprawdzeniaWCAG 1.4.3
Elementy muszą mieć wystarczający kontrast kolorów
Nie można określić koloru tła elementu, ponieważ element zawiera węzeł obrazu.
1 wystąpienie · 1 podstrona · Jak to sprawdzić
Elementy do sprawdzenia (pokazane: 1)
h1 <h1>Gear for the long way home</h1>
Sprawdź poprawki ponownym testem
Gdy Twój programista wprowadzi zmiany, uruchom ponowny test. Ponownie wykonujemy te same testy automatyczne na tych samych podstronach, test klawiatury i test ścieżki klawiaturą, a następnie pokazujemy, których problemów nie da się już odtworzyć. W cenie jest 5 ponownych testów.
Ponowne testy są dostępne w płatnych raportach.
Testy ręczne
Narzędzia automatyczne nie mogą tego ocenić. Wykonaj te testy, zanim uznasz pracę za zakończoną.
- Przejdź cały proces zakupu wyłącznie z klawiatury: nasz automatyczny test zatrzymuje się przy przycisku przejścia do kasy i nigdy nie wchodzi do kasy.
- Powtórz to z czytnikiem ekranu (VoiceOver na Macu: Cmd+F5; NVDA w Windows) i potwierdź, że ceny, warianty i błędy są odczytywane.
- Powiększ widok przeglądarki do 200% i potwierdź, że nic się nie nakłada ani nie znika.
- Sprawdź, czy filmy o produktach i marce mają dokładne napisy.
- Wyślij formularze z błędami (newsletter, kontakt, kasa) i potwierdź, że błędy są opisane tekstem.
- Sprawdź, czy karuzele i pop-upy można wstrzymać lub zamknąć, także klawiszem Escape.
Projekt deklaracji dostępności
Uzupełnij fragmenty w nawiasach kwadratowych i opublikuj tekst na podstronie, do której prowadzi link w stopce.
Deklaracja dostępności strony harborandpine.example Chcemy, aby każdy mógł robić zakupy w sklepie harborandpine.example, w tym osoby korzystające z czytników ekranu, nawigacji klawiaturą, powiększenia lub innych technologii wspomagających. Dążymy do spełnienia Wytycznych dotyczących dostępności treści internetowych (WCAG) 2.2 na poziomie AA. Co robimy - Testujemy nasz sklep za pomocą automatycznych narzędzi do badania dostępności i naprawiamy wykryte przez nie problemy. - Kluczowe etapy zakupów (przeglądanie, strony produktów, koszyk i kasę) testujemy za pomocą klawiatury i czytnika ekranu. - Przed dodaniem aplikacji i widżetów zewnętrznych sprawdzamy ich dostępność. Znane ograniczenia (stan na 24 września 2026) - Dostęp z klawiatury i fokus (WCAG 2.1.1). Planujemy to naprawić do 2026-10-08. - Linki i przyciski bez nazw (WCAG 2.4.4, 4.1.2). Planujemy to naprawić do 2026-10-08. - Obrazy bez tekstu alternatywnego (WCAG 1.1.1). Planujemy to naprawić do 2026-10-08. - Pola formularzy bez etykiet (WCAG 4.1.2). Planujemy to naprawić do 2026-10-08. - Niski kontrast kolorów (WCAG 1.4.3). Planujemy to naprawić do 2026-10-08. Informacje zwrotne i pomoc Jeśli masz trudności z korzystaniem z jakiejkolwiek części naszego sklepu, skontaktuj się z nami: [Twój adres e-mail] lub [Twój numer telefonu]. Podaj stronę i opisz problem, a pomożemy Ci dokończyć zakup i odpowiemy w ciągu 5 dni roboczych. Tę deklarację przygotowano 24 września 2026; będzie weryfikowana co najmniej raz w roku.
Dziennik dowodów
Każda podstrona została wczytana w Chromium i przetestowana przez axe-core 4.13.0. Skrót SHA-256 identyfikuje surowe wyniki każdej podstrony.
| Podstrona | Przetestowano (UTC) | HTTP | Problemy | SHA-256 |
|---|---|---|---|---|
| Strona głównahttps://harborandpine.example/ | 2026-09-24 14:05:00 | 200 | 15 | da1e5470a57859a864332912dd1e4f62b4c4f64487ba144865b74879519599a3 |
| Strona kolekcjihttps://harborandpine.example/collections/all | 2026-09-24 14:05:09 | 200 | 20 | 28d8dfcf5ca953af353264a930a351bea3cf23f98a303874b32e5da355a4c8b0 |
| Strona produktuhttps://harborandpine.example/products/trail-daypack | 2026-09-24 14:05:18 | 200 | 20 | 68a173ddfd16eeeef5e36d6c0fa9d426769f0d96e358c5e35b67608dd84139b4 |
| Koszykhttps://harborandpine.example/cart | 2026-09-24 14:05:27 | 200 | 12 | 5b7945c2cdf779dcef2bd8975d96eb8f42d8dedbf10e767ec80199dd22ce257c |
| Strona z treściąhttps://harborandpine.example/pages/about | 2026-09-24 14:05:36 | 200 | 9 | daf61ae856358a574e63f9357db0bfd9ae6079065acf3aebd5b3c5a7f460e53f |
| Dodatkowa podstronahttps://harborandpine.example/products/pine-wool-beanie | 2026-09-24 14:08:00 | 200 | 20 | f708ccd7de34dfb65d59d3716580b6ec15a6420020c8387fa4da4e2ff5bd52d3 |
| Dodatkowa podstronahttps://harborandpine.example/products/enamel-camp-mug | 2026-09-24 14:08:07 | 200 | 19 | c619bcd29e89d06099d174b9fc19305a42f2fa9bdddb600a750c867fc7477022 |
| Dodatkowa podstronahttps://harborandpine.example/products/harbor-lantern | 2026-09-24 14:08:14 | 200 | 20 | 5720b7433b75050ba413ac74c2bd726b0620aaa68f7918083052383257d5c418 |
| Dodatkowa podstronahttps://harborandpine.example/products/insulated-bottle | 2026-09-24 14:08:21 | 200 | 19 | 6f1972c22e477c9a63e2dfde1123ed759718f6a75e1606b23f208848691510fd |
Zakres i metoda
Co przetestowaliśmy
- 9 podstron (strona główna, strona kolekcji, strona produktu, koszyk, strona z treścią, dodatkowa podstrona) wczytanych w Chromium w rozdzielczości 1366×900.
- Reguły axe-core 4.13.0 dla WCAG 2.0, 2.1 i 2.2 na poziomach A i AA oraz reguły dobrych praktyk (oznaczone jako P3).
- Test klawiatury: 40 naciśnięć klawisza Tab na stronie głównej w poszukiwaniu pułapek i brakujących wskaźników fokusu.
- Ścieżka zakupowa wyłącznie z klawiatury od strony głównej do przycisku przejścia do kasy (patrz wyżej).
- Test reflow przy szerokości 320 pikseli CSS, sprawdzone podstrony: strona główna i strona produktu (WCAG 1.4.10).
Czego nie testowaliśmy
- Strony kasy i płatności, wysyłanie formularzy, strony konta i podstrony dostępne po zalogowaniu.
- To, co faktycznie odczytuje czytnik ekranu, poza zakresem reguł automatycznych.
- Napisy do filmów i audiodeskrypcja, dokumenty PDF oraz treści w ramkach osadzonych przez podmioty zewnętrzne.
- Prosty język, dostępność poznawcza i wszystko inne, co wymaga oceny człowieka (patrz Testy ręczne).
Jak czytać wyniki
- Potwierdzony błąd
- Test automatyczny lub test ścieżki klawiaturą wykazał błąd; dowody są pokazane.
- Do sprawdzenia
- Test oznaczył coś, czego nie mógł rozstrzygnąć; powinien to sprawdzić człowiek.
- Zaliczone
- Reguła automatyczna nie znalazła błędów na przetestowanych podstronach.
- Nie przetestowano
- Poza zakresem tego, co mogą tu objąć testy automatyczne; patrz Testy ręczne.
Zamów ten raport dla swojej strony.
Zacznij od darmowego skanu, aby zobaczyć problemy na swojej stronie i to, jak mają się do zarzutów z Twojego pisma. Raport naprawy dostępności kosztuje $249 jednorazowo i jest gotowy w około 10 minut.
Przeskanuj stronę za darmoTen raport opisuje wyniki testów automatycznych i zawiera wskazówki naprawcze. Nie stanowi porady prawnej i nie poświadcza zgodności z ADA, Europejskim Aktem o Dostępności ani żadnymi innymi przepisami.

