26

在我使用过的 IE、Firefox、Chrome 和大多数基于 Windows 的界面中,该Tab键可用于从一个表单字段或超链接导航到下一个表单字段(例如“可操作”项目)(注意:我没有在其他操作系统

然而,Safari 和 Opera在切换时会跳过网页中的所有超链接。恕我直言,这是一个可用性错误,但我离题了。

是否有一种解决方法/黑客可以让 Safari 和/或 Opera 浏览这些链接?

我注意到tabindex如果设置了 Opera 将接受该属性,例如tabindex="0",从而在页面上的 DOM 流中维护链接“索引”......但 Safari 不想接受这一点。

对于那些感兴趣的人,jQuery 的这一点将使所有的超链接都可选项卡。

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

...虽然这似乎适用于 Opera ...有更好的解决方法吗?

4

3 回答 3

43

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

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

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

于 2010-02-18T21:29:28.670 回答
21

实际上这一个错误,根据规范(见下文),锚点(<a>元素)应该接受该tabindex属性,并且 a tabindexof0应该按照元素在文档中出现的顺序使其成为焦点。

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

于 2010-03-25T01:38:29.670 回答
0

Opera 传统上认为这是一个功能,而不是错误(我们有并且还有其他用于导航链接的快捷键,当您知道这些快捷键时,您可能会发现为链接和表单元素提供不同的导航很有用 - 尝试过 shift+箭头空间导航吗? )。对某些人来说,它仍然是一个功能。真实的轶事:曾几何时,内部构建使链接意外成为可选项卡,这引起了如此多的错误报告和投诉,很快就被撤消了。(据我记得,也是因为标签在其他方面有问题)。

然而,我们知道,大多数用户都期望通过制表符跳转到链接,我们应该像 Safari 一样为此实现一个首选项。同时,您可以将上面的 JS 修复程序添加到用户 javascript 中,以使选项卡导航到所有网站上的链接。

于 2012-05-29T13:00:01.390 回答