WCAG 2.5.3: Etykieta w nazwie
Wstęp do WCAG 2.5.3 „Etykieta w nazwie”
Kryterium sukcesu WCAG 2.5.3, zatytułowane „Etykieta w nazwie”, jest fundamentalne dla zapewnienia spójności między wizualną prezentacją elementu interfejsu użytkownika a jego reprezentacją dla technologii wspomagających. Wymaga ono, aby widoczna etykieta tekstowa lub graficzna elementu była zawarta w jego nazwie dostępnej (accessible name). Jest to kryterium na poziomie dostępności A i ma na celu ułatwienie interakcji użytkownikom, którzy polegają na widocznych wskazówkach, a jednocześnie korzystają z technologii wspomagających, takich jak czytniki ekranu lub oprogramowanie do rozpoznawania mowy.
Czym jest „Nazwa dostępna”?
„Nazwa dostępna” to programistycznie określona nazwa elementu interfejsu użytkownika, za pomocą której technologie wspomagające identyfikują i odczytują ten element. Jest to tekst, który jest przekazywany użytkownikom czytników ekranu i może być używany do sterowania interfejsem za pomocą poleceń głosowych. Nazwa dostępna może pochodzić z różnych źródeł, takich jak zawartość tekstowa elementu (np. tekst przycisku), treść elementu <label>, atrybuty ARIA (aria-label, aria-labelledby) lub atrybut alt dla obrazów.
Dlaczego „Etykieta w nazwie” jest ważna?
Spójność między tym, co użytkownik widzi, a tym, co jest przekazywane technologiom wspomagającym, ma kluczowe znaczenie dla wielu grup użytkowników:
Zapewnienie, że nazwa dostępna zawiera widoczną etykietę, buduje zaufanie i poprawia ogólną użyteczność, czyniąc interfejs bardziej intuicyjnym i przewidywalnym.
Kryteria Sukcesu i Wymagania WCAG 2.5.3
Oficjalne brzmienie kryterium sukcesu 2.5.3 to:
Label in Name: For user interface components with labels that include text or images of text, the accessible name contains the text that is presented visually.
Czyli w tłumaczeniu:
Etykieta w nazwie: Dla komponentów interfejsu użytkownika z etykietami zawierającymi tekst lub obrazy tekstu, nazwa dostępna zawiera tekst, który jest prezentowany wizualnie.
Kluczowe aspekty tego kryterium:
Praktyczne wytyczne dotyczące zgodności
Aby zapewnić zgodność z WCAG 2.5.3, postępuj zgodnie z poniższymi wskazówkami:
Pola formularzy (<input>, <textarea>, <select>)
Przyciski (<button>, <input type="button">)
Linki (<a>)
Komponenty niestandardowe
Przykłady prawidłowych i nieprawidłowych implementacji
Prawidłowe implementacje
Pola formularzy
Przykład 1: Standardowa etykieta <label>
Widoczna etykieta: „Imię”
<label for="firstName">Imię:</label><br /><input type="text" id="firstName">
Nazwa dostępna: „Imię” (generowana automatycznie z <label>)
Przykład 2: aria-label zawierająca tekst placeholder
Widoczna etykieta: „Szukaj” (z placeholder)
<input type="search" aria-label="Szukaj na stronie" placeholder="Szukaj...">
Nazwa dostępna: „Szukaj na stronie” (zawiera widoczny tekst „Szukaj”)
Przyciski
Przykład 1: Przycisk z widocznym tekstem
Widoczna etykieta: „Zapisz zmiany”
<button>Zapisz zmiany</button>
Nazwa dostępna: „Zapisz zmiany”
Przykład 2: Przycisk z ikoną i widocznym tekstem
Widoczna etykieta: „Dodaj”
<button><br /> <img src="add-icon.svg" alt="" aria-hidden="true">Dodaj</button>
Nazwa dostępna: „Dodaj”
Przykład 3: Przycisk z obrazem tekstu i aria-label
Widoczna etykieta: Obraz z napisem „Menu”
<button aria-label="Otwórz menu nawigacyjne"><br /> <img src="menu-text.svg" alt="Menu" aria-hidden="true"><br /> </button>
Nazwa dostępna: „Otwórz menu nawigacyjne” (zawiera widoczny tekst „Menu”)
Linki
Przykład 1: Link z widocznym tekstem i aria-label
Widoczna etykieta: „Regulamin”
<a href="/regulamin" aria-label="Przeczytaj pełny regulamin serwisu">Regulamin</a>
Nazwa dostępna: „Przeczytaj pełny regulamin serwisu” (zawiera widoczny tekst „Regulamin”)
Nieprawidłowe implementacje
Pola formularzy
Przykład 1: placeholder jako jedyna etykieta bez nazwy dostępnej
Widoczna etykieta: „Email” (z placeholder)
<input type="email" placeholder="Email">
Nazwa dostępna: Brak (lub zależy od przeglądarki/technologii wspomagającej, ale jest niezgodne z WCAG, ponieważ widoczny tekst nie jest zawarty w nazwie dostępnej)
Przykład 2: aria-label nie zawiera widocznego tekstu <label>
Widoczna etykieta: „Hasło”
<label for="password">Hasło:</label><br /><input type="password" id="password" aria-label="Twoje dane logowania użytkownika">
Nazwa dostępna: „Twoje dane logowania użytkownika”. NIE zawiera widocznego tekstu „Hasło”.
Przyciski
Przykład 1: aria-label nie zawiera widocznego tekstu przycisku
Widoczna etykieta: „Zamknij”
<button aria-label="Dezaktywuj">Zamknij</button>
Nazwa dostępna: „Dezaktywuj”. NIE zawiera widocznego tekstu „Zamknij”.
Przykład 2: Przycisk ikonowy z widocznym tekstem, którego brakuje w aria-label
Widoczna etykieta: „X” (jako tekst, np. ikona zamknięcia)
<button aria-label="Zamknij okno"><br /> <span>X</span><br /> </button>
Nazwa dostępna: „Zamknij okno”. NIE zawiera widocznego tekstu „X”.
Linki
Przykład 1: aria-label nie zawiera widocznego tekstu linku
Widoczna etykieta: „Więcej”
<a href="#" aria-label="Szczegóły produktu">Więcej</a>
Nazwa dostępna: „Szczegóły produktu”. NIE zawiera widocznego tekstu „Więcej”.
Najlepsze praktyki i typowe pułapki
Najlepsze praktyki
Typowe pułapki
Podsumowanie
Kryterium sukcesu WCAG 2.5.3 „Etykieta w nazwie” jest kluczowe dla zapewnienia przewidywalnego i spójnego doświadczenia użytkownika. Dzięki niemu osoby korzystające z technologii wspomagających mogą łatwiej nawigować i wchodzić w interakcję z komponentami interfejsu, odwołując się do widocznych etykiet. Proste praktyki, takie jak prawidłowe użycie elementów <label>, <button> i przemyślane stosowanie atrybutów ARIA, znacząco przyczyniają się do osiągnięcia pełnej zgodności i poprawy dostępności 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.