WCAG 4.1.2: Nazwa, rola, wartość
Poziom: A
Wprowadzenie
Kryterium sukcesu 4.1.2 „Nazwa, rola, wartość” jest kluczowym elementem wytycznej 4.1 „Kompatybilność” standardu WCAG (Web Content Accessibility Guidelines) 2.0 i 2.1. Ma ono na celu zapewnienie, że wszystkie komponenty interfejsu użytkownika (UI), takie jak przyciski, linki, pola formularzy, przełączniki czy niestandardowe kontrolki, mogą być w pełni zrozumiane i obsługiwane przez technologie wspomagające (AT), takie jak czytniki ekranu, oprogramowanie do rozpoznawania mowy czy alternatywne urządzenia wejściowe.
Zgodnie z tym kryterium, każdy komponent UI musi mieć programowo określoną:
Dodatkowo, wszelkie zmiany w tych właściwościach muszą być dynamicznie aktualizowane i programowo dostępne dla technologii wspomagających.
Dlaczego to ważne? (Wpływ na dostępność)
Niespełnienie kryterium 4.1.2 może całkowicie uniemożliwić lub znacząco utrudnić korzystanie ze strony internetowej wielu grupom użytkowników. Ma to bezpośredni wpływ na:
Brak odpowiednich informacji programowych prowadzi do sytuacji, w której interfejs użytkownika jest funkcjonalnie niewidoczny dla technologii wspomagających, tworząc barierę nie do pokonania dla wielu osób.
Kryteria sukcesu i wymagania
Kryterium 4.1.2 wymaga, aby dla wszystkich komponentów interfejsu użytkownika:
Te informacje są przekazywane technologiom wspomagającym poprzez interfejsy API dostępności (Accessibility API) przeglądarki, które czerpią dane z drzewa dostępności (Accessibility Tree) generowanego na podstawie DOM (Document Object Model) strony.
Praktyczne wytyczne dotyczące zgodności
Aby spełnić kryterium 4.1.2, należy przestrzegać następujących zasad:
1. Preferuj natywne elementy HTML
Standardowe elementy HTML (<button>, <input>, <a>, <select>, <textarea>) posiadają wbudowaną semantykę, co oznacza, że ich nazwa, rola i podstawowe stany są automatycznie udostępniane technologiom wspomagającym przez przeglądarkę.
2. Etykietowanie pól formularzy
Każde pole formularza powinno mieć programowo powiązaną etykietę. Najlepszą praktyką jest użycie elementu <label> z atrybutem for, który odwołuje się do id pola formularza.
3. Tekst alternatywny dla obrazów i multimediów
Dla każdego znaczącego obrazu (<img>) wymagany jest atrybut alt z opisowym tekstem. Dla obrazów czysto dekoracyjnych, alt="" (pusty atrybut) jest odpowiedni.
4. Opisowy tekst linków
Tekst linku (pomiędzy <a> i </a>) powinien być zrozumiały poza kontekstem, informując użytkownika o celu linku. Unikaj „kliknij tutaj” lub „więcej”.
5. Użycie WAI-ARIA dla niestandardowych komponentów
Gdy natywne elementy HTML nie są wystarczające do stworzenia złożonego komponentu UI, należy użyć atrybutów WAI-ARIA (Web Accessibility Initiative – Accessible Rich Internet Applications) do zdefiniowania nazwy, roli i stanu:
Przykłady implementacji
Poprawne implementacje
1. Standardowe pole formularza z etykietą:
Wyjaśnienie: Element <label> jest programowo powiązany z polem <input> za pomocą atrybutów for i id. Czytnik ekranu odczyta „Imię, pole edycji”.
2. Przycisk z tekstem:
Wyjaśnienie: Tekst wewnątrz <button> służy jako programowa nazwa. Rola jest domyślnie „przycisk”.
3. Obraz z opisowym tekstem alternatywnym:
Wyjaśnienie: Atrybut alt dostarcza programową nazwę i opis obrazu, który jest kluczowy dla zrozumienia treści.
4. Niestandardowy przełącznik z ARIA:
Wyjaśnienie: Użycie role="switch" definiuje rolę. aria-label dostarcza nazwę. aria-checked informuje o stanie i jest dynamicznie aktualizowane przez JavaScript. Element jest również dostępny z klawiatury dzięki tabindex="0" i obsłudze zdarzeń klawiatury.
Niepoprawne implementacje
1. Pole formularza bez etykiety:
Wyjaśnienie: Tekst placeholder nie jest programową etykietą i nie jest odczytywany jako nazwa przez wszystkie czytniki ekranu. Dla wielu użytkowników pole będzie nieoznakowane.
2. Przycisk z samą ikoną i bez tekstu/ARIA:
Wyjaśnienie: Obraz w przycisku ma pusty alt, co sugeruje, że jest dekoracyjny. Przycisk nie ma wówczas żadnej dostępnej nazwy, co uniemożliwia jego identyfikację. Jeśli obraz nie jest dekoracyjny, alt powinien zawierać opis. Lepszym rozwiązaniem byłoby <button aria-label="Szukaj"><img src="ikona-szukaj.png" alt=""></button> lub tekst wewnątrz przycisku.
3. Obraz z brakującym atrybutem alt (lub null):
Wyjaśnienie: Brak atrybutu alt uniemożliwia czytnikom ekranu przekazanie jakiejkolwiek informacji o obrazie, co jest poważną barierą, jeśli obraz przekazuje istotną treść.
4. Niestandardowy element interaktywny bez ARIA i obsługi klawiatury:
Wyjaśnienie: Element <div> nie ma domyślnej roli interaktywnej ani możliwości fokusu klawiaturowego. Nie informuje technologii wspomagających, że jest to przycisk. Brakuje role="button", tabindex="0" oraz obsługi zdarzeń klawiatury.
Najlepsze praktyki i typowe pułapki
Najlepsze praktyki:
Typowe pułapki:
Podsumowanie
Kryterium 4.1.2 „Nazwa, rola, wartość” jest fundamentalne dla stworzenia dostępnego interfejsu użytkownika. Zapewnia, że wszystkie komponenty UI są zrozumiałe i obsługiwane przez technologie wspomagające, umożliwiając pełną interakcję z treścią witryny. Staranne przestrzeganie tych wytycznych, z naciskiem na semantyczny HTML i przemyślane użycie ARIA, jest niezbędne do zapewnienia inkluzywnego doświadczenia dla wszystkich użytkowników.
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.