Kryteria RGAA 4.0

Jak korzystać z RGAA

To repozytorium odnosi się do każdej treści HTML (HTML4, XHTML1 i HTML5). W niektórych testach wykorzystuje podstawowe środowisko testowe uwzględniające zestaw technologii wspomagających, przeglądarek i systemów operacyjnych, w którym powinna być sprawdzona w szczególności dostępność komponentów interfejsu zaprogramowanych w JavaScript. Szczegółowy opis podstawowego środowiska testowego znajduje się w sekcji Środowisko testowe.

Ważna uwaga dotycząca wszelkich treści wcześniejszych niż specyfikacja HTML5

Jeśli kod HTML strony nie jest kodem HTML5, elementy HTML5 (znaczniki i atrybuty) wymagane przez kryterium lub test nie mają zastosowania. Wszystkie inne kryteria lub testy mają nadal zastosowanie, w tym również właściwości ARIA. Poniższe kryteria i testy nie mają zastosowania:

Metoda walidacji

Dla każdego kryterium zgodność jest zdefiniowana w następujący sposób:

  • Zgodny (Z): wszystkie obowiązkowe testy zostały zaliczone (zakończone sukcesem);
  • Niezgodny (NZ): co najmniej jeden z wymaganych testów nie powiódł się (nie został zaliczony);
  • Nie dotyczy (ND): nie ma treści, której dotyczy kryterium.

Oprócz trzech powyższych stanów walidacji, RGAA proponuje dwa statusy dodatkowe:

  • Odstępstwo (O): istnieją treści, wobec których testowane kryterium nie ma zastosowania;
  • Nietestowane (NT): kryterium nie było testowane.

Odnośnie tego tematu można zapoznać się z przewodnikiem w języku francuskim: Jak sprawdza się zgodność z RGAA?

1. Obrazy

Zalecenie

Nadaj każdemu obrazowi niosącemu informację adekwatną alternatywę tekstową i, jeśli to konieczne, szczegółowy opis. Powiąż legendy z ich obrazami. Zastąp obrazy tekstu tekstem sformatowanym, jeśli to możliwe.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 1.1 [A] Czy każdy obraz niosący informacje ma alternatywę tekstową?

Kryterium 1.2 [A] Czy każdy obraz dekoracyjny jest prawidłowo ignorowany przez technologie wspomagające?

  • Test 1.2.1: Czy każdy obraz dekoracyjny (znacznik img) bez legendy spełnia jeden z tych warunków?
    • Znacznik <img> ma pusty atrybut alt (alt="") oraz nie posiada żadnego innego atrybutu pozwalającego na podanie alternatywy tekstowej.
    • Znacznik <img> ma atrybut aria-hidden="true" lub atrybut role="presentation".
  • Test 1.2.2: Czy każdy dekoracyjny obszar nieklikalny na mapie odsyłaczy (znacznik area bez atrybutu href) spełnia jeden z tych warunków?
    • Znacznik area ma pusty atrybut alt (alt="") oraz nie ma żadnego innego atrybutu pozwalającego na podanie alternatywy tekstowej.
    • Znacznik area ma atrybut aria-hidden="true" lub atrybut role="presentation".
  • Test 1.2.3: Czy każdy dekoracyjny obraz z obiektu (znacznik object z atrybutem type="image") bez legendy spełnia jeden z tych warunków?
  • Test 1.2.4: Czy każdy dekoracyjny obraz wektorowy (znacznik svg) bez legendy spełnia jeden z tych warunków?
    • Znacznik svg posiada atrybut aria-hidden="true".
    • Znacznik svg ani jego znaczniki potomne nie mają alternatywy tekstowej.
    • Nie ma znaczników title i desc lub są puste.
    • Znacznik svg ani jego znaczniki potomne nie mają atrybutu title.
  • Test 1.2.5: Czy każdy dekoracyjny obraz na kanwie (znacznik canvas) bez legendy spełnia jeden z tych warunków?
  • Test 1.2.6: Czy każdy dekoracyjny obraz wbudowany (znacznik embed z atrybutem type="image") bez legendy spełnia jeden z tych warunków?
    • Znacznik embed ma atrybutaria-hidden="true".
    • Znacznik embed ani jego znaczniki potomne nie mają alternatywy tekstowej.

Kryterium 1.3 [A] Czy dla każdego obrazu niosącego informację, który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?

  • Test 1.3.1: Czy dla każdego obrazu niosącego informację, który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.3.2: Czy dla każdego obszaru mapy odsyłaczy (znacznik area) niosącego informację, który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.3.3: Czy dla każdego przycisku graficznego (znacznik input z atrybutem type="image"), który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.3.4: każdego obrazu z obiektu (znacznik object z atrybutem type="image"), który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.
  • Test 1.3.5: Czy dla każdego obrazu wbudowanego (znacznik embed z atrybutem type="image") niosącego informację, który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.
  • Test 1.3.6: Czy dla każdego obrazu wektorowego (znacznik svg niosącego informację, który ma alternatywę tekstową, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.3.7: Czy dla każdego obrazu na kanwie (znacznik canvas) niosącego informację, który ma alternatywę tekstową lub treść alternatywną, alternatywa ta jest odpowiednia (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.
  • Test 1.3.8: Czy dla każdego obrazu na na kanwie (znacznik canvas) niosącego informację, który ma treść alternatywną między <canvas> i </canvas>, ta treść alternatywna jest poprawnie odwzorowana przez technologie wspomagające?
  • Test 1.3.9: Czy dla każdego obrazu niosącego informację, który ma alternatywę tekstową, ta alternatywa jest krótka i zwięzła (z wyjątkiem przypadków szczególnych)?

Kryterium 1.4 [A] Czy dla każdego obrazu użytego jako CAPTCHA lub jako obraz testowy, który ma alternatywę tekstową, alternatywa ta określa charakter i funkcję obrazu?

  • Test 1.4.1: Czy dla każdego obrazu (znacznik img) użytego jako CAPTCHA lub obraz testowy, który ma alternatywę tekstową, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.4.2: Czy dla każdego obszaru (znacznik area) mapy odsyłaczy użytej jako CAPTCHA lub jako obraz testowy, który ma alternatywę tekstową, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.4.3: Czy dla każdego przycisku graficznego (znacznik (znacznik input) z atrybutem type="image") użytego jako CAPTCHA lub obraz testowy, który ma alternatywę tekstową, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu alt jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.4.4: Czy dla każdego obrazu z obiektu (znacznik object z atrybutem type="image") użytego jako CAPTCHA lub obraz testowy, który ma alternatywę tekstową lub treść alternatywną, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.
  • Test 1.4.5: Czy dla każdego obrazu wbudowanego (znacznik embed z atrybutem type="image") użytego jako CAPTCHA lub jako obraz testowy, który ma alternatywę tekstową lub treść alternatywną, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.
  • Test 1.4.6: Czy dla każdego obrazu wektorowego (znacznik svg) użytego jako CAPTCHA lub jako obraz testowy, który ma alternatywę tekstową, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
  • Test 1.4.7: Czy dla każdego obrazu na kanwie (znacznik canvas) użytego jako CAPTCHA lub jako obraz testowy, który ma alternatywę tekstową lub treść alternatywną, alternatywa ta jest odpowiednia?
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść fragmentu tekstu powiązanego za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść alternatywna jest adekwatna.

Kryterium 1.5 [A] Czy dla każdego obrazu użytego jako CAPTCHA istnieje alternatywne rozwiązanie dostępu do treści lub do funkcji CAPTCHA?

  • Test 1.5.1: Czy każdy obraz (znaczniki img, area, object, embed, svg canvas) użyty jako CAPTCHA spełnia jeden z tych warunków?
    • Istnieje co najmniej jedna inna niegraficzna forma CAPTCHA.
    • Istnieje inne rozwiązanie dostępu do funkcji chronionej przez CAPTCHA.
  • Test 1.5.2: Czy każdy przycisk graficzny (znacznik input z atrybutem type="image") użyty jako CAPTCHA spełnia jeden z tych warunków?
    • Istnieje co najmniej jedna inna niegraficzna forma CAPTCHA.
    • Istnieje inne rozwiązanie dostępu do funkcji chronionej przez CAPTCHA.

Kryterium 1.6 [A] Czy każdy obraz niosący informację ma opis szczegółowy, jeśli to konieczne?

Kryterium 1.7 [A] Czy dla każdego obrazu niosącego informację, który ma opis szczegółowy, opis ten jest odpowiedni?

  • Test 1.7.1: Czy każdy obraz (znacznik img) niosący informację, który ma opis szczegółowy, spełnia te warunki?
    • Opis szczegółowy przy pomocy adresu znajdującego się w atrybucie longdesc jest adekwatny.
    • Opis szczegółowy na stronie i podany w atrybucie alt jest adekwatny.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.
  • Test 1.7.2: Czy każdy przycisk graficzny (znacznik input z atrybutem type="image") niosący informację, który ma opis szczegółowy, spełnia jeden z tych warunków?
    • Opis szczegółowy na stronie i podany w tekście alternatywnym jest adekwatny.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.
  • Test 1.7.3: Czy każdy obraz z obiektu (znacznik object z atrybutem type="image") niosący informację, który ma opis szczegółowy, spełnia te warunki?
    • Opis szczegółowy na stronie i podany w tekście alternatywnym jest adekwatny.
    • Opis szczegółowy w sąsiedztwie obrazu z obiektu jest odpowiedni.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.
  • Test 1.7.4: Czy każdy obraz wbudowany (znacznik embed z atrybutem type="image") niosący informację, który ma opis szczegółowy, spełnia te warunki?
    • Opis szczegółowy na stronie i podany w tekście alternatywnym jest adekwatny.
    • Opis szczegółowy w sąsiedztwie obrazu z obiektu jest odpowiedni.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.
  • Test 1.7.5: Czy każdy obraz wektorowy (znacznik svg) niosący informację, który ma opis szczegółowy, spełnia te warunki?
    • Opis szczegółowy na stronie i podany w tekście alternatywnym jest adekwatny.
    • Opis szczegółowy na stronie i podany w tekście znacznika desc lub atrybutu title jest adekwatny
    • Opis szczegółowy na stronie podany w tekście znacznika desc jest adekwatny
    • Opis szczegółowy w sąsiedztwie obrazu wektorowego jest odpowiedni.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.
  • Test 1.7.6: Czy każda obraz na kanwie (znacznik canvas) niosący informację, który ma opis szczegółowy, spełnia te warunki?
    • Opis szczegółowy na stronie i podany w tekście alternatywnym jest adekwatny.
    • Opis szczegółowy na stronie i podany w tekście miedzy <canvas> i </canvas> jest adekwatny
    • Opis szczegółowy na stronie podany w tekście miedzy <canvas> i </canvas> jest adekwatny
    • Opis szczegółowy w sąsiedztwie obrazu na kanwie jest adekwatny.
    • Opis szczegółowy udostępniony przy pomocy łącza lub przycisku przyległego jest adekwatny.
    • Skojarzony za pomocą atrybutu aria-describedby fragment tekstu służący jako opis szczegółowy jest adekwatny.

Kryterium 1.8 [AA] Każdy obraz tekstu niosący informację, w razie braku mechanizmu zastępowania, powinien być, o ile to możliwe, zastąpiony tekstem formatowanym. Czy ta zasada jest przestrzegana (z wyjątkiem przypadków szczególnych)?

Kryterium 1.9 [A] Czy każda legenda obrazu jest, jeśli to konieczne, poprawnie powiązana z odpowiadającym obrazem?

  • Test 1.9.1: Czy każdy obraz (znacznik img lub input z atrybutem type="image") opatrzony legendą spełnia, jeśli to konieczne, te warunki?
    • Obraz (znacznik img, znacznik input z atrybutem type="image", element z atrybutem role="img") i jego legenda są zawarte w znaczniku figure
    • Znacznik figure posiada atrybut role="figure" lub role="group".
    • Znacznik figure posiada atrybut role="aria-label", którego treść jest identyczna z treścią legendy.
    • Legenda jest zawarta w znaczniku figcaption.
  • Test 1.9.2: Czy każdy opatrzony legendą obraz z obiektu (znacznik object z atrybutem type="image") spełnia, jeśli to konieczne, te warunki?
    • Obraz z obiektu (znacznik object i jego legenda są zawarte w znaczniku figure
    • Znacznik figure posiada atrybut role="figure" lub role="group".
    • Znacznik figure posiada atrybut role="aria-label", którego treść jest identyczna z treścią legendy.
    • Legenda jest zawarta w znaczniku figcaption.
  • Test 1.9.3: Czy każdy opatrzony legendą obraz wbudowany (znacznik embed) z alternatywą tekstową spełnia, jeśli to konieczne, te warunki?
    • Obraz wbudowany (znacznik embed) i jego legenda są zawarte w znaczniku figure.
    • Znacznik figure posiada atrybut role="figure" lub role="group".
    • Znacznik figure posiada atrybut role="aria-label", którego treść jest identyczna z treścią legendy.
    • Legenda jest zawarta w znaczniku figcaption.
  • Test 1.9.4: Czy każdy opatrzony legendą obraz wektorowy (znacznik svg) spełnia, jeśli to konieczne, te warunki?
    • Obraz wektorowy (znacznik svg) i jego legenda są zawarte w znaczniku figure.
    • Znacznik figure posiada atrybut role="figure" lub role="group".
    • Znacznik figure posiada atrybut role="aria-label", którego treść jest identyczna z treścią legendy.
    • Legenda jest zawarta w znaczniku figcaption.
  • Test 1.9.5: Czy każdy opatrzony legendą obraz na kanwie (znacznik canvas) spełnia, jeśli to konieczne, te warunki?
    • Obraz na kanwie (znacznik canvas) i jego legenda są zawarte w znaczniku figure.
    • Znacznik figure posiada atrybut role="figure" lub role="group".
    • Znacznik figure posiada atrybut role="aria-label", którego treść jest identyczna z treścią legendy.
    • Legenda jest zawarta w znaczniku figcaption.

2. Ramki

Zalecenie

Nadaj każdej ramce adekwatny tytuł.

Słowa kluczowe
  • Zasada WCAG: Solidność

Kryterium 2.1 [A] Czy każda ramka ma tytuł ramki?

  • Test 2.1.1: Czy każda ramka (znacznik iframe lub frame) ma atrybut title?

Kryterium 2.2 [A] Czy dla każdej ramki , która ma tytuł ramki, ten tytuł jest odpowiedni?

  • Test 2.2.1 : Czy dla każdej ramki (znacznik iframe lub frame), która ma atrybut title, treść tego atrybutu jest adekwatna?

3. Kolory

Zalecenie

Nie przekazuj informacji wyłącznie kolorem i używaj wysokich kontrastów kolorów.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 3.1 [A] Na żadnej stronie internetowej informacje nie mogą być podawane wyłącznie kolorem. Czy ta zasada jest przestrzegana?

  • Test 3.1.1: W żadnym przypadku wyróżnienia kolorem słowa lub zestawu słów, w których kolor jest nośnikiem informacji, informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?
  • Test 3.1.2: W żadnym przypadku odwołania się do koloru w tekście informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?
  • Test 3.1.3: W przypadku żadnego obrazu niosącego informację kolorem informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?
  • Test 3.1.4: Dla żadnej właściwości CSS określającej kolor i niosącej informację informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?
  • Test 3.1.5: Dla żadnych mediów opartych na czasie niosących informację informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?
  • Test 3.1.6: Dla żadnych mediów nieopartych na czasie niosących informację informacja nie może być przekazana wyłącznie kolorem. Czy ta zasada jest przestrzegana?

Kryterium 3.2 [AA] Czy na każdej stronie internetowej kontrast między kolorem tekstu a kolorem tła jest wystarczająco wysoki (z wyjątkiem przypadków szczególnych)?

  • Test 3.2.1: Czy na każdej stronie internetowej niepogrubione teksty i obrazy niepogrubionego tekstu o rozmiarach czcionki mniejszych niż 24px spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Współczynnik kontrastu między tekstem i jego tłem wynosi co najmniej 4,5:1.
    • Mechanizm pozwala użytkownikowi wyświetlić tekst o współczynniku kontrastu co najmniej 4.5:1.
  • Test 3.2.2: Czy na każdej stronie internetowej niepogrubione teksty i obrazy niepogrubionego tekstu o rozmiarach czcionki mniejszych niż 18,5px spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Współczynnik kontrastu między tekstem i jego tłem wynosi co najmniej 4,5:1.
    • Mechanizm pozwala użytkownikowi wyświetlić tekst o współczynniku kontrastu co najmniej 4.5:1.
  • Test 3.2.3: Czy na każdej stronie internetowej niepogrubione teksty i obrazy niepogrubionego tekstu o rozmiarach czcionki większych lub równych 24px spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Współczynnik kontrastu między tekstem i jego tłem wynosi co najmniej 3:1.
    • Mechanizm pozwala użytkownikowi wyświetlić tekst o współczynniku kontrastu co najmniej 3:1.
  • Test 3.2.4: Czy na każdej stronie internetowej niepogrubione teksty i obrazy niepogrubionego tekstu o rozmiarach czcionki większych lub równych 18,5px spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Współczynnik kontrastu między tekstem i jego tłem wynosi co najmniej 3:1.
    • Mechanizm pozwala użytkownikowi wyświetlić tekst o współczynniku kontrastu co najmniej 3:1.
  • Test 3.2.5: Czy każdy mechanizm zmiany kontrastów ma współczynnik kontrastu wystarczająco wysoki?

Kryterium 3.3 [AA] Czy na każdej stronie internetowej kolory użyte w elementach interfejsu lub elementach graficznych niosących informacje są wystarczająco kontrastowe (z wyjątkiem przypadków szczególnych)?

  • Test 3.3.1: Czy współczynnik kontrastu między kolorami elementów interfejsu w jego różnych stanach a przyległym kolorem tła spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)
  • Test 3.3.2: Czy współczynnik kontrastu różnych kolorów tworzących element graficzny, jeśli jest to konieczne do jego zrozumienia, oraz przyległy kolor tła spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)
  • Test 3.3.3 Czy na każdej stronie internetowej współczynnik kontrastu różnych sąsiadujących ze sobą kolorów elementu graficznego, gdy są one niezbędne do jego zrozumienia, spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
  • Test 3.3.4 : Czy w mechanizmie umożliwiającym wyświetlanie odpowiedniego współczynnika kontrastu kolory elementu interfejsu lub elementów graficznych niosących informacje, które go tworzą, są wystarczająco skontrastowane?

4. Multimedia

Zalecenie

Zapewnij, jeśli to konieczne, dla wszystkich mediów opartych na czasie równoważną transkrypcję, napisy dla niesłyszących oraz audiodeskrypcję. Wszystkim mediom statycznym zapewnij równoważną alternatywę tekstową. Zapewnij kontrolę przeglądania wszystkim mediów przy pomocy klawiatury oraz ich kompatybilność z technologiami wspomagającymi.

Słowa kluczowe
  • Zasada: Postrzegalność

Kryterium 4.1 [A] Czy nagrane media oparte na czasie mają, jeśli to konieczne, transkrypcję lub audiodeskrypcję (z wyjątkiem przypadków szczególnych)?

Kryterium 4.2 [A] Czy dla każdych nagranych mediów opartych na czasie, które mają transkrypcję lub audiodeskrypcję zsynchronizowaną, są one adekwatne (z wyjątkiem przypadków szczególnych)?

Kryterium 4.3 [A] Czy wszystkie nagrane media oparte na czasie mają, jeśli to konieczne, napisy zsynchronizowane (z wyjątkiem przypadków szczególnych)?

Kryterium 4.4 [A] Czy dla każdych nagranych mediów opartych na czasie, które mają napisy zsynchronizowane, napisy te są adekwatne?

Kryterium 4.5 [AA] Czy każde nagrane medium oparte na czasie ma, jeśli to konieczne, zsynchronizowaną audiodeskrypcję (z wyjątkiem przypadków szczególnych)?

Kryterium 4.6 [AA] Czy w przypadku wszystkich nagranych mediów opartych na czasie, które mają audiodeskrypcję zsynchronizowaną, jest ona adekwatna?

Kryterium 4.7 [A] Czy wszystkie media oparte na czasie są wyraźnie określone (z wyjątkiem przypadków szczególnych)?

  • Test 4.7.1: Czy w przypadku wszystkich mediów opartych na czasie (tylko dźwięk, tylko wideo lub zsynchronizowanych) sąsiednia treść tekstowa pomaga jasno zidentyfikować medium zmienne w czasie (z wyjątkiem przypadków szczególnych)?

Kryterium 4.8 [A] Czy wszystkie media nieoparte na czasie mają, jeśli to konieczne, alternatywę tekstową (z wyjątkiem przypadków szczególnych)?

  • Test 4.8.1: Czy każde medium nieoparte na czasie spełnia, jeśli to konieczne, jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Łącze przyległe, jasno identyfikowalne, zawiera adres (url) strony zawierającej alternatywę.
    • Łącze przyległe, jasno identyfikowalne, umożliwia dostęp do alternatywy na stronie.
  • Test 4.8.2: Czy każde medium nieoparte na czasie powiązane z alternatywą spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?

Kryterium 4.9 [A] Czy w przypadku wszystkich mediów nieopartych na czasie, które mają alternatywę, alternatywa ta jest adekwatna?

  • Test 4.9.1: Czy w przypadku wszystkich mediów nieopartych na czasie, które mają alternatywę, alternatywa ta umożliwia dostęp do tej samej treści i do podobnych funkcjonalności?

Kryterium 4.10 [A] Czy każdy dźwięk uruchomiony automatycznie jest kontrolowany przez użytkownika?

  • Test 4.10.1: Czy każda sekwencja dźwiękowa uruchamiana automatycznie przy pomocy znacznika object, video, audio, embed, bgsound lub kodu JavaScript spełnia jeden z tych warunków?
    • Czas trwania sekwencji dźwiękowej jest równy lub krótszy niż 3 sekundy.
    • Sekwencja dźwiękowa może być zatrzymana w wyniku akcji użytkownika.
    • Głośność sekwencji dźwiękowej może być kontrolowana przez użytkownika niezależnie od kontroli dźwięku systemu.

Kryterium 4.11 [A] Czy przeglądanie wszystkich mediów opartych na czasie jest, jeśli to konieczne, kontrolowane przy pomocy klawiatury i dowolnego urządzenia wskazującego?

Kryterium 4.12 [A] Czy przeglądanie wszystkich mediów nieopartych na czasie jest kontrolowane przy pomocy klawiatury i dowolnego urządzenia wskazującego?

Kryterium 4.13 [A] Czy każde medium oparte na czasienieoparte na czasie jest kompatybilne z technologiami wspomagajacymi (z wyjątkiem przypadków szczególnych)?

5. Tabele

Zalecenie

Nadaj każdej złożonej tabeli danych, odpowiednie podsumowanie i adekwatny tytuł, jasno określ komórki nagłówka, wykorzystaj odpowiedni mechanizm do powiązania komórek danych z komórkami nagłówka. W przypadku każdej tabeli układu, zwróć uwagę na prawidłową linearyzację.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 5.1 [A] Czy każda złożona tabela danych ma podsumowanie?

Kryterium 5.2 [A] Czy dla każdej złożonej tabeli danych, która ma podsumowanie, jest ono adekwatne?

Kryterium 5.3 [A] Czy dla każdej tabeli układu treść zlinearyzowana pozostaje zrozumiała (z wyjątkiem przypadków szczególnych)?

  • Test 5.3.1: Czy każda tabela układu spełnia warunki (z wyjątkiem przypadków szczególnych)?
    • Treść zlinearyzowana pozostaje zrozumiała.
    • Znacznik table ma atrybut role="presentation".

Kryterium 5.4 [A] Czy dla każdej tabeli danych, która ma tytuł, tytuł jest poprawnie powiązany z tabelą?

  • Test 5.4.1: Czy dla każdej tabeli danych, która ma tytuł, tytuł jest poprawnie powiązany z tabelą?

Kryterium 5.5 [A] Czy dla każdej tabeli danych, która ma tytuł, tytuł jest adekwatny?

Kryterium 5.6 [A] Czy dla każdej tabeli danych, każdy nagłówek kolumn i każdy nagłówek wiersza są poprawnie zadeklarowane?

  • Test 5.6.1: Czy dla każdej tabeli danych każdy nagłówek kolumny zastosowany w całej kolumnie spełnia jeden z tych warunków?
    • Nagłówek kolumny ma znacznik th.
    • Nagłówek kolumny ma atrybut role="columnheader".
  • Test 5.6.2: Czy w przypadku każdej tabeli danych każdy nagłówek wiersza zastosowany w całym wierszu spełnia jeden z tych warunków?
    • Nagłówek kolumny ma znacznik th.
    • Nagłówek kolumny ma atrybut role="rowheader".
  • Test 5.6.3: Czy w przypadku każdej tabeli danych każdy nagłówek, który nie jest zastosowany do całego wiersza lub całej kolumny, ma znacznik th?

Kryterium 5.7 [A] Czy dla każdej tabeli danych używana jest odpowiednia technika umożliwiająca powiązanie każdej komórki danych z jej nagłówkami (z wyjątkiem przypadków szczególnych)?

  • Test 5.7.1: Czy każda treść nagłówka (znacznik th), który dotyczy całej kolumny lub całego wiersza spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Znacznik th ma unikalny atrybut id.
    • Znacznik th ma atrybut scope.
    • Znacznik th ma atrybut role="rowheader" lub role="columnheader".
  • Test 5.7.2: Czy każda treść nagłówka (znacznik th), który dotyczy całej kolumny lub całego wiersza i posiada atrybut scope, spełnia jeden z tych warunków?
    • Znacznik th posiada atrybut scope z wartością "row" dla nagłówków wierszy.
    • Znacznik th posiada atrybut scope z wartością "col" dla nagłówków kolumn.
  • Test 5.7.3: Czy każdy nagłówek (znacznik th) nie odnoszący się do wszystkich wierszy lub kolumn spełnia te warunki?
    • Znacznik th nie ma atrybutu scope.
    • Znacznik th nie ma atrybutu role="rowheader" ani role="columnheader".
    • Znacznik th ma unikalny atrybut id.
  • Test 5.7.4: Czy każda komórka (znacznik td lub th) powiązana z jednym lub wieloma nagłówkami posiadającymi atrybut id spełnia te warunki?
    • Komórka ma atrybut headers.
    • Atrybut headers ma listę wartości powiązanych z komórką za pomocą atrybutu id.
  • Test 5.7.5: Czy w przypadku każdego elementu z atrybutem role="rowheader" lub role="columnheader"), którego treść dotyczy całego wiersza lub kolumny, spełnia on jeden z tych warunków?
    • Element ma atrybut role="rowheader" dla nagłówków wierszy.
    • Element ma atrybut role="columnheader" dla nagłówków kolumn.

Kryterium 5.8 [A] Żadna tabela układu nie może używać elementów przeznaczonych dla tabel danych. Czy ta zasada jest przestrzegana?

  • Test 5.8.1: Czy każda tabela układu spełnia te warunki?
    • Tabela układu (znacznik table) nie posiada znaczników caption, th, thead, tfoot, colgroup lub elementów z atrybutami WAI-ARIA role="rowheader", role="columnheader".
    • Komórki tabeli układu (znacznik td) nie posiadają atrybutów scope, headers, axis.

6. Łącza

Zalecenie

Formułuj jasne teksty łączy, w tym informacje kontekstowe, i jak najrzadziej korzystaj z tytułów łączy.

Słowa kluczowe
  • Zasady WCAG: Postrzegalność, Funkcjonalność, Zrozumiałość.

Kryterium 6.1 [A] Czy każde łącze jest zrozumiałe (z wyjątkiem przypadków szczególnych)?

  • Test 6.1.1: Czy każde łącze tekstowe spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Sam tekst łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
    • Tekst łącza dodany do kontekstu łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
  • Test 6.1.2: Czy każde łącze graficzne spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Sam tekst łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
    • Tekst łącza dodany do kontekstu łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
  • Test 6.1.3: Czy każde łącze złożone spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Sam tekst łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
    • Tekst łącza dodany do kontekstu łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
  • Test 6.1.4: Czy każde łącze SVG (wektorowe) spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Sam tekst łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
    • Tekst łącza dodany do kontekstu łącza umożliwia zrozumienie jego funkcji i przeznaczenia.
  • Test 6.1.5: Czy w przypadku każdego łącza, które ma widoczny tytuł, dostępna nazwa łącza zawiera co najmniej treść widocznego tytułu (z wyjątkiem przypadków szczególnych)?

Kryterium 6.2 [A] Czy na każdej stronie internetowej każde łacze, z wyjątkiem kotwic ma tekst?

  • Test 6.2.1: Czy na każdej stronie, każde łącze z wyjątkiem kotwic, ma tekst między <a> oraz </a>?

7. Skrypty

Zalecenie

Zapewnij sterowanie wszystkimi komponentami opartymi na skryptach za pomocą klawiatury oraz dowolnego urządzenia wskazującego i zapewnij ich kompatybilność z technologiami wspomagającymi.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 7.1 [A] Czy każdy skrypt jest, jeśli to konieczne, kompatybilny z technologiami wspomagającymi?

  • Test 7.1.1: Czy każdy skrypt, który generuje lub kontroluje element interfejsu spełnia, jeśli to konieczne, jeden z tych warunków?
    • Nazwa, rola, wartość, parametry i zmiany statusu są dostępne dla technologii wspomagających przez API dostępności.
    • Na stronie znajduje się inny dostępny element interfejsu pozwalający uzyskać dostęp do takich samych funkcjonalności.
    • Dostępna alternatywa umożliwia dostęp do takich samych funkcjonalności.
  • Test 7.1.2: Czy każdy skrypt, który generuje lub kontroluje element interfejsu spełnia jeden z tych warunków?
    • Element interfejsu jest poprawnie odwzorowany przy pomocy technologii wspomagających użytkownika.
    • Dostępna alternatywa umożliwia dostęp do takich samych funkcjonalności.
  • Test 7.1.3: Czy każdy skrypt, który generuje lub kontroluje element interfejsu spełnia jeden z tych warunków?
    • Element posiada odpowiednią dostępną nazwę.
    • Dostępna nazwa komponentu zawiera przynajmniej widoczną etykietę.
    • Element posiada odpowiednią rolę.

