HTML inert 全局属性
Baseline 广泛可用 *
inert
全局属性是一个布尔属性,用于指示元素及其所有平级树后代都将变为惰性。inert
属性可以添加到不应交互的内容部分。当一个元素处于惰性状态时,它及其所有后代(包括链接、按钮和表单控件等通常可交互的元素)都将被禁用,因为它们无法获得焦点或被点击。inert
属性也可以添加到应在屏幕外或隐藏的元素上。惰性元素及其后代将从焦点顺序和辅助功能树中移除。
使用 showModal()
生成的模态 <dialog>
会逃脱惰性状态,这意味着它们不会从其祖先继承惰性,但只能通过在其自身上明确设置 inert
属性来使其惰性。其他任何元素都无法逃脱惰性状态。
具体来说,inert
执行以下操作:
- 阻止用户点击元素时触发
click
事件。 - 通过阻止元素获得焦点来阻止
focus
事件的触发。 - 阻止在浏览器中使用查找页面功能时找到/匹配元素的任何内容。
- 阻止用户选择元素内的文本——类似于使用 CSS 属性
user-select
来禁用文本选择。 - 阻止用户编辑元素中任何原本可编辑的内容。
- 通过将元素及其内容从辅助功能树中排除,将其从辅助技术中隐藏。
可访问性考虑
在应用 inert
属性时,请仔细考虑可访问性。默认情况下,没有视觉方法可以判断元素或其子树是否处于惰性状态。作为 Web 开发者,您有责任清楚地标示出内容中活跃的部分和惰性的部分。
在提供关于内容惰性的视觉和非视觉提示的同时,也要记住视觉视口可能只包含部分内容。用户可能放大了很小的内容区域,或者根本无法查看内容。惰性部分不明显是惰性的,可能导致用户感到沮丧和糟糕的用户体验。
规范
规范 |
---|
HTML # the-inert-attribute |
浏览器兼容性
加载中…
另见
- HTML
<dialog>
元素 HTMLElement.inert
HTML DOM 属性- Introducing inert
- “inert”属性终于来到 Web 了