(Отвечая на мой собственный вопрос согласно https://stackoverflow.blog/2011/07/01/its-ok-to-ask-and-answer-your-own-questions/)
Даже когда все в порядке, при тестировании в Chrome вы получите ошибку «Нет элемента в поле зрения».
При тестировании в Edgeбраузер, вы не получите никакой ошибки. (во время прослушивания вашего приложения с помощью Narrator, Ctrl+Win+Enter
для запуска / остановки в Win10)
Используйте tabindex
& role
, в зависимости от того, какой элемент HTML, один изниже может работать:
<div tabindex="0" role="heading">A</div>
<div tabindex="0" role="textbox">A</div>
<span tabindex="0" role="alert">A</span>
<span tabindex="0" role="heading">A</span>
<p tabindex="0" role="presentation"></p>
<a tabindex="0" role="link">A</a>
<a tabindex="0" xrole="menuitem">A</a>
<ul tabindex="0" role="menu"><li tabindex="0" role="menuitem">A</li></ul>
<header tabindex="0" role="banner">A</header>
<footer tabindex="0" role="contentinfo">A</footer>
NOTE: Above not perfect to the syntax.
Добавить aria-label
или attr.aria-label
, если текст отличается, одна будет работать для вас:
<div tabindex="0" role="heading" aria-label="Text2">Text1</div>
OR
<div tabindex="0" role="heading" attr.aria-label="Text2">Text1</div>
Для Edge все работает нормально.
Для браузера Chrome div
/ span
может не работать, затем измените их на h1, h2, etc
и измените внешний вид с помощью css.
Надеюсь, что это помогло. Не стесняйтесь обновить этот ответ, поэтомуоно станет более полным, другие будут тратить меньше времени.