Kryterium 7.2 [A] Czy dla każdego skryptu, który ma alternatywę, alternatywa ta jest adekwatna?

  • Test 7.2.1: Czy każdy skrypt rozpoczynający się znacznikiem script, który ma alternatywę, spełnia jeden z tych warunków?
    • Alternatywa między <noscript> i </noscript> umożliwia dostęp do podobnych treści i funkcjonalności.
    • Wyświetlona strona, gdy JavaScript jest wyłączony, umożliwia dostęp do podobnych treści i funkcjonalności.
    • Strona alternatywna umożliwia dostęp do podobnych treści i funkcjonalności.
    • Język skryptu po stronie serwera umożliwia dostęp do podobnych treści i funkcjonalności.
    • Alternatywa obecna na stronie umożliwia dostęp do podobnych treścii funkcjonalności.
  • Test 7.2.2: Czy każdy element nietekstowy uaktualniony przez skrypt (na stronie lub w ramce), który ma alternatywę, spełnia te warunki?
    • Alternatywa elementu nietekstowego jest uaktualniana.
    • Uaktualniona alternatywa jest adekwatna.

Kryterium 7.3 [A] Czy każdy skrypt może być kontrolowany za pomocą klawiatury i dowolnego urządzenia wskazującego (z wyjątkiem przypadków szczególnych)?

Kryterium 7.4 [A] Czy dla każdego skryptu inicjalizującego zmianę kontekstu, użytkownik jest o tym powiadamiany lub ma kontrolę?

  • Test 7.4.1: Czy każdy skrypt, który inicjalizuje zmianę kontekstu, spełnia jeden z tych warunków?
    • Użytkownik jest powiadamiany tekstem o działaniu skryptu i rodzaju zmiany przed jego uruchomieniem.
    • Zmiana kontekstu jest inicjalizowana jednoznacznym przyciskiem (input typu ="submit", button lub image lub znacznikiem button).
    • Zmiana kontekstu jest inicjalizowana jednoznacznym linkiem.

Kryterium 7.5 [AA] Czy na każdej stronie internetowej komunikaty o staniepoprawnie odwzorowane przez technologie wspomagające

  • Test 7.5.1: Czy komunikat o stanie informujący o powodzeniu działania, wyniku lub stanie aplikacji korzysta z atrybutu role="status"?
  • Test 7.5.2: Czy każdy komunikat o stanie, który informuje o wystąpieniu błędu lub zawiera sugestię naprawy korzysta z atrybutu role="alert"?
  • Test 7.5.3: Czy każdy komunikat o stanie wskazujący postęp procesu wykorzystuje jeden z atrybutów role="log", role="progressbar" lub role="status"?

8. Elementy obowiązkowe

Zalecenie

Sprawdź, czy każda strona internetowa ma poprawny kod źródłowy zgodny z typem dokumentu, odpowiedni tytuł i wskazany domyślny język. Sprawdź, czy znaczniki nie są używane wyłącznie do celów prezentacji, czy wskazana jest każda zmiana języka i kierunku czytania.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 8.1 [A] Czy każda strona internetowa została określona przez typ dokumentu?

  • Test 8.1.1: Czy dla każdej strony internetowej określony jest typ dokumentu (znacznik doctype)?
  • Test 8.1.2: Czy dla każdej strony internetowej oznaczenie typu dokumentu (znacznik doctype) jest poprawne?
  • Test 8.1.3: Czy dla każdej strony internetowej, która posiada zadeklarowany typ dokumentu, deklaracja ta znajduje się w kodzie źródłowym przed znacznikiem html?

Kryterium 8.2 [A] Czy dla każdej strony internetowej kod źródłowy jest poprawny zależnie od określonego typu dokumentu (z wyjątkiem przypadków szczególnych)?

  • Test 8.2.1: Czy dla każdej deklaracji typu dokumentu, kod źródłowy strony spełnia te warunki (z wyjątkiem przypadków szczególnych)?
    • Znaczniki, atrybuty i wartości atrybutów spełniają zasady zapisu.
    • Zagnieżdżenie znaczników jest poprawne.
    • Otwarcia i zamknięcia znaczników są poprawne.
    • Wartości atrybutów id są unikalne.
    • Atrybuty nie są powtarzane w tym samym elemencie.

Kryterium 8.3 [A] Czy na każdej stronie internetowej jest określony domyślny język?

  • Test 8.3.1: Czy dla każdej strony internetowej wskazanie języka domyślnego spełnia jeden z tych warunków?
    • Wskazanie języka strony (atrybut lang lub xml:lang) jest podane dla elementu html.
    • Wskazanie języka strony (atrybut lang lub xml:lang) jest podane dla każdego elementu tekstowego lub dla każdego elementu nadrzędnego.

Kryterium 8.4 [A] Czy dla każdej strony internetowej, która ma domyślny język, kod języka jest adekwatny?

  • Test 8.4.1: Czy dla każdej strony internetowej, który ma język domyślny , kod języka w źródle strony spełnia te warunki?
    • Kod języka jest poprawny.
    • Kod języka jest adekwatny.

Kryterium 8.5 [A] Czy każda strona internetowa ma tytuł strony?

Kryterium 8.6 [A] Czy dla każdej strony internetowej, która ma tytuł strony, tytuł ten jest on adekwatny?

  • Test 8.6.1: Czy dla każdej strony internetowej, który ma tytuł strony (znacznik title), treść tego znacznika jest adekwatna?

Kryterium 8.7 [AA] Czy dla każdej strony internetowej każda zmiana języka jest wskazana w kodzie źródłowym (z wyjątkiem przypadków szczególnych)?

  • Test 8.7.1: Czy na każdej stronie internetowej każdy tekst napisany w innym języku niż język domyślny spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Wskazanie języka jest podane w elemencie zawierającym tekst (atrybut lang lub xml:lang).
    • Wskazanie języka jest podane w elementach nadrzędnych (atrybut lang lub xml:lang).

Kryterium 8.8 [AA] Czy dla każdej strony internetowej każda zmiana języka jest adekwatna?

  • Test 8.8.1: Czy na każdej stronie internetowej każda zmiana języka spełnia te warunki?
    • Kod języka jest poprawny.
    • Kod języka jest adekwatny.

Kryterium 8.9 [A] Na żadnej stronie internetowej znaczniki nie powinny być używane tylko do celów prezentacji. Czy ta zasada jest przestrzegana?

  • Test 8.9.1: Na żadnej stronie internetowej znaczniki (z wyjątkiem div, span i table) nie powinny być używane tylko do celów prezentacji. Czy ta zasada jest przestrzegana?

Kryterium 8.10 [A] Czy na każdej stronie internetowej sygnalizowana jest zmiana kierunku czytania?

  • Test 8.10.1: Czy na każdej stronie internetowej każdy tekst, którego kierunek czytania jest inny niż kierunek domyślny, jest zawarty w znaczniku posiadającym atrybut dir?
  • Test 8.10.2: Czy na każdej stronie internetowej każda zmiana kierunku czytania (atrybut dir) spełnia te warunki?
    • Wartość atrybutu dir jest zgodna (rtl lub ltr).
    • Wartość atrybutu dir jest adekwatna.

9. Struktura informacji

Zalecenie

Użyj nagłówków, punktów orientacyjnych, list, skrótów i cytatów, aby uporządkować informacje. Upewnij się, że struktura dokumentu jest spójna.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 9.1 [A] Czy na każdej stronie internetowej informacje mają strukturę określoną przez odpowiednie użycie nagłówków?

  • Test 9.1.1: Czy na każdej stronie internetowej hierarchia między nagłówkami (znacznik hx lub znacznik posiadający rolę ARIA role="heading" powiązany z właściwością aria-level) jest adekwatna?
  • Test 9.1.2: Czy na każdej stronie internetowej treść każdego nagłówka (znacznik hx lub znacznik posiadający rolę ARIA role="heading" powiązany z właściwością aria-level) jest adekwatna?
  • Test 9.1.3: Czy na każdej stronie internetowej każdy fragment tekstu stanowiący tytuł jest ustrukturyzowany za pomocą znacznika nagłówka (hx) lub znacznika posiadającego rolę ARIA role="heading" powiązanego z właściwością aria-level?

Kryterium 9.2 [A] Czy na każdej stronie internetowej struktura dokumentu jest spójna (z wyjątkiem przypadków szczególnych)?

Kryterium 9.3 [A] Czy na każdej stronie internetowej każda lista ma odpowiednią strukturę?

  • Test 9.3.1: Czy na każdej stronie internetowej informacje pogrupowane wizualnie w postaci listy nieuporządkowanej spełniają jeden z tych warunków?
    • Lista wykorzystuje znaczniki HTML ul i li.
    • Lista wykorzystuje role ARIA list i listitem.
  • Test 9.3.2: Czy na każdej stronie internetowej informacje pogrupowane wizualnie w postaci listy uporządkowanej spełniają jeden z tych warunków?
    • Lista wykorzystuje znaczniki HTML ol i li.
    • Lista wykorzystuje role ARIA list i listitem.
  • Test 9.3.3: Czy na każdej stronie internetowej informacje pogrupowane w postaci listy definicji wykorzystują znaczniki dl i dt/dd?

Kryterium 9.4 [A] Czy na każdej stronie internetowej każdy cytat jest poprawnie oznaczony?

  • Test 9.4.1: Czy na każdej stronie internetowej każdy krótki cytat używa znacznika q?
  • Test 9.4.2: Czy na każdej stronie internetowej każdy blok tekstu używa znacznika blockquote?

10. Prezentacja informacji

Zalecenie

