Здесь происходит много всего.
Прежде всего, весь текст на веб-странице доступен для программы чтения с экрана и не нуждается в tabindex="0"
, чтобы сделать его доступным длячитать.Программы чтения с экрана предоставляют множество сочетаний клавиш для навигации по различным типам элементов (заголовки, таблицы, списки и т. Д.).Для элементов, у которых нет клавиши прямой навигации, пользователь программы чтения с экрана может использовать клавиши со стрелками вверх / вниз для обхода дерева доступности (аналогично DOM).
Во-вторых,Что касается tabindex="0"
, то он должен быть установлен только для интерактивных элементов. tabindex spec гласит:
авторы должны делать элементы фокусируемыми, только если они действуют как интерактивные элементы управления или виджеты.Кроме того, авторы должны убедиться, что эти фокусируемые элементы имеют соответствующий атрибут роли ARIA.
А что касается ролей ARIA во втором предложении в спецификации, если ваш элемент получает фокус, если он не является изначально фокусируемым элементом (таким как <a>
или<button>
или <input>
), тогда он должен иметь соответствующую роль , чтобы пользователь программы чтения с экрана знал, как с ней взаимодействовать.
И, касаясь этого, вы упомянулиaria-label
.aria-label
только для элементов, которые играют соответствующую роль.См. « 2.10 Практическая поддержка: aria-label, aria-labelledby и aria-descriptionby ».
Итак, учитывая все это, немного сложно ответить на ваш вопрос, потому что ваш простой пример недостаточно конкретный.A <div>
без роли не следует читать как «группа».Группа обычно role="region"
(или <section>
).Поведение, которое вы слышите, может зависеть от того, какой браузер вы используете, какую программу чтения с экрана, как вы перемещаетесь с помощью программы чтения с экрана ( tab или arrow или клавиша быстрого набора).