该tabindex属性用来定义用户遵循的顺序,当他们使用Tab键在网页导航。默认情况下,自然制表顺序将与标记中的源顺序匹配。
tabindex content属性允许作者控制元素是否应该是可聚焦的,使用顺序焦点导航是否应可达,以及为了顺序焦点导航的目的,元素的相对顺序是什么。名称“标签索引”来自“标签”键在可聚焦元素之间导航的常用用法。术语“制表”是指前进通过可使用顺序焦点导航到达的可聚焦元素。
W3C建议:HTML5
部分7.4.1顺序焦点导航和tabindex属性
将tabindex在0或开始任何正整数和增量向上。这是经常可以看到,因为在旧版本的Mozilla和IE的避免了值0,tabindex属性会从1开始,移动到2,只有2后,将它转到0,然后3.最大整数值tabindex是32767。如果元素相同,tabindex则tabindex将匹配标记中的源顺序。负值会从选项卡索引中删除该元素,因此它将永远不会被聚焦。
如果一个元素被分配tabindex的-1它会删除元素,它永远不会成为焦点,但焦点可以以编程方式使用给予的元素element.focus()。
如果您指定的tabindex属性没有值或为空值,它将被忽略。
如果将disabled属性设置在具有的元素上,则tabindex该元素将被忽略。
如果tabindex在页面内的任何位置设置了a ,而不管它相对于其余代码的位置如何(可能位于页脚,内容区域中的任何地方)(如果有),则tabindex制表符顺序将从该元素开始它显式地分配了tabindex大于0 的最小值。然后,它将在定义的元素之间循环,只有在将显式tabindex元素制表通过之后,它才会返回到文档的开头并遵循自然的制表顺序。
在HTML4规范中,仅以下元素支持tabindex属性:anchor,area,button,input,object,select和textarea。但是HTML5规范考虑到可访问性,允许分配所有元素tabindex。
-
例如
是相同的
因为不管它们是否都被分配tabindex="1",它们仍然会遵循相同的顺序,第一个是第一个,最后一个是最后一个。也是一样
因为如果它是默认行为,则无需显式定义tabIndex。div默认情况下,A 不能聚焦,anchor标签可以。