Атрибут tabindex
Атрибутът tabindex задава ред
на получаване на фокус при преминаване между елементи
с помощта на клавиша Tab.
Натискайки този клавиш може да активирате последователно някои елементи на страницата (връзки и елементи на форми). Активните елементи ще получават фокус за въвеждане.
За полета за въвеждане от тип input
и textarea
фокусът ще се изразява в това, че в полето
ще мига курсор и в него ще може да се
въвежда текст, за
връзките и други елементи това
ще бъде подчертаване по някакъв начин (подчертаване,
обграждане с пунктирана граница и т.н., зависи
от браузъра).
Ако в момента на получаване на фокус елементът не е бил видим на страницата (поради превъртане), то страницата ще се превърти до този елемент.
Ако на елементите не е зададен атрибут tabindex
или той има стойност 0, то преминаването
по тях с клавиша Tab ще върви в ред
на следване на елементите в HTML кода.
Ако на страницата има елементи, на които е зададен
tabindex, то първо преминаването ще
върви по тях, започвайки от по-малката стойност
на атрибута tabindex (най-малкото може да бъде
единица) и така нататък във възходящ ред
на стойностите на атрибута, а когато такива елементи
свършат - преминаването ще продължи по онези елементи,
на които не е зададен tabindex или той има
стойност 0.
Стойност на атрибута са цели числа от
1 до безкрайност. Ако някои
номера са пропуснати - нищо страшно няма да се случи
(например, ако няма номер 2, то
първо фокусът ще попадне на елемент с tabindex,
равен на 1, а след това на елемент с tabindex,
равен на 3).
Ако на страницата в момента на натискане на клавиша
Tab има елемент във фокус (фокусът може да е бил
получен не само с натискане на Tab,
но и с щракване с мишката върху елемент или с атрибута
autofocus),
то следващото натискане на клавиша Tab ще доведе
до това, че фокусът ще получи следващият по ред
елемент след този, който е във фокус (например,
ако в момента фокусът е на елемент с tabindex
3, то следващият ще получи фокус елементът
с tabindex 4).
Ако на поле за въвеждане е зададен атрибут disabled,
то то ще бъде игнорирано при преминавания чрез
клавиша Tab, дори ако на това поле е зададен атрибут
tabindex.
Атрибутът tabindex се прилага към тагове
a,
input,
textarea,
button,
select.
Пример
Нека на инпутите
зададем атрибут tabindex. Натискайте
последователно клавиша Tab и ще видите,
как фокусът за въвеждане ще преминава от първия
инпут към четвъртия, а след това ще продължи по връзките
от началото на страницата (тъй като няма повече елементи
с зададен атрибут tabindex):
<input type="text" tabindex="3" placeholder="number: 3">
<input type="text" tabindex="1" placeholder="number: 1">
<input type="text" tabindex="2" placeholder="number: 2">
<input type="text" tabindex="4" placeholder="number: 4">
:
Вижте също
-
псевдоклас
focus,
който позволява промяна на стиловете на елемент във фокус