У меня возникают проблемы с поиском способа продвижения VoiceOver к определенному элементу в Mobile Safari.
Пока что пробовал:
<a href="#target">Skip</a>
...
<a name="target"></a>
Это (иногда) продвигается к цели, если страница прокручиваема, но не работает согласованно на длинных и коротких страницах, а иногда приводит к тому, что следующий элемент не будет прочитан!
Я также пробовал:
<a href="javascript:someElement.focus()">Skip</a>
К сожалению, это не работает для полей без ввода.
Более продвинутый, я попытался поместить ссылку перед элементом, который я хочу пропустить, и попытался установить для этого элемента значение aria-hidden="true"
, но по некоторым причинам это не работает для <header>
элементов.
Одна вещь, которая сработала, это физическое перемещение элемента, который я хочу пропустить перед пропуском ссылки, например:
<a id="skip" href="javascript:$('header').insertBefore($('#skip'));">Skip</a>
К сожалению, это по-прежнему не приводит к автоматическому переходу к следующему элементу, и при выходе вы не запускаете событие размытия, поэтому у меня нет хорошего механизма для восстановления ссылки на исходное местоположение, когда пользователь перемещает курсор.
Кажется, это должно быть легко, и у меня заканчиваются идеи. Есть ли решения, которые сработали для всех вас?