Tabindex
Atribut tabindex
slouží k uspořádání položek pro procházení klávesnicí.
Tabindex je universální – lze ho použít na každém elementu.
<div tabindex="0">
</div>
Využití
Použití tabindexu
jsou tři:
- změna pořadí procházení klávesou Tab,
- umožnění procházení/
:focus
u, - zabránění označení Tabem
Změna pořadí
Bez použití tabindexu
se Tabování zachytí jen na určitých prvcích (formuláře a odkazy). Pořadí je potom řízeno umístěním jednotlivých prvků v HTML kódu.
Chceme-li toto pořadí upravit, což se v případě nelogického pořadí může hodit, začneme hodnoty tabindex
u zvyšovat nad nulu (nula je u standardně Tabovatelných elementů výchozí hodnota).
<input value="Druhý">
<input tabindex="1" value="První">
<input value="Třetí">
Tabindex se nemusí (a ani to není příliš vhodné) nastavovat všem položkám, ale jen těm, kterým chceme zvýšit prioritu.
Při řazení pomocí vyšší hodnoty tabindex
u není nutné neustále hodnotu zvyšovat (ve smyslu 1, 2, 3, …), ale lze využít pravidla, že při stejné hodnotě se pořadí řídí umístěním v kódu.
V této ukázce proto s klidem můžeme použít jako hodnoty tabindex
u jen samé jedničky (ukázka) místo:
<input value="Čtvrtý">
<input tabindex="1" value="První">
<input tabindex="2" value="Druhý">
<input tabindex="3" value="Třetí">
Umožnění procházení
Pro elementy mimo formulářové prvky a odkazy způsobí přidání atributu tabindex
schopnost se na element odTabovat nebo prvku udělit focus
. To se hodí v případě, že chceme mít klikací <span>
nebo <div>
a umožnit ho vybrat jen pomocí klávesnice.
<div tabindex="0">
Tabovatelný DIV
</div>
Hodnota 0
zajistí, že se prvek vloží do pořadí dle umístění v HTML kódu.
Zabránění označení
Poslední možnost je tabindex
nastavit na zápornou hodnotu:
<input tabindex="-1" value="Nepůjde vybrat">
U formulářových prvků mě využití moc nenapadá. Když se pole skryje (display: none
nebo visibility: hidden
) či zablokuje (atribut disabled
), tak se na něj dostat nedá. A jinak je poměrně žádoucí, aby se na prvek dostat dalo.
U neformulářových elementů to ale smysl dávat může.
Záporným tabindex
em získá element možnost být :focus
ován – z čehož plyne využití v CSS pomocí příslušného selektoru :focus
.
Rovněž v JavaScriptu jde elementu focus
udělit.
element.focus();
Komentáře