Safari/Opera 的错误是不是有解决方法,您无法通过超链接进行选项卡?

Posted

技术标签:

【中文标题】Safari/Opera 的错误是不是有解决方法,您无法通过超链接进行选项卡?【英文标题】:Is there a workaround to Safari's/Opera's bug that you can't tab through hyperlinks?Safari/Opera 的错误是否有解决方法,您无法通过超链接进行选项卡? 【发布时间】:2011-01-18 12:28:09 【问题描述】:

在我使用过的 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...有更好的解决方法吗?

【问题讨论】:

这不属于超级用户。它解决了我们作为开发人员应该关注的可用性问题。 【参考方案1】:

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

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

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

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

【讨论】:

感谢@oefe - 不知道该设置可用。似乎谷歌默认在 Chrome 中切换了标志(事实上我什至找不到更改它的选项)......我想知道为什么苹果没有为 Windows Safari 选择它。

以上是关于Safari/Opera 的错误是不是有解决方法,您无法通过超链接进行选项卡?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 chrome、safari、opera 等 webkit 浏览器中删除 c fakepath?

未在使用 Firefox 的选择列表中选择值(适用于 chrome、safari、opera)

常用浏览器内核!IE,Chrome ,Firefox,Safari,Opera 等内核

我如何只能在任何现代浏览器(如 chrome、firefox、safari、opera、IE 以及任何版本的通用 javascript [重复])中关闭当前选项卡

无法加载视图状态。仅在 IE 中发生错误

HTML 音频(Audio)