【发布时间】:2017-03-13 11:01:19
【问题描述】:
我有一个 div 标签,其中加载了一些内容。里面的内容可以有可聚焦的按钮、锚元素等。我无法控制内容,但我可以修改“div”标签属性。
我的问题是即使我将 tabIndex -1 指定给 div 标签,焦点仍会转到内容(锚点、按钮等)。
<!-- HTML content here -->
<div tabindex="-1" id="externalContent">
<div>
...
<button>click me</button> <!-- Focus shouldn't come here -->
</div>
</div>
<!-- HTML content here -->
有没有办法在切换时跳过整个内容?它肯定不适用于上面的代码。
【问题讨论】:
-
您可以使用 tabindex="-1".... 请注意,这是 HTML5 功能,可能不适用于旧浏览器。 stackoverflow.com/questions/5192859/…
-
也许您可以使用 jquery 将 tabindex="-1" 获取到 div 内所有可能的元素...
-
为什么要阻止焦点转到内容?如果内容实际上是交互式的——即如果你可以用鼠标点击按钮/链接——你通常也应该让它们获得键盘焦点。
-
此处“externalContent”中的内容在页面加载时部分可见,因此对于 a11y,我需要从标签顺序中跳过它。我不想为每个孩子附加 tabindex=-1,因为一旦内容完全可见,我需要反转它。
-
一个常见的用例:在网页上显示一个对话框。
标签: html accessibility tabindex