Исходя из предоставленного вами кода, наиболее вероятная проблема заключается в том, что даже если вы сделали фокусировку на div с помощью tabindex, его роль по-прежнему остается div, который не является интерактивным элементом.
Хотя спецификация ARIA подразумевает, что aria-labelledby может использоваться с любым элементом, на практике большинство программ чтения с экрана и браузеров учитывают его только для интерактивных элементов и выбирают неинтерактивные элементы. Это связано с тем, что aria-labelledby будет считываться программой чтения с экрана вместо содержимого элемента, что в большинстве случаев не подходит для пользователей программы чтения с экрана.
Если элемент получает фокус, он, скорее всего, предназначен для интерактивного взаимодействия, поэтому исправлением будет присвоение ему роли арии , которая соответствует его предполагаемой функциональности (например, кнопка). Если он действительно неинтерактивный, вероятно, он не должен быть в порядке табуляции. Если вы предоставите больше контекста о цели div, я мог бы дать несколько более подробных советов о том, какая роль будет лучше
С другой стороны, tabindex = "0" обычно лучше, чем объявление определенной позиции в порядке табуляции. Tabindex = "0" позволит элементу получать фокус, но не заставляет определенную позицию (он будет просто вписываться в порядок вкладок, где бы он ни был, если бы он был изначально ориентирован на фокус). Таким образом, вам не нужно добавлять табличные индексы к каждому интерактивному элементу на странице