Napisane przez Karolina Kaulfersch w dniu 29 września 2025

aria-label w HTML: Jak używać go poprawnie

Dostępność
Ikona koszyka zakupowego bez wyjaśnienia pozostaje niewidoczna dla użytkowników czytników ekranu. Z odpowiednią etykietą aria-label staje się ona zrozumiałym przyciskiem. Dowiedz się, jak skutecznie używać etykiety aria-label w HTML – aby strony internetowe były dostępne, zgodne z przepisami i przyjazne dla użytkownika.

aria-label written in white box, below is a black keyword. On the left is the title:

aria-label: Mały kod, duży wpływ

Wyobraź sobie, że odwiedzasz sklep internetowy i widzisz tylko ikonę koszyka. Użytkownicy widzący od razu rozumieją funkcję zamawiania. Jednak dla użytkowników korzystających z czytników ekranu przycisk pozostaje niezrozumiały. Dopiero z etykietą aria, taką jak „Dodaj do koszyka”, staje się on jasno opisany i dostępny.

Dostępność cyfrowa zaczyna się w kodzie. Semantyczny HTML stanowi fundament, a aria-label jedynie uzupełnia tam, gdzie standardowe elementy nie wystarczają. Przynosi to korzyści nie tylko instytucjom, ale także firmom – zwłaszcza sklepom internetowym, gdzie przejrzyste przyciski i pola formularzy zapewniają płynny proces zamawiania.

Czym jest aria-label?

Atrybut aria-label jest częścią specyfikacji ARIA (Accessible Rich Internet Applications) opracowanej przez W3C (World Wide Web Consortium). W3C to międzynarodowa organizacja opracowująca otwarte standardy internetowe, w tym Wytyczne dotyczące dostępności treści internetowych (WCAG) .

aria-label dodaje niewidoczne etykiety do elementów HTML, które czytniki ekranu informują o braku widocznych etykiet lub ich niejasności. To niweluje lukę między designem a dostępnością techniczną, czyniąc interfejsy zrozumiałymi dla każdego.

Dlaczego atrybuty ARIA są ważne

Atrybuty ARIA zostały opracowane, aby zapewnić dostępność tam, gdzie HTML sięga granic swoich możliwości. Nowoczesne strony internetowe z dynamiczną treścią – taką jak elementy JavaScript, niestandardowe widżety czy złożone projekty wizualne – niosą ze sobą własne wyzwania. W tym przypadku atrybut ARIA, taki jak aria-label, gwarantuje, że nawet te interfejsy są poprawnie interpretowane przez czytniki ekranu.

Różnica w stosunku do widocznych etykiet w interfejsie użytkownika

Kluczowa różnica między etykietami aria-label a widocznymi etykietami leży w grupie docelowej: etykiety widoczne są dostępne dla wszystkich użytkowników, natomiast aria-label jest przeznaczony wyłącznie dla technologii wspomagających.

Widoczne etykiety to standardowe opisy tekstowe wyświetlane w interfejsie — na przykład tekst „Adres e-mail” powyżej lub obok pola wprowadzania danych:

<label for="email">Adres e-mail</label>

<input type="email" id="email" name="email">

Wszyscy użytkownicy natychmiast rozpoznają, co wpisać w polu, a czytniki ekranu odczytują tekst na głos. Jeśli brakuje takiej widocznej etykiety, można użyć etykiety aria-label. Dodaje ona niewidoczny opis, który rozpoznają tylko czytniki ekranu:

<input type="email" id="email" name="email" aria-label="Adres e-mail">

Dzięki temu pole pozostaje zrozumiałe i dostępne nawet bez widocznej etykiety.

aria-label in center, .sr-only and aria-labelledby in the corners.

Jak aria-label działa w HTML?

Czytniki ekranu ustalają dostępną nazwę elementu w ustalonej kolejności:

  • aria-oznaczona przez – odwołuje się do widocznego tekstu w kodzie

  • aria-label – niewidzialna etykieta

  • widoczny <etykieta> – dla pól formularza

  • treść tekstowa – np. tekst przycisku

  • atrybut tytułu – ostatni powrót

Ikona przycisku wyszukiwania nie jest rozpoznawana bez dodatkowego opisu. aria-label="Szukaj" Czytnik ekranu odczytuje na głos słowo „Szukaj” — czytelne i łatwe w użyciu.

Przykład:
Przycisk wyszukiwania z ikoną lupy nie zawiera widocznego tekstu. Bez dodatkowych informacji byłby bezużyteczny dla czytników ekranu. Jeśli jednak dodasz… aria-label="Szukaj" , czytnik ekranu ogłasza „Szukaj” i ignoruje wszystkie inne możliwe źródła.

