在我使用的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 ......有更好的解决方法吗?
答案 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修复程序之类的内容,以便将标签导航到所有网站上的链接。