tabindex
Baseline Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с октября 2018 года.
Атрибут tabindex глобального атрибута позволяет разработчикам делать HTML-элементы фокусируемыми, разрешать или запрещать их последовательную фокусируемость (обычно с помощью клавиши Tab, отсюда и название) и определять их относительный порядок для последовательной навигации по фокусу.
Попробуйте
Он принимает целое число в качестве значения, с различными результатами в зависимости от значения целого числа:
Примечание: Если HTML-элемент отображается и имеет атрибут tabindex с любым допустимым целочисленным значением, элемент можно сфокусировать с помощью JavaScript (вызвав метод focus()) или визуально, щелкнув мышкой. Конкретное значение tabindex управляет тем, является ли элемент tabbable (т. е. доступен для последовательной навигации с помощью клавиатуры, обычно клавиши Tab).
- Отрицательное значение (точное отрицательное значение фактически не имеет значения, обычно
tabindex="-1") означает, что элемент недоступен для последовательной навигации с помощью клавиатуры.Примечание:
tabindex="-1"может быть полезным для элементов, которые не должны быть навигационно доступны непосредственно с помощью клавиши Tab, но которым нужно установить фокус клавиатуры. Примеры включают скрытое модальное окно, которое должно быть сфокусировано, когда оно появляется, или сообщение об ошибке отправки формы, которое должно быть немедленно сфокусировано, когда подается неправильная форма. -
tabindex="0"означает, что элемент должен быть доступен для последовательной навигации с помощью клавиатуры после любых положительныхtabindexзначений. Порядок навигации по фокусу этих элементов определяется их порядком в исходном коде документа. - Положительное значение означает, что элемент должен быть доступен для последовательной навигации с помощью клавиатуры, а его порядок определяется значением числа. То есть
tabindex="4"фокусируется передtabindex="5"иtabindex="0", но послеtabindex="3". Если несколько элементов имеют одинаковое положительное значениеtabindex, их относительный порядок по отношению друг к другу соответствует их положению в исходном коде документа. Максимальное значение дляtabindexсоставляет 32767. - Если атрибут
tabindexвключен без установленного значения, доступность элемента определяется агентом пользователя.Предупреждение: Рекомендуется использовать только
0и-1в качестве значенийtabindex. Избегайте использования значенийtabindexбольших, чем0, и свойств CSS, которые могут изменить порядок фокусируемых HTML-элементов (Порядок элементов в гибкой компоновке). Это затрудняет навигацию и работу с содержимым страницы для людей, которые полагаются на навигацию с помощью клавиатуры или вспомогательных технологий. Вместо этого запишите документ с элементами в логической последовательности.
У некоторых фокусируемых HTML-элементов по умолчанию установлено значение tabindex 0 под капотом агентом пользователя. Эти элементы представляют собой <a> или <area> с атрибутом href, <button>, <frame> Устаревший , <iframe>, <input>, <object>, <select>, <textarea> и SVG <a> элемент или <summary> элемент, который предоставляет сводку для <details> элемента. Разработчики не должны добавлять атрибут tabindex к этим элементам, если это не изменяет стандартное поведение (например, добавление отрицательного значения удалит элемент из порядка навигации по фокусу).
Предупреждение: Атрибут tabindex не должен использоваться с элементом <dialog>.
Вопросы доступности
Избегайте использования атрибута tabindex в сочетании с не-интерактивным контентом, чтобы сделать что-то, предполагающее интерактивность, доступным для фокусировки с помощью клавиатуры. Примером этого является использование элемента <div> для описания кнопки вместо элемента <button>.
Интерактивные компоненты, созданные с использованием неинтерактивных элементов, не перечислены в дереве доступности. Это препятствует возможности вспомогательных технологий перемещаться к этим компонентам и управлять ими. Содержимое должно быть семантически описано с использованием интерактивных элементов (<a>, <button>, <details>, <input>, <select>, <textarea> и т. д.). Эти элементы имеют встроенные роли и состояния, которые сообщают состояние доступности, а не требуют управления с помощью ARIA.
Спецификации
| Спецификация |
|---|
| Стандарт HTML # attr-tabindex |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
tabindex |
1 | 12 | 1.5 | 15 | ≤4 | 18 | 4 | 14 | ≤3.2 | 1.0 | 4.4 |
См. также
- Все глобальные атрибуты
-
HTMLElement.tabIndex, отражающий этот атрибут - Проблемы с доступностью при использовании
tabindex: см. Не используйте tabindex больше 0 от Адриана Росселли
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex