tabindex – kolejność fokusu (atrybut)
<element tabindex="0">
Decyduje, czy do elementu da się dotrzeć klawiszem Tab i czy skrypt może ustawić na nim fokus. Odnośniki, przyciski i pola formularzy mają fokus same z siebie, więc tabindex służy do własnych kontrolek i elementów, na których skrypt ma ustawić fokus (nagłówka po wczytaniu treści, komunikatu o błędzie).
Wartości
0– element dostaje fokus w naturalnej kolejności strony.-1– fokus tylko przez skrypt (element.focus()), klawisz Tab go pomija.- Liczba dodatnia – kolejność uprzywilejowana przed wszystkim innym. Psuje naturalną nawigację strony; nie używaj jej.
- Dotyczy: wszystkich elementów
- W JavaScripcie:
element.tabIndex
Przykłady
Ustawienie fokusu na komunikacie po wysłaniu formularza:
<div id="message" tabindex="-1" role="alert">Twoje zamówienie zostało wysłane.</div>
<script>
document.getElementById('message').focus();
</script>
Przewijany blok – z tabindex="0" da się go przewijać także strzałkami:
<section class="table-wrapper" tabindex="0" aria-label="Cennik">…</section>
Dostępność
Kolejność fokusu powinna odpowiadać kolejności treści na ekranie. Element, który dostaje fokus, musi mieć widoczny wskaźnik fokusu (obrys) i mieć sens jako cel – tabindex="0" przy akapitach tekstu tylko spowalnia użytkowników klawiatury.
Na co uważać
tabindexnie robi z elementu przycisku:divztabindex="0"dostaje fokus, ale ani Enter, ani spacja go nie uruchamiają. Kontrolki to zadanie dlabutton.- Elementy, które nie mają mieć fokusu (wyłączone, ukryte, wewnątrz
inert), nie dostaną go także ztabindex.
Obsługa w przeglądarkach
Baseline – szeroko dostępne: działa we wszystkich popularnych przeglądarkach, i to od dawna (najpóźniej od 2015 roku). Od wersji: Chrome 1, Firefox 1.5, Safari 3.1. Stan: październik 2026 (MDN browser-compat-data).
Zobacz też:
button – przycisk
a – odnośnik
inert – nieaktywna część strony (atrybut)
accesskey – skrót klawiszowy (atrybut)
autofocus – fokus po załadowaniu strony (atrybut)