在HTML中是否有任何方法告诉浏览器不允许对特定元素进行标签索引?

在我的页面上,虽然有一个用jQuery渲染的边秀,当你通过选项卡时,你会在选项卡控件移动到页面上的下一个可见链接之前按很多选项卡,因为所有被选项卡通过的东西在视觉上都隐藏在用户面前。


你可以使用tabindex="-1"。

只有在确定它不会移除键盘用户的功能时才这样做。

W3C HTML5规范支持负表索引值:

如果为负整数 用户代理必须设置元素的tabindex焦点标志,但不应该允许使用顺序焦点导航到达元素。


不过要注意的是,这是HTML5的特性,可能不适用于旧的浏览器。 为了符合W3C HTML 4.01标准(从1999年开始),tabindex需要是正数。


下面是纯HTML的示例用法。

<a href=“#” onclick=“return false”>Focusable</a> <a tabindex=“-1” href=“#” onclick=“return false”>不可聚焦</a> <a href=“#” onclick=“return false”>Focusable</a>


别忘了,尽管tabindex在规范中,HTML中,Javascript/ DOM中都是小写的这个属性叫做tabindex。

不要失去你的头脑,试图弄清楚为什么你的编程改变制表索引调用元素。Tabindex = -1不能正常工作。使用元素。tabIndex = -1。


如果这些元素像按钮和锚一样自然地存在于标签顺序中,那么使用tabindex="-1"将它们从标签顺序中删除是一种可访问性气味。如果它们提供了重复的功能,将它们从tab顺序中删除是可以的,并考虑将aria-hidden="true"添加到这些元素中,这样辅助技术就会忽略它们。


只需将禁用的属性添加到元素(或使用jQuery为您完成)。禁用可阻止集中或完全选择输入。


如果你在一个不支持tabindex="-1"的浏览器中工作,你可以给那些需要跳过的东西一个非常高的制表索引。例如,tabindex="500"基本上是将对象的制表符顺序移动到页面的末尾。

我在一个很长的数据输入表单中使用了这种方法,在表单中间放置了一个按钮。这不是一个人们经常点击的按钮,所以我不想让他们意外地点击它并按下enter键。Disabled不行,因为它是一个按钮。


这样做的方法是添加tabindex="-1"。通过将此添加到特定元素,键盘导航将无法访问该元素。这里有一篇很棒的文章,可以帮助您进一步理解tabindex。