WCAG 2.1.3: Klawiatura (bez wyjątku)
WCAG 2.1.3 Klawiatura (bez wyjątku) – Poziom AAA
Kryterium sukcesu 2.1.3, zatytułowane „Klawiatura (bez wyjątku)”, jest kluczowym elementem zapewnienia dostępności stron internetowych na poziomie AAA. Wymaga ono, aby wszystkie funkcje dostępne w treści były obsługiwane za pomocą klawiatury, bez żadnych wyjątków. Oznacza to, że każdy element interaktywny, każda operacja i każda funkcja dostępna dla użytkownika za pomocą myszy lub ekranu dotykowego, musi być również w pełni dostępna i obsługiwalna wyłącznie za pomocą klawiatury.
Podczas gdy kryterium WCAG 2.1.1 Klawiatura (Poziom A) dopuszcza pewne wyjątki dla funkcji, które wymagają wejścia zależnego od ścieżki ruchu użytkownika (np. swobodne rysowanie), kryterium 2.1.3 idzie o krok dalej. Na poziomie AAA, jeśli funkcja zasadniczo wymaga wejścia zależnego od ścieżki, ale istnieją alternatywne metody interakcji (które nie zależą od ścieżki) dla osiągnięcia tej samej funkcjonalności, wówczas te alternatywy muszą być dostępne za pomocą klawiatury.
Dlaczego to ma znaczenie?
Dostępność klawiatury jest fundamentalna dla szerokiego grona użytkowników:
Jeśli jakakolwiek funkcja nie jest dostępna za pomocą klawiatury, wymienione grupy użytkowników zostają całkowicie wykluczone z możliwości jej użycia, co prowadzi do frustracji i niemożności realizacji zadań na stronie.
Wymagania Kryterium Sukcesu 2.1.3
Oficjalne sformułowanie kryterium sukcesu 2.1.3 brzmi:
Cała funkcjonalność treści jest obsługiwana za pomocą interfejsu klawiatury, bez konieczności określonych czasów dla poszczególnych naciśnięć klawiszy, z wyjątkiem przypadków, gdy podstawowa funkcja wymaga wprowadzania danych, które zależy od ścieżki ruchu użytkownika, a nie tylko od punktów końcowych.
Uwaga: To kryterium jest na poziomie AAA i jest bardziej restrykcyjne niż WCAG 2.1.1. Jeśli podstawowa funkcja wymaga wprowadzania danych, które zależy od ścieżki ruchu, a istnieje alternatywna metoda interakcji, która nie zależy od ścieżki ruchu, to ta alternatywna metoda musi być dostępna za pomocą klawiatury.
Kluczowe aspekty to:
Praktyczne wytyczne dla zgodności
Przykłady implementacji
Przykład 1: Niestandardowy przycisk (zły vs. dobry)
Nieprawidłowa implementacja: Przycisk obsługiwany tylko myszą.
Problem: Ten `div` nie jest focusowalny klawiaturą i nie reaguje na klawisze Enter/Spacja.
Prawidłowa implementacja: Niestandardowy przycisk dostępny klawiaturą.
Lub dla niestandardowego elementu bez semantyki buttona:
Rozwiązanie: Użycie elementu `<button>` lub, w przypadku `<div>`, dodanie `tabindex=”0″`, `role=”button”` oraz obsługi zdarzeń `keydown` dla klawiszy Enter i Spacja. Dodano również widoczny `outline` dla fokusu.
Przykład 2: Okno modalne (zarządzanie fokusem)
Dla okien modalnych kluczowe jest zapewnienie, że fokus jest przenoszony do okna po jego otwarciu i z powrotem do elementu wywołującego po jego zamknięciu. Ponadto, wszystkie interaktywne elementy w oknie modalnym muszą być dostępne klawiaturą, a fokus musi być „uwięziony” w oknie modalnym (tzw. focus trap) dopóki nie zostanie ono zamknięte.
Prawidłowa implementacja: Dostępne klawiaturowo okno modalne.
Rozwiązanie: Zapewniono obsługę otwierania/zamykania modalu, przenoszenia fokusu, zamykania klawiszem Esc oraz podstawową pułapkę fokusu, aby użytkownik klawiatury nie mógł wyjść z modalu, dopóki nie zostanie on zamknięty.
Przykład 3: Alternatywa dla przeciągnij i upuść (drag and drop)
Prawidłowa implementacja: Przenoszenie elementów za pomocą klawiatury.
Rozwiązanie: Zamiast polegać wyłącznie na przeciąganiu i upuszczaniu myszą, zapewniono przyciski „Przenieś w górę” i „Przenieś w dół”, które pozwalają użytkownikom klawiatury zmieniać kolejność elementów listy. Elementy listy są również focusowalne (`tabindex=”0″`) i posiadają atrybuty ARIA.
Najlepsze praktyki i typowe pułapki
Najlepsze praktyki:
Typowe pułapki:
Zgodność z WCAG 2.1.3 Klawiatura (bez wyjątku) wymaga skrupulatności i dokładnego testowania. Implementacja tego kryterium na poziomie AAA znacznie poprawia dostępność strony dla osób polegających na klawiaturze, zapewniając im pełną i równą możliwość interakcji z każdą funkcją oferowaną przez treści internetowe.
Powiązane wpisy
- WCAG 5.2.3: Pełne procesy
- WCAG 5.2.4: Tylko sposoby korzystania z technologii wspierające dostępność
- WCAG 5.2.5: Brak zakłóceń
- WCAG 5.3.1: Wymagane elementy oświadczenia o zgodności
- WCAG 5.3.2: Opcjonalne elementy oświadczenia o zgodności
Nadal szukasz odpowiedzi?
Zapytaj naszych specjalistów używając czatu online.