Użyj arkuszy stylów, aby kontrolować prezentację informacji. Sprawdź wpływ powiększenia rozmiaru czcionki na czytelność. Upewnij się, że łącza są poprawnie identyfikowane, że fokus jest sygnalizowany, że interlinia jest wystarczająca i umożliwia użytkownikowi kontrolowanie justowania tekstu. Upewnij się, że teksty ukryte są poprawnie odwzorowane i że informacja nie jest podawana wyłącznie przez kształt lub położenie elementu.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 10.1 [A] Czy na witrynie internetowej arkusze stylów są używane do kontroli prezentacji informacji?

  • Test 10.1.1: Na żadnej stronie internetowej, znaczniki służące do prezentacji informacji nie powinny być obecne w kodzie źródłowym stron. Czy ta zasada jest przestrzegana?
  • Test 10.1.2: Na żadnej stronie internetowej, atrybuty służące do prezentacji informacji nie powinny być obecne w kodzie źródłowym stron. Czy ta zasada jest przestrzegana?
  • Test 10.1.3: Czy na każdej stronie internetowej użycie spacji spełnia te warunki?
    • Spacje nie są używane do oddzielania liter wyrazu.
    • Spacje nie są używane do symulacji tabel.
    • Spacje nie są używane do symulacji kolumn tekstu.

Kryterium 10.2 [A] Czy na każdej stronie internetowej widoczna treść jest obecna, gdy arkusze stylów są wyłączone?

Kryterium 10.3 [A] Czy na każdej stronie internetowej informacja pozostaje zrozumiała, gdy arkusze stylów są wyłączone?

Kryterium 10.4 [AA] Czy na każdej stronie internetowej tekst pozostaje czytelny, gdy rozmiar czcionki jest zwiększony co najmniej do 200%? (z wyjątkiem przypadków szczególnych)

  • Test 10.4.1: Na arkuszach stylów witryny internetowej jednostki bezwzględne (pt, pc, mm, cm, in) nie powinny być używane dla typów multimediów screen, tv, handheld, projection. Czy ta zasada jest przestrzegana (z wyjątkiem przypadków szczególnych?
  • Test 10.4.2: Na żadnej stronie internetowej, zwiększenie rozmiaru czcionki co najmniej do 200% nie powinno powodować utraty informacji. Czy zasada ta jest przestrzegana zgodnie z jednym z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Podczas korzystania z funkcji powiększania tekstu w przeglądarce..
    • Podczas korzystania z funkcji powiększania grafiki w przeglądarce.
    • Podczas używania komponentu interfejsu specyficznego dla witryny w celu powiększenia tekstu lub powiększenia.
  • Test 10.4.3: Na każdej stronie internetowej musi być możliwe zwiększenie rozmiaru znaków do co najmniej 200% dla całego tekstu na stronie. Czy zasada ta jest przestrzegana zgodnie z jednym z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Podczas korzystania z funkcji powiększania tekstu w przeglądarce..
    • Podczas korzystania z funkcji powiększania grafiki w przeglądarce.
    • Podczas używania komponentu interfejsu specyficznego dla witryny w celu powiększenia tekstu lub powiększenia.

Kryterium 10.5 [AA] Czy na każdej stronie internetowej deklaracje CSS kolorów tła elementu i fontu są poprawnie używane?

  • Test 10.5.1: Czy na każdej stronie internetowej każdej deklaracji CSS koloru fontu (color) elementu mogącego zawierać tekst, towarzyszy deklaracja koloru tła (background, background-color), odziedziczona co najmniej po elemencie nadrzędnym?
  • Test 10.5.2: Czy na każdej stronie internetowej każdej deklaracji koloru tła (background, background-color) elementu mogącego zawierać tekst towarzyszy deklaracja koloru fontu (color) odziedziczona co najmniej po elemencie nadrzędnym?
  • Test 10.5.3: Czy na każdej stronie internetowej każdemu użyciu obrazu dla utworzenia tła elementu mogącego zawierać tekst, przy pomocy CSS (background) towarzyszy deklaracja koloru tła (background, background-color), odziedziczona co najmniej po elemencie nadrzędnym?

Kryterium 10.6 [A] Czy na każdej stronie internetowej łącze tekstowe, którego charakter nie jest oczywisty, jest widoczne na tle otaczającego tekstu?

  • Test 10.6.1: Czy na każdej stronie internetowej każde łącze tekstowe oznaczone tylko kolorem, a którego charakter nie jest oczywisty, spełnia te warunki?
    • Kolor łącza przy współczynniku kontrastu większym lub równym 3: 1 w porównaniu do otaczającego tekstu.
    • Łącze ma wizualne wyróżnienie po najechaniu myszką inne niż zmiana koloru.
    • Łącze ma wizualne wyróżnienie że fokusa inne niż zmiana koloru.

Kryterium 10.7 [A] Czy na każdej stronie internetowej dla każdego elementu oznaczanego fokusem oznaczenie fokusem jest widoczne?

  • Test 10.7.1: Dla każdego elementu oznaczanego fokusem jeden z tych warunków jest spełniony?
    • Rodzimy styl fokusa przeglądarki nie jest usuwany ani degradowany.
    • Styl fokusa zdefiniowany przez autora jest widoczny.

Kryterium 10.8 [A] Czy dla każdej strony internetowej wszystkie treści ukryte są ignorowane przez technologie wspomagające?

  • Test 10.8.1: Czy na każdej stronie internetowej każda treść ukryta spełnia jeden z tych warunków?
    • Ukryta treść nie jest przeznaczona do odwzorowania przez technologie wspomagające.
    • Ukryta treść może być odwzorowania przez technologie wspomagające po działaniu użytkownika na klawiaturze lub dowolnym urządzeniu wskazującym.

Kryterium 10.9 [A] Na żadnej stronie internetowej informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada jest przestrzegana?

Kryterium 10.10 [A] Na żadnej stronie internetowej informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada została zaimplementowana w adekwatny sposób?

  • Test 10.10.1: Na żadnej stronie internetowej, dla żadnego tekstu lub grupy tekstów, informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada została zaimplementowana w adekwatny sposób?
  • Test 10.10.2: Na żadnej stronie internetowej, dla żadnego obrazu lub grupy obrazów, informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada została zaimplementowana w adekwatny sposób?
  • Test 10.10.3: Na żadnej stronie internetowej, dla żadnych mediów opartych na czasie, informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada została zaimplementowana w adekwatny sposób?
  • Test 10.10.4: Na żadnej stronie internetowej, dla żadnych mediów nieopartych na czasie, informacja nie powinna być podawana wyłącznie przez kształt, rozmiar lub położenie. Czy ta zasada została zaimplementowana w adekwatny sposób?

Kryterium 10.11 [AA] Czy dla każdej strony internetowej treść może być prezentowana bez konieczności przewijania w pionie i poziomie w przypadku okien o wysokości 256 pikseli lub szerokości 320 pikseli (z wyjątkiem przypadków szczególnych)?

  • Test 10.11.1: Czy dla każdej strony internetowej, gdy treść, której kierunek czytania jest poziomy, jest wyświetlana w oknie zmniejszonym do szerokości 320 pikseli, wszystkie informacje i funkcje są dostępne bez przewijania w poziomie (z wyjątkiem przypadków szczególnych)?
  • Test 10.11.2: Czy dla każdej strony internetowej, gdy treść, której kierunek czytania jest pionowy, umieszcza się w oknie zmniejszonym do wysokości 256 pikseli, wszystkie informacje i funkcje są dostępne bez przewijania w pionie (z wyjątkiem przypadków szczególnych)?

Kryterium 10.12 [AA] Czy na każdej stronie internetowej użytkownik może na nowo określać właściwości dotyczące odstępów w tekście bez utraty treści lub funkcjonalności (z wyjątkiem przypadków szczególnych)?

  • Test 10.12.1: Czy na każdej stronie internetowej tekst pozostaje czytelny, gdy wyświetlacz jest modyfikowany zgodnie z warunkami poniżej (z wyjątkiem przypadków szczególnych)?
    • Odstępy między wierszami (line-height) są co najmniej 1,5 razy większe niż rozmiar czcionki.
    • Odstęp między dwoma akapitami (tekstem w znacznikach p) jest co najmniej 2 razy większy niż rozmiar czcionki.
    • Odstępy między literami (letter-spacing) są co najmniej 0,12 razy większe niż rozmiar czcionki.
    • Odstępy między wyrazami (word-spacing) są co najmniej 0,16 razy większe niż rozmiar tekstu.

Kryterium 10.13 [AA] Czy na każdej stronie internetowej dodatkowa treść pojawiaj się po przeniesieniu fokusa klawiatury lub najechaniu kursorem na element interfejsu kontrolowany przez użytkownika (z wyjątkiem przypadków szczególnych)?

  • Test 10.13.1: Czy każda dodatkowa treść, pojawiająca się po przeniesieniu fokusa klawiatury lub najechaniu kursorem na element interfejsu, może zostać ukryta przez akcję użytkownika bez przenoszenia fokusa lub kursora myszy (z wyjątkiem przypadków szczególnych)?
  • Test 10.13.2: Czy każda dodatkowa treść pojawiająca się po najechaniu kursorem na element interfejsu może zostać najechana kursorem myszy bez znikania (z wyjątkiem przypadków szczególnych)?
  • Test 10.13.3: Czy każda dodatkowa treść, pojawiająca się po przeniesieniu fokusa klawiatury lub najechaniu kursorem na element interfejsu spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Dodatkowa treść pozostaje widoczna, dopóki użytkownik nie usunie wskaźnika myszy ani fokusa klawiatury z dodatkowej treści i komponentu interfejsu, który wywołał jej pojawienie się.
    • Dodatkowa treść pozostaje widoczna, nie wykona akcji ukrywającej tę treść bez przesuwania fokusa lub wskaźnika myszy poza komponent interfejsu który wywołał jej pojawienie się.
    • Dodatkowa treść pozostaje widoczna, dopóki nie zostanie wyłączona.

Kryterium 10.14 [A] Czy na każdej stronie internetowej dodatkowe treści odsłaniane przez style CSS mogą być wyświetlane tylko po przeniesieniu na komponent interfejsu fokusa klawiatury lub kursora dowolnego urządzenia wskazującego?

  • Test 10.14.1: Czy na każdej stronie internetowej dodatkowa treść odsłaniana przez style CSS po najechaniu kursorem myszy na komponent interfejsu spełnia, jeśli to konieczne, jeden z tych warunków?
    • Dodatkowa treść pojawia się również po aktywacji komponentu za pomocą klawiatury i dowolnego urządzenia wskazującego.
    • Dodatkowa treść pojawia się również po przeniesieniu fokusa klawiatury na komponent.
    • Dodatkowa treść pojawia się również po aktywacji lub przeniesieniu fokusa klawiatury na inny komponent.
  • Test 10.14.2: Czy na każdej stronie internetowej dodatkowa treść odsłaniana przez style CSS po przeniesieniu fokusa klawiatury na komponent interfejsu spełnia, jeśli to konieczne, jeden z tych warunków?
    • Dodatkowa treść pojawia się również po aktywacji komponentu za pomocą klawiatury i dowolnego urządzenia wskazującego.
    • Dodatkowa treść pojawia się również, po najechaniu kursorem myszy na komponent.
    • Dodatkowa treść pojawia się również po aktywacji lub najechaniu kursorem myszy na inny komponent.

11. Formularze

Zalecenie

W każdym formularzu powiąż każde z pól z jego etykietą, pogrupuj pola w blokach informacji tego samego rodzaju, utwórz listy wyboru w odpowiedni sposób, nadaj każdemu przyciskowi jasny tekst. Sprawdź obecność pomocy przy wprowadzaniu danych, upewnij się, że istnieje kontrola wprowadzania i że użytkownik może kontrolować dane o charakterze finansowym, prawnym lub osobistym.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 11.1 [A] Czy każde pole formularza ma etykietę?

  • Test 11.1.1: Czy każde pole formularza spełnia jeden z tych warunków?
    • Pole formularza ma atrybut aria-labelledby odnoszący się do określonego fragmentu tekstu.
    • Pole formularza ma atrybut aria-label.
    • Znacznik label z atrybutem for jest powiązany z polem formularza.
    • Pole formularza ma atrybut title.
    • Przycisk obok pola formularza ma widoczną etykietę, a atrybuty aria-label, aria-labelledby lub title zapewniają mu dostępną nazwę.
  • Test 11.1.2: Czy każde pole formularza powiązane z etykietą (znacznik label z atrybutem for) spełnia te warunki?
    • Pole formularza ma atrybut id.
    • Wartość atrybutu for jest równa wartości atrybutu id powiązanego pola formularza.
  • Test 11.1.3: Czy każde pole formularza z etykietą, której treść nie jest widoczna (ukryta albo podana za pomocą aria-label, aria-labelledby) lub nie znajduje się w pobliżu, spełnia jeden z tych warunków?
    • Pole formularza ma atrybut title, którego treść umożliwia zrozumienie charakteru oczekiwanych danych wejściowych.
    • Do pola formularza dołączony jest fragment tekstu, który staje się widoczny po przeniesieniu na pole fokusa, co pozwala zrozumieć opis charakteru oczekiwanych danych wejściowych.
    • Pole formularza ma widoczny tekst przylegający do pola, który umożliwia zrozumienie charakteru oczekiwanych danych wejściowych.

Kryterium 11.2 [A] Czy każda etykieta powiązana z polem formularza jest adekwatna (z wyjątkiem przypadków szczególnych)?

  • Test 11.2.1: Czy każda etykieta (znacznik label) umożliwia zrozumienie dokładnej funkcji pola formularza, z którym jest powiązana?
  • Test 11.2.2: Czy każdy atrybut title pozwala zrozumieć dokładną funkcję pola formularza, z którym jest powiązany?
  • Test 11.2.3: Czy każda etykieta podana za pomocą aria-label) umożliwia zrozumienie dokładnej funkcji pola formularza, z którą jest powiązana?
  • Test 11.2.4: Czy każda etykieta skojarzona za pomocą atrybutu aria-labelledby umożliwia zrozumienie dokładnej funkcji pola formularza, z którym jest powiązana?
  • Test 11.2.5: Czy każde pola formularza z widoczną etykietą spełnia te warunki (z wyjątkiem przypadków szczególnych)?
    • Jeśli istnieje, treść atrybutu aria-label w postaci pola zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, fragment tekstu powiązany z polem formularza za pomocą atrybutu aria-labelledby zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść atrybutu title pola formularza zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść znacznika label powiązanego z polem formularza zawiera co najmniej widoczną etykietę.
  • Test 11.2.6: Czy każdy przycisk sąsiadujący z polem formularza, który zapewnia widoczną etykietę, pozwala zrozumieć dokładną funkcję powiązanego z nim pola formularza?

