Есть ли обходной путь к ошибке Safari / Opera, которую вы не можете использовать с помощью гиперссылок? - PullRequest
22 голосов
/ 18 февраля 2010

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

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

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

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

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

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

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

Ответы [ 3 ]

35 голосов
/ 19 февраля 2010

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

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

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

16 голосов
/ 25 марта 2010

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

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

0 голосов
/ 29 мая 2012

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

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

...