tab键忽略页面html中的一些tabindex元素



我正在一个主页上工作,在那里我有带有背景imgs和内部cta的元素包装器。每个包装器和cta都有自己的tabindex(hp中大约有400个tabindex(,它们都是有序的。

奇怪的是,当我使用TAB导航时,即使tabindexs的顺序正确,也要首先导航所有div包装器,然后在到达页脚后返回页面以导航cta。

cta是<div><objects><a tabindex="x"></object></div>,包装器是<div><a tabindex="x"><picture></a></div>

我遇到的问题是,我发现的每一条信息都是关于让浏览器忽略tabindex的,我需要相反的信息

您不需要在<a>上设置tabindex。浏览器将按照DOM中元素的顺序自行遍历<a>等可聚焦元素。只有在需要更改默认行为时,才应添加tabindex。通常不鼓励使用除0-1之外的tabindex值。

如果您希望包装器也可以对键盘进行聚焦,那么可以向它们添加tabindex="0"tabindex="0"将使元素键盘按顺序DOM顺序(就像<a>一样(可聚焦(如果它还不像div的话(。

我不完全理解你的伪代码,但我认为CTA在可聚焦包装器内。在这种情况下,以下示例代码将允许您按以下顺序进行制表:包装器1、链接1、包装器2、链接2等。

<div tabindex="0">
<p>Content</p>
<a href="#">Link</a>
</div>
<div tabindex="0">
<p>Content</p>
<a href="https://google.com">Link</a>
</div>

如果你或其他读者没有得到预期的结果,还有两个额外的注意事项:

  1. 要成为键盘可聚焦的<a>标签,需要有一个href,以便它们是交互式的,否则它们将被跳过
  2. 在macOS上,你需要打开键盘聚焦,否则链接将无法聚焦。请注意,每个浏览器的设置都不同

相关内容

  • 没有找到相关文章

最新更新