Включить вкладку по ссылкам на странице, содержащей элементы ввода

Я хочу, чтобы пользователь мог переходить по ссылкам на странице.

Это поведение по умолчанию в большинстве браузеров, но как только страница содержит input элемент становится (в зависимости от браузера) единственным элементом с вкладками на странице, например, a элементы недоступны с клавиатуры. Это не изменится, если tabindex установлен или нет.

Смотрите следующий пример. Сфокусируйтесь на элементе ввода и нажмите tab несколько раз; В то время как Chrome будет фокусировать ссылки, Firefox и Safari будут пропускать эти элементы.

<div>
  <form>
    <input type="text" tabindex="0">
     <button tabindex="0">send</button>
  </form>
</div>
<a href="#" tabindex="0">Link</a>
<a href="#" tabindex="0">Link</a>

Как я могу добиться кросс-браузерной клавиатуры без JavaScript и обойти эту проблему?

1 ответ

Решение

Я не думаю, что есть проблема, которую вы должны решить здесь.

Apple обрабатывает специальные возможности немного по-другому, и для включения вкладок между ссылками необходимо включить пользовательские настройки. Такое поведение хорошо известно в сообществе специальных возможностей, и я бы не рекомендовал реализовывать какие-либо пользовательские решения для изменения этого поведения, поскольку это, скорее всего, только создаст другие проблемы.

Эта статья объясняет более подробно: http://www.weba11y.com/blog/2014/07/07/keyboard-navigation-in-mac-browsers/

Другие вопросы по тегам