inert
inert
全局属性 是一个布尔属性,指示浏览器将忽略该元素。使用 inert
属性,所有元素的扁平树后代(例如模态 <dialog>
)在不逃避惰性状态的情况下将被忽略。inert
属性还会使浏览器忽略用户发送的输入事件,包括与焦点相关的事件和辅助技术发出的事件。
具体来说,inert
执行以下操作
- 当用户单击元素时,阻止
click
事件触发。 - 通过阻止元素获得焦点,阻止
focus
事件触发。 - 阻止在浏览器任何使用页面内查找功能时找到/匹配元素的任何内容。
- 阻止用户选择元素内的文本——类似于使用 CSS 属性
user-select
禁用文本选择。 - 阻止用户编辑元素中原本可编辑的任何内容。
- 通过将元素及其内容从可访问性树中排除,将其隐藏在辅助技术之外。
html
<div inert>
<!-- content -->
</div>
inert
属性可以添加到不应具有交互性的内容部分。当元素处于 inert 状态时,它以及所有元素的后代(包括通常具有交互性的元素,如链接、按钮和表单控件)都将被禁用,因为它们无法接收焦点或被点击。
inert
属性还可以添加到应移出屏幕或隐藏的元素。inert 元素及其后代将从 Tab 顺序和可访问性树中移除。
无障碍访问问题
在应用 inert
属性时,请仔细考虑可访问性。默认情况下,没有视觉方式来判断元素或其子树是否为 inert。作为 Web 开发人员,您有责任明确指示活动内容部分和 inert 内容部分。
在提供有关内容 inert 性的视觉和非视觉提示时,还要记住,视觉视口可能仅包含部分内容。用户可能已放大到内容的一小部分,或者用户可能根本无法查看内容。inert 部分没有明显地显示为 inert 会导致用户感到沮丧并带来不良的用户体验。
规范
规范 |
---|
HTML 标准 # the-inert-attribute |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。
另请参阅
- HTML
<dialog>
元素 HTMLElement.inert
HTML DOM 属性- 引入 inert
- "inert" 属性终于要来到 Web 上了