Как игнорировать HTML-элемент из tabindex?

Есть ли способ HTML в браузере запретить индексирование вкладок для определенных элементов?

На моей странице, хотя есть стороннее представление, которое отображается с помощью jQuery, когда вы вставляете это, вы получаете много вкладок, пока элемент управления вкладки не переместится к следующей видимой ссылке на странице, поскольку все вещи, скрыты для пользователя визуально.

Ответ 1

Вы можете использовать tabindex="-1".

спецификация HTML5 W3C поддерживает отрицательные значения tabindex:

Если значение представляет собой отрицательное целое число
Пользовательский агент должен установить флаг фокусировки tabindex элемента, но не должен позволять достигать элемента с помощью последовательной навигации по навигации.


Следите за тем, что это функция HTML5 и может не работать со старыми браузерами.
Чтобы быть стандарт W3C HTML 4.01 (с 1999 года), tabindex должен быть положительным.

Ответ 2

Не забывайте, что даже если tabindex является строчным в спецификациях и в HTML, в Javascript/DOM это свойство называется tabindex.

Не теряйте рассудок, пытаясь понять, почему ваши программно измененные индексы табуляции, вызывающие element.tabindex = -1, не работают. Используйте element.tabindex = -1.

Ответ 3

Если это элементы, естественно, в порядке вкладок, таких как кнопки и привязки, удаление их из порядка вкладок с помощью tabindex = -1 - это вид запаха доступности. Если они предоставляют дублирующую функциональность, удаляя их из порядка вкладок, это нормально, и рассмотрите возможность добавления aria-hidden = true к этим элементам, чтобы вспомогательные технологии игнорировали их.

Ответ 4

Если вы работаете в браузере, который не поддерживает tabindex="-1", вы можете уйти, просто передав вещи, которые нужно пропустить , действительно высокий индекс вкладки. Например, tabindex="500" в основном перемещает порядок вкладок объекта в конец страницы.

Я сделал это для длинной формы ввода данных с кнопкой, брошенной посередине. Это не кнопка, которую люди нажимают очень часто, поэтому я не хотел, чтобы они случайно встали на нее и нажали клавишу ввода. disabled не будет работать, потому что это кнопка.

Ответ 5

Такой хак вроде tabIndex = -1 не работает для меня с Chrome v53.

Это работает для хрома и большинства браузеров:

element.removeAttribute('tabindex');

Ответ 6

Просто добавьте атрибут disabled к элементу (или используйте jQuery, чтобы сделать это для вас). Отключено предотвращает фокусировку или выделение ввода.

Ответ 7

Способ сделать это - добавление tabindex="-1". Добавляя это к определенному элементу, он становится недоступным при навигации по клавиатуре. Существует большая статья здесь, которая поможет вам в дальнейшем понять TabIndex.