Kryterium 11.3 [AA] Czy w każdym formularzu, każda etykieta powiązana z polem formularza mającym tę samą funkcję i powtarzanym wielokrotnie na tej samej stronie lub zestawie stron jest spójna?

  • Test 11.3.1: Czy każda etykieta powiązana z polem formularza mającym tę samą funkcję i powtórzonym wiele razy na tej samej stronie, jest spójna?
  • Test 11.3.2: Czy każda etykieta powiązana z polem formularza mającym tę samą funkcję i powtórzonym w zestawie stron, jest spójna

Kryterium 11.4 [AA] Czy w każdym formularzu, każda etykieta pola i powiązane z nią pole są umieszczone obok siebie (z wyjątkiem przypadków szczególnych)?

  • Test 11.4.1: Czy w każdym formularzu, każda etykieta pola i powiązane z nią pole są umieszczone obok siebie?
  • Test 11.4.2: Czy każda etykieta umieszczona obok pola formularza (oprócz pola wyboru, przycisku opcji lub elementów posiadających role="checkbox", role="radio" lub role="switch"”) spełnia następujące warunki (z wyjątkiem przypadków szczególnych)?
    • Etykieta jest umieszczana wizualnie bezpośrednio po lewej stronie lub powyżej pola formularza, gdy jej kierunek odczytu jest od lewej do prawej.
    • Etykieta jest umieszczana wizualnie bezpośrednio po prawej stronie lub nad polem formularza, gdy jej kierunek odczytu jest od prawej do lewej.
  • Test 11.4.3: Każda etykieta umieszczona obok pola typu checkbox lub radio albo elementów posiadających atrybuty role="checkbox",role="radio" lub role="switch" spełnia następujące warunki (z wyjątkiem przypadków szczególnych)?
    • Etykieta jest umieszczana wizualnie bezpośrednio po lewej stronie lub powyżej pola formularza, gdy jej kierunek odczytu jest od lewej do prawej.
    • Etykieta jest umieszczana wizualnie bezpośrednio po prawej stronie lub nad polem formularza, gdy jej kierunek odczytu jest od prawej do lewej.

Kryterium 11.5 [A] Czy w każdym formularzu podobne pola są pogrupowane, jeśli to konieczne?

  • Test 11.5.1: Czy w każdym formularzu podobne pola spełniają jeden z tych warunków?
    • Podobne pola są zgrupowane w znaczniku <fieldset>.
    • Podobne pola są zgrupowane w znaczniku z atrybutem role="group".
    • Pola tego samego typu radio (input type="radio" lub znaczniki z atrybutami role="radio") są zgrupowane w znaczniku z atrybutem role="radiogroup" lub role="group"

Kryterium 11.6 [A] Czy w każdym formularzu każda grupa pól formularza ma legendę?

Kryterium 11.7 [A] Czy w każdym formularzu każda legenda powiązana z grupą pól formularza jest adekwatna?

  • Test 11.7.1: Czy w każdym formularzu każda legenda powiązana z grupą pól formularza jest adekwatna?

Kryterium 11.8 [A] Czy w każdym formularzu pozycje tego samego rodzaju na liście wyboru są pogrupowane w odpowiedni sposób?

  • Test 11.8.1: Czy w każdym formularzu, dla każdego znacznika select pozycje tego samego rodzaju są pogrupowane przy pomocy znacznika optgroup, jeśli to konieczne?
  • Test 11.8.2: Czy w każdym znaczniku select każdy znacznik optgroup ma atrybut label?
  • Test 11.8.3: Czy dla każdego znacznika optgroup z atrybutem label, treść atrybutu label jest adekwatna?

Kryterium 11.9 [A] Czy w każdym formularzu tytuł każdego przycisku jest adekwatny?

  • Test 11.9.1: Czy w każdym formularzu, tytuł każdego przycisku jest odpowiedni:
    • Jeśli istnieje, treść atrybutu aria-label jest adekwatna.
    • Jeśli istnieje, treść tekstu skojarzonego z przyciskiem za pomocą atrybutu aria-labelledby jest adekwatna.
    • Jeśli istnieje, treść atrybutu value znacznika input type=... "submit", "reset"lub "button" jest adekwatna.
    • Jeśli istnieje, treść znacznika button jest adekwatna.
    • Jeśli istnieje, treść atrybutu alt znacznika input type="image" jest adekwatna.
    • Jeśli istnieje, treść atrybutu title jest adekwatna.
  • Test 11.9.2: Czy każdy przycisk z widoczną etykietą spełnia te warunki (z wyjątkiem przypadków szczególnych)
    • Jeśli istnieje, treść atrybutu aria-label, zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść tekstu skojarzonego z przyciskiem za pomocą atrybutu aria-labelledby, zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść atrybutu value znacznika input type=... "submit", "reset" lub "button", zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść znacznika button, zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść atrybutu title zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść atrybutu alt znacznika input type="image", zawiera co najmniej widoczną etykietę.
    • Jeśli istnieje, treść atrybutu title, zawiera co najmniej widoczną etykietę.

