Есть ли обходной путь к ошибке Safari/Opera, которую вы не можете закладки через гиперссылки?

в IE, Firefox, Chrome и большинство интерфейсы на базе Windows, которые я использовал,Tab ключ можно использовать для перехода от одного поля формы или гиперссылки к следующему (например, "действенные" элементы) (примечание: Я не тестировал на других операционных системах)

однако Safari и Opera пропустить все гиперссылки на веб-странице нашивая. ИМХО его удобство использования ошибка, но я отвлекся.

есть обходной путь / взломать, чтобы сделать Safari и / или Opera перемещаться по этим ссылкам?

Я заметил, что Opera примет tabindex атрибут, если установлено, например tabindex="0" таким образом, поддерживая ссылки "индекс" в потоке DOM на странице... но Safari не хочет принимать это.

для тех, кто заинтересован, этот бит jQuery сделает все гиперссылки tabbable.

//Make links 'tab-able' in Opera
$(document).ready(function(){
  if($.browser.opera){
    $('a[href]').attr('tabindex', 0);
  }
});

...и хотя это, кажется, работает для оперы... есть лучше обходной путь?

3 ответов


в Safari это не ошибка, это необязательная функция. На Mac вкладка выбирает объекты, отличные от ссылок, опция + вкладка выбирает все объекты. Вы можете поменять поведение этих ярлыков в настройках - >дополнительно. Тогда вкладке будет вести себя как в других браузерах.

в Windows опция + вкладка недоступна. По умолчанию tab выбирает объекты, отличные от ссылок , но в Preferences->Advanced есть опция, которая заставляет tab выбирать все объекты. Тогда вкладке будет вести себя как в других броузеры.

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


на самом деле этот is ошибка, согласно спецификации (см. ниже) якоря (<a> элементы) должны признать tabindex дома,tabindex of 0 должен сделать его фокусируемым в порядке, в котором элементы появляются в документе.

http://www.w3.org/TR/html401/interact/forms.html#adef-tabindex


Opera традиционно считала, что это функция, а не ошибка (у нас были и есть другие сочетания клавиш для навигации по ссылкам, когда вы знаете, что вам может быть полезно иметь отдельную навигацию по ссылкам и элементам формы - пробовал shift+Стрелка пространственной навигации еще?). Для некоторых людей это все еще особенность. Истинный анекдот: когда-то внутренняя сборка сделала ссылки табуляцией случайно, и это вызвало так много сообщений об ошибках и жалоб, что она была быстро отменена. (Насколько я помню, также потому что табуляция была багги в других отношениях).

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