在我的应用程序的标签循环中,<html>
标签占据了一个标签位。我希望从点击循环中删除<html>
标签。
我尝试将tabindex="-1"
添加到<html>
标签中,但至少在IE11上,这似乎并没有将元素从tab循环中删除。我几乎可以使用JS旋转自己的逻辑来“跳”到下一个可聚焦元素,如果document.activeElement === <html>
,但我想知道是否有更简单的方法。
该解决方案需要跨主要浏览器支持:IE11、Edge、FF、Chrome、Safari。
有什么想法吗
2条答案
按热度按时间lokaqttq1#
我访问了tabindex属性的HTML规范:https://html.spec.whatwg.org/multipage/interaction.html#the-tabindex-attribute
以下是第二帕拉:
当属性被省略时,用户代理将应用默认值(如果不禁用元素或使其成为惰性元素,则无法使正在呈现的元素完全不可聚焦)。
正如上面明确提到的,使任何元素不可聚焦的唯一方法是使其禁用或使其在DOM中不可见。
我仍在寻找,并将发布关于这一点的更新。
而且,我也试图复制这个问题,在IE上做不到。(没有尝试在其他浏览器上复制)。
更新一:
我找到了difference in tabIndex between HTML4 AND HTML5:
虽然HTML5允许在任何元素上添加tabIndex属性,但它可能没有任何效果。这也适用于HTML元素。我知道,我们如何知道HTML元素是否被聚焦?
w8f9ii692#
根据我的简单研究,我发现你可以使用
tabindex="-1"
。W3C HTML5规范支持负tabindex值。
您也可以使用,适用于大多数浏览器:
我在jquery中发现了这种方法,但我不确定
请查看这些链接以了解更多详细信息: