为什么基金会建议添加tabindex =" 0"主要内容?

时间:2017-07-04 15:07:57

标签: html css accessibility wai-aria

Foundation's docs on creating skip links中,他们建议将tabindex="0"添加到代表要跳过的主要内容的元素中。我为什么会这么说有点困惑。据我所知,这会导致额外的元素在标记文档时获得焦点,即使与该元素没有任何关系也是如此。

是否可能与不支持锚定到id的旧浏览器兼容?或者还有其他原因吗?

更新:它应该很快就不再说上述内容了,但那是因为I changed it回答了这里的答案:P

3 个答案:

答案 0 :(得分:2)

您应该将tabindex设置为-1值,以便元素可以通过编程方式进行聚焦,但不能包含在Tab键顺序中(与0值相反)。

如果你的锚点目标是一个不可聚焦的元素,那么窗口将滚动到这个元素,但是下一次按下tab键将在跳过链接按钮之后聚焦下一个元素。

例如,参见W3C的definition of focusable

  

设置了元素的tabindex焦点标志。

答案 1 :(得分:1)

似乎很简单的原因是能够快速导航到页面最重要的部分。按tab时将首先选择此元素,选择将从那里继续而不是在DOM的顶部。

使用锚点id用于在用户单击内部链接时使用,或者需要通过JS触发。大多数浏览器都已使用tabindex="0"

答案 2 :(得分:0)

通常主要内容会被赋予id,跳过链接会将其用于将用户的注意力转移到主要内容上。但是,这种直截了当的方法doesn't work in Internet Explorer 9。您需要使用javascript focus()将焦点设置为主要内容。 tabindex=0用于制作一个本身不具备焦点,可聚焦的元素。