Przykłady aria-label dla przycisków i linków

Typowym zastosowaniem aria-label są przyciski zawierające jedynie ikonę. Dla użytkowników widzących lupa jest natychmiast rozumiana jako funkcja wyszukiwania, ale dla czytników ekranu nie ma ona żadnego znaczenia. Dzięki aria-label przycisk staje się zrozumiały również dla technologii wspomagających:

<button aria-label="Rozpocznij wyszukiwanie">

<svg aria-hidden="true" width="24" height="24">…</svg>

</przycisk>

Innym praktycznym przykładem są listy. Wiele sklepów internetowych korzysta z list opartych na ikonach, takich jak listy kategorii z symbolami. Czytniki ekranu wyświetlają jedynie komunikat „Lista z 5 pozycjami”. aria-label="Kategorie produktów" , staje się jasne, co zawiera lista.

Linki z kolei powinny jasno opisywać, dokąd prowadzą. Niejasne sformułowanie, takie jak „Dowiedz się więcej”, jest niedostępne, ponieważ pozostaje niejasne bez kontekstu. aria-label może to poprawić:

<a href="/article/accessibility"

aria-label="Przeczytaj artykuł o dostępności cyfrowej">

Przeczytaj artykuł o dostępności cyfrowej

</a>

aria-label dla elementów formularza

Formularze stanowią centralny element niemal każdej witryny internetowej. Aby były dostępne, każde pole formularza powinno mieć czytelną nazwę. Zazwyczaj robi się to za pomocą widocznego pola. <etykieta> element:

<label for="email">Adres e-mail</label>

<input type="email" id="email" name="email">

Zaleta: Wszyscy użytkownicy widzą etykietę „Adres e-mail”, a czytniki ekranu odczytują ją na głos. Dodatkowo, użytkownicy mogą kliknąć etykietę, aby automatycznie ustawić fokus na polu.

Czasami, ze względów projektowych, nie używa się widocznej etykiety – na przykład, gdy w polu pojawia się tylko symbol zastępczy. Dla użytkowników czytników ekranu jest to problematyczne, ponieważ symbole zastępcze nie są traktowane jako oficjalne etykiety. W takich sytuacjach z pomocą przychodzi aria-label:

<input type="e-mail"

aria-label="Adres e-mail"

symbol zastępczy="przykład@domena.com">

Użytkownicy widzący widzą to pole tak jak zwykle, natomiast użytkownicy czytników ekranu słyszą „Adres e-mail”. Dzięki temu pole pozostaje zrozumiałe nawet bez widocznej etykiety.

Innym przykładem są pola wprowadzania danych, które wymagają dodatkowe instrukcje —takich jak pola hasła. W tym przypadku prosta etykieta nie wystarczy. aria-opisana przez , pole może być powiązane z dalszymi informacjami:

<input type="hasło"

aria-label="Hasło"

aria-opisana przez="pwd-help">

<div id="pwd-help">Co najmniej 8 znaków, w tym jedna cyfra</div>

W tym przypadku czytnik ekranu najpierw odczyta „Hasło”, a następnie „Co najmniej 8 znaków, w tym jedną cyfrę”.

Ważny: aria-label w formularzach powinna zasadniczo pozostać wyjątek . Widoczny <etykieta> jest prawie zawsze lepszym rozwiązaniem — jest zrozumiałe dla każdego, łatwiejsze w użyciu i wymaga mniej dodatkowej logiki. aria-label powinno służyć głównie jako rozwiązanie awaryjne, gdy etykiety są ukryte ze względu na projekt lub układ.

Role ARIA i ich interakcja z etykietami

Role ARIA opisują funkcję elementu, a aria-label definiuje jego nazwę. Ta kombinacja jest szczególnie ważna w przypadku niestandardowych widżetów, które wykraczają poza standardową semantykę HTML:

<div role="button" aria-label="Zapisz się do newslettera" tabindex="0">

<svg>...</svg>

Zapisać się

</div>

W przypadku interaktywnych widgetów, takich jak menu, istotne są dodatkowe atrybuty. aria-rozszerzona wskazuje, czy menu jest rozwinięte, podczas gdy aria-haspopup sygnalizuje, że element wyzwala wyskakujące okienko lub menu:

<button aria-label="Otwórz menu główne"

aria-expanded="false"

aria-haspopup="true"

aria-controls="menu-główne">

☰

</przycisk>

<ul id="menu-główne" role="menu" ukryte>

<li role="menuitem"><a href="#home">Strona główna</a></li>

<li role="menuitem"><a href="#about">O nas</a></li>

</ul>

