Skip to content

Commit de70e42

Browse files
committed
tabindex
1 parent 84fcae4 commit de70e42

1 file changed

Lines changed: 10 additions & 6 deletions

File tree

2-ui/4-forms-controls/2-focus-blur/article.md

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,20 @@
112112

113113
Это можно изменить HTML-атрибутом `tabindex`.
114114

115-
Цель этого атрибута - указать порядковый номер элемента, когда клавиша `key:Tab` используется для переключения между элементами.
115+
Любой элемент поддерживает фокусировку, если имеет `tabindex`. Значение этого атрибута - порядковый номер элемента, когда клавиша `key:Tab` (или что-то аналогичное) используется для переключения между элементами.
116116

117117
То есть: если у нас два элемента, первый имеет `tabindex="1"`, а второй `tabindex="2"`, то находясь в первом элементе и нажав `key:Tab` -- мы переместимся во второй.
118118

119+
Порядок перебора таков: сначала идут элементы со значениями `tabindex` от `1` и выше, в порядке `tabindex`, а затем элементы без `tabindex` (например, обычный `<input>`).
120+
121+
При совпадающих `tabindex` элементы перебираются в том порядке, в котором идут в документе.
122+
119123
Есть два специальных значения:
120124

121-
- `tabindex="0"` делает элемент последним.
122-
- `tabindex="-1"` значит, что `key:Tab` игнорирует этот элемент.
125+
- `tabindex="0"` ставит элемент в один ряд с элементами без `tabindex`. То есть, при переключении такие элементы будут после элементов с `tabindex ≥ 1`.
123126

124-
**Любой элемент поддерживает фокусировку, если имеет `tabindex`.**
127+
Обычно используется, чтобы включить фокусировку на элементе, но не менять порядок переключения. Чтобы элемент мог участвовать в форме наравне с обычными `<input>`.
128+
- `tabindex="-1"` позволяет фокусироваться на элементе только программно. Клавиша `key:Tab` проигнорирует такой элемент, но метод `elem.focus()` будет действовать.
125129

126130
Например, список ниже. Кликните первый пункт в списке и нажмите `key:Tab`:
127131

@@ -140,9 +144,9 @@
140144
</style>
141145
```
142146

143-
Порядок такой: `1 - 2 - 0` (ноль всегда последний). Обычно `<li>` не поддерживает фокусировку, но `tabindex` полностью включает её, а также события и стилизацию псевдоклассом `:focus`.
147+
Порядок такой: `1 - 2 - 0`. Обычно `<li>` не поддерживает фокусировку, но `tabindex` включает её, а также события и стилизацию псевдоклассом `:focus`.
144148

145-
```smart header="`elem.tabIndex` тоже работает"
149+
```smart header="Свойство `elem.tabIndex` тоже работает"
146150
Мы можем добавить `tabindex` из JavaScript, используя свойство `elem.tabIndex`. Это даст тот же эффект.
147151
```
148152

0 commit comments

Comments
 (0)