我们说我有两列(左和右)。每列包含链接。
如果我希望用户首先在右列中添加标签链接,则右列中的所有链接都必须为tabindex="0"
,而左列中的所有链接都必须为tabindex="1"
?
或者我可以让所有链接都有tabindex="0"
然后在右列上设置tabindex="0"
并在左列上设置tabindex="1"
以使用户选项卡首先通过右列吗?
我不太确定嵌套标签的工作原理。 我在http://jsfiddle.net/fhzjf4yg/上尝试了一个例子,我似乎无法理解它如何遍历选项卡索引。如果有人能够解释订购的工作方式也会有所帮助!
答案 0 :(得分:2)
看的tabindex是如何说明如下(Using tabindex - Web fundamentals)。从链接:
的tabindex = “0”:将元素插入自然标签顺序
tabindex =“-1”:从自然制表符顺序中删除元素,但仍可以通过调用其focus()方法来使该元素聚焦
的tabindex =“5”:任何的tabindex大于0跳元件自然标签顺序的前
最重要的是:
使用大于0的tabindex被认为是反模式。
基本上,如果要从第二个列表开始,则可以在其中分配元素的tabindex为1,其余元素不带tabindex,它将按照您尝试的顺序进行选择。
示例:
<div id="element1">First No tab index</div>
<div id="element2">Second No tab index</div>
<div id="element3" tabindex="1">Third: has tab index</div>
<div id="element3" tabindex="1">
将被首先选择时跳格,因为它建立了一个不同的顺序。
如果以这种方式分配它们,将完全相同:
<div id="element1" tabindex="0">First No tab index</div>
<div id="element2" tabindex="0">Second No tab index</div>
<div id="element3" tabindex="1">Third: has tab index</div>
在许多地方,我读过有人建议使用大于0的tabindex并不是真正的好方法,但是在像您这样的情况下完全有必要使用它们。
答案 1 :(得分:2)
@molda的答案被标记为-2(截至今天查看),但被标记为正确的答案。不知道这是怎么回事,但他的回答中有几个错误的评论。
您不应该有多于一个的tabindex =“0”的网页上