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

scu*_*ffe 23 safari opera keyboard-navigation

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

但是,当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);
  }
});
Run Code Online (Sandbox Code Playgroud)

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

oef*_*efe 37

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

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

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


小智 18

其实这一个错误,根据规范(见下文)锚(<a>元素)都应该接受的tabindex财产,和tabindex0应该使它的元素在文档中出现的顺序可获得焦点.

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