Kryterium 11.10 [A] Czy w każdym formularzu sprawdzanie poprawności danych jest stosowane w odpowiedni sposób?

  • Test 11.10.1: Czy dla każdego formularza wskazanie obowiązkowych pól spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Wskazanie pola obowiązkowego jest widoczne oraz pozwala zidentyfikować dane pole przed walidacją formularza.
    • Pole obowiązkowe ma atrybut aria-required="true" lub atrybut required, wskazujący, że wartość w polu przed zatwierdzeniem formularza nie może być pusta.
  • Test 11.10.2 Czy pola obowiązkowe z atrybutem aria-required="true" lub required spełniają jeden z tych warunków?
    • Wskazanie pola obowiązkowego jest widoczne i umieszczone na powiązanej z polem etykiecie oraz pozwala zidentyfikować dane pole przed walidacją formularza.
    • Wskazanie pola obowiązkowego jest widoczne i umieszczone w tekście powiązanym z polem oraz pozwala zidentyfikować dane pole przed walidacją formularza.
  • Test 11.10.3: Czy komunikaty o błędach wprowadzania danych wskazujące na brak wpisu w polu obowiązkowym spełniają jeden z tych warunków?
    • Komunikat o błędzie jest widoczny i umożliwia określenie pola, którego dotyczy, po nazwie.
    • Pole obowiązkowe ma atrybut aria-invalid="true".
  • Test 11.10.4: Czy każde obowiązkowe pole z atrybutem aria-invalid="true" spełnia jeden z tych warunków?
    • Wskazanie pola obowiązkowego jest widoczne i umieszczone na etykiecie związanej z polem
    • Wskazanie pola obowiązkowego jest widoczne i umieszczone w powiązanym z polem fragmencie tekstu.
  • Test 11.10.5: Czy każda instrukcja i podany typ lub format danych spełnia jeden z tych warunków??
    • Instrukcja i wskazanie typu lub formatu danych są widoczne oraz pozwalają zidentyfikować dane pole formularza przed walidacją formularza.
    • Wskazanie typu lub formatu danych jest widoczne i umieszczone w tekście powiązanym z polem oraz pozwala zidentyfikować dane pole przed walidacją formularza.
  • Test 11.10.6: Czy każdy komunikat o błędzie wskazujący typ danych lub obowiązkowy format pól spełnia jeden z tych warunków?
    • Komunikat o błędzie wskazujący typ lub obowiązkowy format danych jest widoczny i wskazuje błędnie wypełnione pole formularza.
    • Pole formularza ma atrybut aria-invalid="true".
  • Test 11.10.7: Czy pola z atrybutem aria-invalid="true", które wymagają określonego typu lub formatu danych, spełniają jeden z tych warunków?
    • Wskazanie typu lub obowiązkowego formatu danych jest widoczne i jest umieszczone w znaczniku etykiety powiązanej z polem formularza.
    • Wskazanie typu lub obowiązkowego formatu danych jest widoczne i jest umieszczone w tekście powiązanym z polem formularza.

Kryterium 11.11 [AA] Czy w każdym formularzu kontrola wprowadzania jest wsparta, jeśli to konieczne, sugestiami ułatwiającymi poprawę błędów wprowadzania?

  • Test 11.11.1: Czy dla każdego formularza, dla każdego błędu wprowadzania, sugerowane są typy i formaty danych, jeśli to konieczne?
  • Test 11.11.2: Czy dla każdego formularza, dla każdego błędu wprowadzania, sugerowane są oczekiwane wartości, jeśli to konieczne?

Kryterium 11.12 [AA] Czy każdy formularz, który modyfikuje lub usuwa dane, albo który przesyła odpowiedzi do testu lub egzaminu, albo którego poprawność ma konsekwencje finansowe lub prawne, spełnia jeden z tych warunków?

  • Test 11.12.1: Czy każdy formularz, który modyfikuje lub usuwa dane albo który przesyła odpowiedzi do testu lub egzaminu, albo którego poprawność ma konsekwencje finansowe lub prawne, spełnia jeden z tych warunków?
    • Użytkownik może zmodyfikować lub anulować dane i czynności wykonane na tych danych po ich wprowadzaniu i sprawdzeniu poprawności formularza.
    • Użytkownik może sprawdzić i poprawić dane przez zatwierdzeniem formularza w kilku krokach.
    • Istnieje jawny mechanizm potwierdzania w postaci pola wyboru (znacznik <input> typu checkbox lub znacznik z atrybutem role="checkbox") lub dodatkowy krok.
  • Test 11.12.2: Czy każdy formularz, który modyfikuje lub usuwa dane o charakterze finansowym, prawnym lub osobistym, spełnia jeden z tych warunków?
    • Mechanizm pozwala odzyskać dane usunięte lub zmodyfikowane przez użytkownika.
    • Istnieje jawny mechanizm żądający wyraźnego potwierdzenia usunięcia lub modyfikacji za pomocą pola formularza lub dodatkowego kroku.

Kryterium 11.13 [AA] Czy można określić przeznaczenie pól formularza, aby ułatwić automatyczne wypełnianie pól danymi użytkownika?

  • Test 11.13.1: Czy każde pole formularza, które zbiera dane o użytkowniku, spełnia te warunki?
    • Pole formularza ma atrybut autocomplete.
    • Atrybut autocomplete ma poprawną wartość spośród określonych na liście możliwych wartości atrybutu autocomplete powiązanych z polem formularza.
    • Wartość wskazana w atrybucie autocomplete jest adekwatna w odniesieniu do oczekiwanego typu informacji.

12. Nawigacja

Zalecenie

Ułatw nawigację po zestawie stron przy pomocy co najmniej dwóch różnych systemów nawigacji (menu nawigacji, mapa witryny lub wyszukiwarka), nawigacja okruszkowa i wskazanie strony aktywnej w menu nawigacji. Zidentyfikuj najważniejsze grupy łączy i obszar treści głównej i daj możliwość ich uniknięcia dzięki łączom nawigacji wewnętrznej. Upewnij się, że kolejność tabulacji jest spójna i że strona nie zawiera pułapki na klawiaturę.

Słowa kluczowe
  • Zasada WCAG: Funkcjonalność

Kryterium 12.1 [AA] Czy każdy zestaw stron zawiera co najmniej dwa różne systemy nawigacji (z wyjątkiem przypadków szczególnych)?

Kryterium 12.2 [AA] Czy w każdym zestawie stron menu i paski nawigacji są zawsze w tym samym miejscu (z wyjątkiem przypadków szczególnych)?

Kryterium 12.3 [AA] Czy strona „mapa witryny” jest adekwatna?

  • Test 12.3.1: Czy strona „mapa witryny” odzwierciedla ogólną architekturę witryny?
  • Test 12.3.2: Czy łącza na stronie „mapa witryny” działają?
  • Test 12.3.3: Czy łącza na stronie „mapa witryny” odsyłają do wskazywanych stron?

Kryterium 12.4 [AA] Czy w każdym zestawie stron strona „mapa witryny” jest dostępna w taki sam sposób?

Kryterium 12.5 [AA] Czy w każdym zestawie stron wyszukiwarka jest osiągalna w taki sam sposób?

Kryterium 12.6 [A] Czy na każdej stronie internetowej kluczowe obszary (obszar nagłówka witryny, obszar głównej nawigacji, obszar treści głównej, obszar stopki witryny, obszar wyszukiwarki) mogą być zidentyfikowane, osiągane i pomijane?

  • Test 12.6.1: Czy na wszystkich stronach internetowych, na których znajdują się kluczowe obszary (obszar nagłówka witryny, obszar głównej nawigacji, obszar treści głównej, obszar stopki witryny, obszar wyszukiwarki), spełniają one co najmniej jeden z tych warunków:
    • Obszar kluczowy spełnia rolę punktu orientacyjnego zgodnego (korespondującego) z jego charakterem
    • Obszar ma nagłówek (hierarchiczny), którego treść umożliwia zrozumienie charakteru treści obszaru.
    • Obszar można ukryć za pomocą przycisku umieszczonego w kodzie w kolejności bezpośrednio poprzedzającej kod obszaru.
    • Obszar można pominąć za pomocą łącza pomijającego umieszczonego w kodzie w kolejności bezpośrednio poprzedzającej kod obszaru.
    • Do obszaru można dotrzeć za pomocą łącza szybkiego dostępu widocznego podczas przemieszczania się za pomocą tabulatora.

Kryterium 12.7 [A] Czy na każdej stronie są łącza pomijające powtarzalne bloki treści lub łącze szybkiego dostępu do obszaru treści głównej (z wyjątkiem przypadków szczególnych)?

  • Test 12.7.1: Czy na każdej stronie internetowej są łącza pomijające powtarzalne bloki treści lub łącze prowadzące do obszaru treści głównej (z wyjątkiem przypadków szczególnych)?
  • Test 12.7.2: Czy w każdym zestawie stron łącza pomijające lub łącza szybkiego dostępu spełniają te warunki (z wyjątkiem przypadków szczególnych)?
    • Każde łącze jest zawsze w tym samym miejscu na prezentacji.
    • Każde łącze występuje zawsze w tym samym porządku w kodzie źródłowym.
    • Każde łącze jest widoczne co najmniej po oznaczeniu fokusem klawiatury.

Kryterium 12.8 [A] Czy na każdej stronie internetowej kolejność tabulacji jest zrozumiała?

Kryterium 12.9 [A] Na żadnej stronie internetowej nawigacja nie może zawierać pułapki na klawiaturę. Czy ta zasada jest przestrzegana?

  • Test 12.9.1: Czy dla każdej strony internetowej każdy element oznaczony fokusem spełnia jeden z tych warunków??
    • Można uzyskać dostęp do następnego lub poprzedniego elementu, który może być oznaczony fokusem klawiszem tabulacji.
    • Użytkownik jest poinformowany o mechanizmie działania umożliwiającym uzyskanie za pomocą klawiatury dostępu do następnego lub poprzedniego elementu, który może być oznaczony fokusem.

Kryterium 12.10 [A] Czy na każdej stronie internetowej użytkownik może kontrolować każdy skrót klawiaturowy tylko za pomocą jednego klawisza (mała lub duża litera, znak interpunkcyjny, cyfra lub symbol)?

  • Test 12.10.1: Czy na każdej stronie internetowej każdy skrót klawiaturowy wykorzystujący tylko jeden klawisz (mała lub duża litera, znak interpunkcyjny, cyfra lub symbol) spełnia jeden z tych warunków?
    • Istnieje mechanizm wyłączania skrótu klawiaturowego.
    • Istnieje mechanizm do konfigurowania skrótu klawiaturowego za pomocą klawiszy modyfikatorów (Ctrl, Alt, Shift itp.).
    • W przypadku komponentu interfejsu użytkownika skojarzony z nim skrót klawiaturowy można aktywować tylko wtedy, gdy komponent uzyska fokus klawiatury.

Kryterium 12.11 [A] Czy na każdej stronie internetowej dodatkowa treść, która pojawia się po najechaniu kursorem, uzyskaniu fokusa klawiatury lub aktywacji elementu interfejsu, jeśli to konieczne, jest dostępna za pomocą klawiatury?

  • Test 12.11.1: Czy na każdej stronie internetowej dodatkowa treść, która pojawia się po najechaniu kursorem, uzyskaniu fokusa klawiatury lub aktywacji komponentu interfejsu, jeśli to konieczne, jest dostępna za pomocą klawiatury?