Jednakże obowiązuje pierwsza zasada ARIA: używaj natywnego HTML-a, kiedy tylko jest to możliwe. Prawdziwy <przycisk> element jest zawsze lepszy od <div role="przycisk"> , ponieważ zawiera już wszystkie wymagane funkcjonalności.

Woman on her laptop doing online shopping.

aria-label kontra tekst alternatywny

Częstym błędem jest mylenie aria-label z tekstem alternatywnym. Oba służą ułatwieniu dostępu, ale mają różne cele:

  • Tekst alternatywny jest przeznaczony specjalnie dla obrazów i opisuje zawartość wizualną. Pojawia się, gdy obraz nie może zostać załadowany i jest odczytywany na głos przez czytniki ekranu.

  • aria-label , z drugiej strony, można stosować do niemal wszystkich elementów HTML i zapewniać czytnikom ekranu dodatkowe informacje o funkcji lub znaczeniu elementu.

<!-- Poprawnie: Tekst alternatywny dla obrazów -->

<img src="produkt.jpg"

alt="Laptop z otwartym ekranem">

<!-- Poprawnie: aria-label dla przycisku bez tekstu -->

<button aria-label="Dodaj do koszyka">

<svg aria-hidden="true">...</svg>

</przycisk>

W przypadku obrazów obliczenie dostępnej nazwy odbywa się według następującej hierarchii: aria-oznaczona przez nadpisuje aria-label , który z kolei zastępuje alt atrybut. Ale używając aria-label="Tekst alternatywny" zamiast alt atrybut nie jest zalecany— alt powinien być zawsze pierwszym wyborem, jeśli chodzi o grafikę.

Podczas korzystania z ikon SVG należy zachować szczególną ostrożność:

  • Ikony dekoracyjne powinien być ukryty przed czytnikami ekranu aria-ukryta="prawda" .

  • Ikony funkcjonalne potrzebuję znaczącej etykiety-aria.

Najlepsze praktyki korzystania z aria-label

Efektywne wykorzystanie aria-label odbywa się zgodnie z jasnymi wytycznymi, aby zapewnić dostępność i łatwość utrzymania kodu. Programiści powinni pamiętać o kilku czynnikach, aby uniknąć nieporozumień wśród użytkowników:

  • Używaj aria-label oszczędnie: Stosuj tylko wtedy, gdy natywne elementy HTML lub widoczne etykiety nie są wystarczające. Elementy, które mają już opisową nazwę w postaci treści tekstowej lub atrybutów, nie potrzebują dodatkowej etykiety aria-label.

  • Napisz jasne i zwięzłe opisy: Etykieta aria musi być oczywista i dokładnie opisywać przeznaczenie elementu. Unikaj terminów technicznych i nazw wewnętrznych, które nie są zrozumiałe dla użytkowników końcowych.

  • Połącz z semantycznym HTML-em: ARIA uzupełnia HTML, ale go nie zastępuje. Używaj elementów semantycznych, takich jak <przycisk> , <nav> , Lub <główny> jako fundament i rozszerzać je o atrybuty ARIA, gdy jest to konieczne.

<!-- ŹLE: zbędna etykieta aria -->

<button aria-label="Zaloguj się">Zaloguj się</button>

<!-- PRAWO: nie potrzeba aria-label -->

<button>Zaloguj się</button>

  • Weź pod uwagę zarządzanie skupieniem: W przypadku interaktywnych widżetów kluczowe jest prawidłowe zarządzanie fokusem. Okna pop-up i okna dialogowe muszą początkowo ustawiać fokus na pierwszy element, który można ustawić w fokusie, a po zamknięciu przywracać fokus do elementu, który go uruchamia.

Typowe błędy w etykietowaniu ARIA

Najczęstsze błędy implementacji wynikają z braku zrozumienia hierarchii ARIA i nieprawidłowego użycia:

  • Konfliktowe etykiety: Jeśli aria-label nie pasuje do widocznego tekstu, użytkownicy oprogramowania do wprowadzania głosowego są zdezorientowani. Na przykład, użytkownik widzi etykietę „Vorname”, ale czytnik ekranu podaje „First Name”. W takim przypadku polecenia głosowe nie działają.

  • Nadmierne wykorzystanie ARIA: Dodanie aria-label do każdego elementu ogranicza dostępność. Użytkownicy czytników ekranu są przeciążani zbędnymi informacjami, zamiast szybciej osiągać swoje cele.

  • Nie udało się zaktualizować zawartości dynamicznej: W przypadku elementów sterowanych JavaScriptem należy upewnić się, że wartości aria-label są aktualizowane po zmianie stanu. Jest to szczególnie ważne w przypadku widżetów ze stanami dynamicznymi.

  • Nieprawidłowe etykiety: Etykiety, które nie odzwierciedlają już bieżącej funkcji elementu, wywołują fałszywe oczekiwania i utrudniają nawigację.

