aria-current
Oznacza element reprezentujący bieżącą pozycję w zbiorze — aktywną stronę w nawigacji, bieżący krok w kreatorze, dzisiejszą datę w wybieraku dat. Bardziej precyzyjny niż aria-selected; stosuj na linkach i elementach, gdzie selekcja nie jest właściwą metaforą.
Kiedy używać
Na jednym elemencie reprezentującym „gdzie jesteś” w zbiorze powiązanych elementów. Klasycznym przypadkiem jest aktywny link w nawigacji głównej: czytnik ekranu ogłasza „Cennik, bieżąca strona, link”, a użytkownicy widzący widzą wyróżniony element zgodny z tym komunikatem.
Inne częste przypadki:
- Bieżący krok w formularzu wieloetapowym lub kreatorze (
aria-current="step"). - Dzisiejsza data w siatce kalendarza (
aria-current="date"). - Aktywny okruszek nawigacyjny (
aria-current="page"). - Aktualnie odtwarzana pozycja na liście odtwarzania (
aria-current="true").
Różnice wobec powiązanych stanów:
aria-current— „jesteś tutaj” wewnątrz nawigacji lub zbioru elementów. Stosowany na linkach i podobnych widżetach, które nie opierają się na selekcji.aria-selected— selekcja wewnątrz kontenera wyborowego (tablist, listbox, tree, grid). Selekcję zmienia użytkownik.aria-pressed— przycisk przełączający. Sam przycisk jest włączony lub wyłączony.aria-checked— pole wyboru lub przycisk radiowy. Niezależny wybór.
Jak utrzymywać synchronizację
Dozwolone wartości: "page", "step", "location", "date", "time", "true", "false". Wybierz najbardziej szczegółowy token — "page" dla linków nawigacyjnych, "step" dla kreatorów, "date" dla kalendarzy. "true" to ogólny zamiennik, gdy żaden inny nie pasuje. "false" (domyślne) oznacza „nie bieżący”; zwykle po prostu pomijaj atrybut przy elementach niebędących bieżącymi.
W menu nawigacyjnym dokładnie jeden link powinien w danym momencie mieć aria-current. Aktualizuj go po stronie klienta przy zmianie trasy; strony renderowane po stronie serwera mogą go renderować bezpośrednio w HTML.
Oznacz wizualnie bieżący element, aby użytkownicy widzący otrzymali tę samą wskazówkę. Typowy wzorzec: [aria-current="page"] { font-weight: 600; }.
Typowe błędy
- Ustawienie
aria-current="true"na każdym linku nawigacyjnym lub na żadnym. - Użycie
aria-selectedna linku nawigacyjnym — błędna semantyka; link nie jest opcją do wyboru. - Zapominanie o aktualizacji
aria-currentpo zmianie trasy po stronie klienta w aplikacji jednostronicowej. - Stylowanie stanu aktywnego w CSS bez ustawiania
aria-current. Czytniki ekranu nie ogłaszają nic wyróżniającego. - Użycie
aria-current="page"na przycisku, który nie jest linkiem nawigacyjnym. - Ustawienie
aria-currentna kontenerze<nav>zamiast na konkretnym linku.
Przykład
<nav aria-label="Primary">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/pricing" aria-current="page">Pricing</a></li>
<li><a href="/docs">Docs</a></li>
</ul>
</nav>