13. Przeglądanie

Zalecenie

Sprawdź, czy użytkownik może kontrolować procesy odświeżania, nagłe zmiany jasności, otwieranie nowych okien, poruszanie lub migotanie treści. Uprzedzaj, że treść otwiera się w nowym oknie. Podaj informacje dotyczące przeglądania plików do pobrania. Nie uzależniaj wykonania zadania od limitu czasu, chyba że jest to niezbędne, i upewnij się, że wprowadzone dane zostaną odzyskane po przerwaniu uwierzytelnionej sesji. Upewnij się, że nietypowe wyrażenia i żargon są zrozumiałe. Proponuj dostępne wersje lub udostępnić dokumenty do pobrania.

Słowa kluczowe
  • Zasada WCAG: Postrzegalność

Kryterium 13.1 [A] Czy na każdej stronie internetowej użytkownik ma kontrolę nad każdym limitem czasu przeznaczonego na modyfikację treści (z wyjątkiem przypadków szczególnych)?

  • Test 13.1.1: Czy dla każdej strony internetowej każda procedura odświeżania lub automatycznego przekierowania (znacznik object, znacznik embed, znacznik svg, znacznik canvas, znacznik meta) spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Użytkownik może zatrzymać i ponownie uruchomić odświeżanie.
    • Użytkownik może zwiększyć limit czasowy między dwoma odświeżeniami co najmniej dziesięciokrotnie.
    • Użytkownik jest ostrzegany o zbliżającym się odświeżaniu i ma co najmniej dwadzieścia sekund, aby zwiększyć limit czasu przed przyszłym odświeżeniem.
    • Limit czasu między dwoma odświeżeniami wynosi co najmniej dwadzieścia godzin.
  • Test 13.1.2: Czy dla każdej strony internetowej każda procedura przekierowania wykonana przy pomocy znacznika meta jest natychmiastowa (z wyjątkiem przypadków szczególnych)?
  • Test 13.1.3: Czy dla każdej strony internetowej każda procedura przekierowania wykonana przy pomocy skryptu spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Użytkownik może zatrzymać i ponownie uruchomić przekierowanie.
    • Użytkownik może zwiększyć limit czasowy między dwoma przekierowaniami co najmniej dziesięciokrotnie.
    • Użytkownik jest ostrzegany o zbliżającym się przekierowaniu i ma co najmniej dwadzieścia sekund, aby zwiększyć limit czasu przed przyszłym przekierowaniem.
  • Test 13.1.4: Czy dla każdej strony internetowej każda procedura ograniczająca czas sesji spełnia jeden z tych warunków (z wyjątkiem przypadków szczególnych)?
    • Użytkownik może usunąć limit czasowy.
    • Użytkownik może zwiększyć limit czasowy.
    • Limit czasu przed zakończeniem sesji wynosi co najmniej dwadzieścia godzin.

Kryterium 13.2 [A] Na żadnej stronie internetowej otwarcie nowego okna nie może nastąpić bez działania użytkownika. Czy ta zasada jest przestrzegana?

  • Test 13.2.1: Na żadnej stronie internetowej otwarcie nowego okna nie może nastąpić bez działania użytkownika. Czy ta zasada jest przestrzegana?

Kryterium 13.3 [A] Czy na każdej stronie internetowej każdy dokument biurowy do pobrania ma, jeśli to konieczne, dostępną wersję (z wyjątkiem przypadków szczególnych)

Kryterium 13.4 [A] Czy dla każdego dokumentu elektronicznego, który ma dostępną wersję, wersja ta zawiera te same informacje?

  • Test 13.4.1: Czy każdy elektroniczny dokument biurowy, który ma dostępną wersję, spełnia jeden z tych warunków?
    • Wersja kompatybilna z dostępnością oferuje te same informacje.
    • Wersja alternatywna w formacie HTML jest adekwatna i zapewnia te same informacje.

Kryterium 13.5 [A] Czy na każdej stronie internetowej każda zaszyfrowana treść (ASCII art, emotikony, zaszyfrowany tekst) ma alternatywę?

  • Test 13.5.1: Czy na każdej stronie internetowej każda zaszyfrowana treść (ASCII art, emotikony, zaszyfrowany tekst) spełnia jeden z tych warunków?
    • Istnieje atrybut title.
    • Definicja jest podana przez powiązany kontekst.

Kryterium 13.6 [A] Czy na wszystkich stronach w przypadku każdej zaszyfrowana treść (ASCII art, emotikony, zaszyfrowany tekst), która ma alternatywę, ta alternatywa jest adekwatna?

  • Test 13.6.1: Czy na każdej stronie internetowej każda zaszyfrowana treść (ASCII art, emotikony, zaszyfrowany tekst) spełnia jeden z tych warunków?
    • Treść atrybutu title jest adekwatna.
    • Definicja podana przez powiązany kontekst jest adekwatna.

Kryterium 13.7 [A] Czy na każdej stronie internetowej nagłe zmiany luminancji lub efekty błyskowe są poprawnie używane?

  • Test 13.7.1: Czy na każdej stronie internetowej każdy obraz (znacznik img, znacznik svg, znacznik canvas, znacznik embed lub znacznik object), który powoduje nagłą zmianę luminancji lub efekty błyskowe, spełnia jeden z tych warunków?
    • Częstotliwość efektu jest mniejsza niż 3 na sekundę.
    • Łączna całkowita powierzchnia efektów jest mniejsza lub równa 21 824 pikseli.
  • Test 13.7.2: Czy na każdej stronie internetowej każdy skrypt, który powoduje nagłą zmianę luminancji lub efekty błyskowe, spełnia jeden z tych warunków?
    • Częstotliwość efektu jest mniejsza niż 3 na sekundę.
    • Łączna całkowita powierzchnia efektów jest mniejsza lub równa 21 824 pikseli.
  • Test 13.7.3: Czy na każdej stronie internetowej każde formatowanie CSS, które powoduje nagłą zmianę luminancji lub efekty błyskowe spełnia jeden z tych warunków?
    • Częstotliwość efektu jest mniejsza niż 3 na sekundę.
    • Łączna całkowita powierzchnia efektów jest mniejsza lub równa 21 824 pikseli.

Kryterium 13.8 [A] Czy na każdej stronie internetowej użytkownik może kontrolować każdą animowaną lub migającą treść?

  • Test 13.8.1: Czy dla każdej strony internetowej w ruchu, uruchamianej automatycznie, każdy element oznaczony spełnia jeden z tych warunków?
    • Czas trwania ruchu jest mniejszy lub równy 5 sekundom.
    • Użytkownik może zatrzymać i ponownie włączyć ruch.
    • Użytkownik może zatrzymać i ukryć treści ruchome treści.
    • Użytkownik może wyświetlić wszystkie informacje bez ruchu.
  • Test 13.8.2: Czy każda migająca treść, uruchamiana automatycznie, spełnia jeden z tych warunków?
    • Czas migania jest mniejszy lub równy 5 sekundom.
    • Użytkownik może zatrzymać i ponownie włączyć miganie.
    • Użytkownik może zatrzymać i ukryć migające treści.
    • Użytkownik może wyświetlić wszystkie informacje bez migania.

Kryterium 13.9 [AA] Czy na każdej stronie internetowej można przeglądać proponowaną treść niezależnie od orientacji ekranu (pionowej lub poziomej) (z wyjątkiem przypadków szczególnych)?

  • Test 13.9.1: Czy na każdej stronie internetowej każda treść spełnia te warunki (z wyjątkiem przypadków szczególnych)?
    • Przeglądanie jest możliwe niezależnie od orientacji ekranu.
    • Treść nie zmienia się niezależnie od orientacji ekranu, chociaż prezentacja i sposób dotarcia do niej mogą się różnić

Kryterium 13.10 [A] Czy na każdej stronie internetowej z funkcji używanych lub dostępnych za pomocą złożonego gestu można korzystać również za pomocą prostego gestu (z wyjątkiem przypadków szczególnych)?

  • Test 13.10.1: Czy na każdej stronie internetowej każda funkcjonalność, której można użyć lub jest dostępna za pomocą złożonego gestu, może być również użyta lub jest dostępna za pomocą prostego gestu w jednym punkcie na ekranie (z wyjątkiem przypadków szczególnych)?
  • Test 13.10.2: Czy na każdej stronie internetowej każda funkcjonalność, której można użyć lub jest dostępna za pomocą gestu opartego na ścieżce na ekranie, może być również użyta lub jest dostępna za pomocą za pomocą prostego gestu w jednym punkcie na ekranie (z wyjątkiem przypadków szczególnych)?

Kryterium 13.11 [A] Czy na każdej stronie internetowej można anulować działania uruchamiane urządzeniem wskazującym (wskaźnik myszy, dotyk palcem, rysikiem) w interaktywnym punkcie ekranu (z wyjątkiem przypadków szczególnych)?

  • Test 13.11.1: Czy na każdej stronie internetowej działania uruchamiane urządzeniem wskazującym (mysz, dotyk, stuknięcie) w interaktywnym punkcie ekranu spełniają jeden z tych warunków (z wyjątkiem przypadków szczególnych)?

Kryterium 13.12 [A] Czy na każdej stronie internetowej funkcjonalności wymagające ruchu urządzenia lub gestu użytkownika można wykonać w alternatywny sposób (z wyjątkiem przypadków szczególnych)?

  • Test 13.12.1: Czy na każdej stronie internetowej funkcje wymagające ruchu urządzenia lub gestu użytkownika można również wykonać za pomocą elementów interfejsu użytkownika (z wyjątkiem przypadków szczególnych)?
  • Test 13.12.2: Czy na każdej stronie internetowej funkcjonalności wymagające gestu użytkownika można również wykonać za pomocą elementów interfejsu użytkownika (z wyjątkiem przypadków szczególnych)
  • Test 13.12.3: Czy użytkownik może wyłączyć funkcję wykrywania ruchu, aby zapobiec przypadkowemu uruchamianiu funkcjonalności (z wyjątkiem przypadków szczególnych)?