Запустите службу озвучивания вручную с помощью javascript - PullRequest
0 голосов
/ 24 марта 2020

У меня есть 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 находится в фокусе?

...