Three people with laptop, pen and paper symbolizing accessibility checking.Lista kontrolna dla programistów i projektantów

  • Sprawdź konieczność: Czy element naprawdę potrzebuje etykiety aria-label, czy wystarczy semantyczny HTML?

  • Przetestuj za pomocą czytników ekranu: Do weryfikacji można użyć programów NVDA (Windows), VoiceOver (Mac) lub innych czytników ekranu.

  • Sprawdź poprawność obliczeń dostępnej nazwy: Sprawdź za pomocą narzędzi programistycznych przeglądarki, która nazwa jest faktycznie obliczana.

  • Zapewnij spójność: Stosuj spójne sformułowania dla podobnych elementów w całej witrynie.

  • Dokumentowanie implementacji ARIA: Wyjaśnij w kodzie dlaczego i w jaki sposób używane są atrybuty ARIA.

  • Weź pod uwagę wszystkie metody wprowadzania danych: Upewnij się, że widżety można obsługiwać zarówno za pomocą klawiatury, jak i dotyku.

  • Listy przeglądów i nawigacja: Użyj semantycznych znaczników HTML dla list i linków nawigacyjnych, dodając atrybuty ARIA, gdy jest to konieczne.

Wnioski: Jak skutecznie używać aria-label

Atrybut aria-label to cenne narzędzie dla dostępnych stron internetowych, ale wymaga przemyślanej implementacji. Łączy on projekt wizualny z dostępnością semantyczną, ale zawsze należy go traktować jako uzupełnienie semantycznego HTML, a nie jego zamiennik.

Skuteczność aria-label jest najbardziej widoczna w przypadku przycisków ikon, niestandardowych widżetów i przypadków, w których widoczne etykiety zaburzałyby układ wizualny. Jednocześnie wymogi prawne, takie jak BFSG i WCAG 2.1, wymagają systematycznego podejścia do etykiet ARIA.

Kluczem do skutecznego wdrożenia ARIA jest zrozumienie, że dostępność sieci to ważny krok w kierunku włączenia cyfrowego wszystkich ludzi, niezależnie od ich indywidualnych możliwości lub ograniczeń.

Często zadawane pytania

Czy aria-label należy stosować zawsze czy tylko wtedy, gdy jest to konieczne?

Atrybut aria-label należy stosować tylko wtedy, gdy natywne elementy HTML lub widoczne etykiety nie są wystarczające. Nadużywanie prowadzi do powielania informacji i pogorszenia wrażeń użytkownika korzystającego z czytników ekranu.

Jak mogę sprawdzić czy moja etykieta aria-label działa?

Do realistycznych testów używaj czytników ekranu, takich jak NVDA (Windows) lub VoiceOver (Mac/iOS). Narzędzia programistyczne przeglądarek wyświetlają obliczone właściwości i rzeczywistą dostępną nazwę na karcie Dostępność.

Które czytniki ekranu obsługują aria-label?

Nowoczesne czytniki ekranu, takie jak NVDA, JAWS, VoiceOver i TalkBack, zapewniają szerokie wsparcie dla aria-label. Zgodność może się jednak różnić w zależności od przeglądarki i jej wersji, dlatego zaleca się testowanie w różnych konfiguracjach.

Co się stanie, jeśli element nie będzie miał etykiety aria?

Czytniki ekranu korzystają z kolejnej dostępnej nazwy w hierarchii Obliczeń Nazw Dostępnych: aria-labelledby, widocznej zawartości tekstowej lub atrybutu title. Bez żadnej etykiety elementy interaktywne mogą pozostać niezrozumiałe dla technologii wspomagających.

Dostępność zaczyna się w kodzie: dzięki Eye-Able możesz sprawdzić, czy Twoje strony internetowe i aplikacje są zgodne z normami ARIA i innymi barierami — zgodnie z prawem i efektywnie.

Filtr

Filtruj według kategorii

Potwierdź swój wybór przyciskiem na końcu listy po wybraniu kategorii.

Zresetuj filtry

Zmiany w zespole kierowniczym w Eye-Able: Oliver Berchtold

Przeczytaj historię
""

Jak sprawić by Twoją strona internetowa była zgodną z przepisami o Dostępności Cyfrowej w 8 krokach

Przeczytaj historię

Wezwania dotyczące dostępności w Austrii? Co europejskie firmy muszą wiedzieć już teraz

Przeczytaj historię

Przypadek Carrefoura: Czego naprawdę uczy nas o dostępności

Przeczytaj historię

Potrzebujesz więcej informacji?

Skontaktuj się z nami, a chętnie Ci pomożemy.

a man with down syndrome shows a woman something on the computer. they both laugh