Safari / Opera的bug是否有解决方法,您无法通过超链接进行制表?

时间:2010-02-18 20:36:08

标签: safari opera keyboard-navigation

在我使用的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 个答案:

答案 0 :(得分:35)

在Safari中,它不是一个bug,它是一个可选功能。在Mac上,选项卡选择链接以外的对象,Option + Tab选择所有对象。您可以在Preferences-> Advanced中交换这些快捷方式的行为。然后tab会像其他浏览器一样运行。

在Windows上,Option + Tab不可用。默认情况下,选项卡选择链接以外的对象,但在Preferences-> Advanced中有一个选项,使选项卡选择所有对象。然后tab会像其他浏览器一样运行。

您可能不应该试图干扰这一点,因为您会干扰用户的偏好。

答案 1 :(得分:16)

实际上这个一个bug,根据规范(见下文),锚点(<a>元素)应该接受tabindex属性,并且{{1 } tabindex应该使元素按照元素在文档中出现的顺序进行聚焦。

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

答案 2 :(得分:0)

Opera传统上认为这是一个功能,而不是一个bug(我们已经拥有了其他用于导航链接的关键快捷键,当你知道那些你可能会发现链接和表单元素具有不同导航功能时 - 尝试了shift + arrow spatial导航呢?)。对某些人来说,它仍然是一个功能。真实的轶事:曾几何时,内部构建使得链接可以偶然发生,这导致了很多错误报告和投诉,它被迅速撤销。 (据我记忆,也因为标签在其他方面有问题)。

然而,我们知道,链接的标签是大多数用户所期望的,我们应该像Safari一样为这个实现pref。在此期间,您可以向用户javascript添加上述JS修复程序之类的内容,以便将标签导航到所有网站上的链接。