У меня есть html макет, подобный следующему:
<li role="option" tabindex="0">Item1</li>
Этот элемент легко поддерживает службу озвучивания, когда элемент сфокусирован.
Теперь макет другого элемента такой:
<li role="option" tabindex="0">
<span>Item1</span>
<ul><li role="option" tabindex="0">Item2</li></ul>
</li>
Служба закадрового перевода работает не так, как ожидалось. Теперь, если я сосредоточусь на родителе li, он будет выглядеть как item1, item 2 вместе. Но я хочу, чтобы браузер прочитал прочитанный элемент 1, а затем, когда мы сфокусируемся на элементе 2, как только он будет сфокусирован.
Чтобы решить эту проблему, я попытался сначала скрыть дочерний элемент, когда родительский элемент сфокусирован, и показать его условно. Так что теперь он не читает элемент 2, когда элемент 1 сфокусирован.
Но когда фокус перемещается с элемента 1 на элемент 2, он ничего не читает, поскольку фокус перемещается от родителя к дочернему элементу.
Так есть ли способ вручную запустить службу наложения голоса, когда пункт 2 находится в фокусе?