修改元素的tabindex顺序。

3
我有一个网站,我想让键盘用户也能使用它。这可能已经被问过了,但我还没有找到使其工作的方法。 :(
我的问题是,在某个点上有一个幻灯片和一个暂停/播放链接。当用户在网站上通过Tab键进行浏览时,他必须先浏览整个幻灯片,然后焦点才会落在暂停/播放链接上。
我已尽力以最佳和简单的方式重新创建它。 这里是示例 当您通过元素进行Tab键浏览时,您会注意到焦点直接落在幻灯片上,然后才会转到暂停/播放链接。我知道这是由于HTML结构的正常行为。
我的问题是:如何操纵此顺序,以便每当我从最后一个“链接”进行Tab键浏览时,焦点直接转到暂停/播放而不是幻灯片。
我已经尝试过使用tabindex =“0/1”;进行调整,但那样我需要将其放置在所有元素上?
(副注:在网站上还有很多比这个“幻灯片”更高的HTML元素,我无法更改给定的结构)
提前感谢!
2个回答

4

改变这个顺序的唯一方法是重新排列你的HTML元素。

tabindex 本身可以做两件事:

  • 它设置了“可聚焦”元素的顺序
  • 它使元素“可聚焦”。

tabindex = -1 元素将不会获得焦点
tabindex = 0 元素将在正常的tab(语义)顺序中可聚焦
tabindex = 1 值为正数的元素将首先获得焦点


2

如果不使用tabindex(或JavaScript),则无法更改选项卡的选择。

jsfiddle


这是否可以在不为每个元素设置tabindex的情况下实现? - Filip Huysmans
就像我说的那样,不行。虽然你可以通过JavaScript来设置它,但这对于可访问性来说没有任何意义。 - damian
那么我在这里唯一的选择就是尝试更改HTML结构了? - Filip Huysmans
是的,您需要在HTML结构中指定tabindex。 - damian
我指的是DOM中HTML元素的顺序,因为我无法在每个元素上放置tabindex。 - Filip Huysmans
我点赞了它,但没有接受,因为我无法使用你提供的解决方案。 - Filip Huysmans

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接