inert

基线 2023

新可用

2023 年 4 月起,此功能可在最新的设备和浏览器版本中使用。此功能可能无法在较旧的设备或浏览器中使用。

inert 全局属性 是一个布尔属性,指示浏览器将忽略该元素。使用 inert 属性,所有元素的扁平树后代(例如模态 <dialog>)在不逃避惰性状态的情况下将被忽略。inert 属性还会使浏览器忽略用户发送的输入事件,包括与焦点相关的事件和辅助技术发出的事件。

具体来说,inert 执行以下操作

  • 当用户单击元素时,阻止 click 事件触发。
  • 通过阻止元素获得焦点,阻止 focus 事件触发。
  • 阻止在浏览器任何使用页面内查找功能时找到/匹配元素的任何内容。

  • 阻止用户选择元素内的文本——类似于使用 CSS 属性 user-select 禁用文本选择。
  • 阻止用户编辑元素中原本可编辑的任何内容。
  • 通过将元素及其内容从可访问性树中排除,将其隐藏在辅助技术之外。
html
<div inert>
  <!-- content -->
</div>

inert 属性可以添加到不应具有交互性的内容部分。当元素处于 inert 状态时,它以及所有元素的后代(包括通常具有交互性的元素,如链接、按钮和表单控件)都将被禁用,因为它们无法接收焦点或被点击。

inert 属性还可以添加到应移出屏幕或隐藏的元素。inert 元素及其后代将从 Tab 顺序和可访问性树中移除。

注意:虽然 inert 是一个全局属性,可以应用于任何元素,但它通常用于内容部分。要使单个控件“inert”,请考虑使用 disabled 属性以及 CSS :disabled 样式。

无障碍访问问题

在应用 inert 属性时,请仔细考虑可访问性。默认情况下,没有视觉方式来判断元素或其子树是否为 inert。作为 Web 开发人员,您有责任明确指示活动内容部分和 inert 内容部分。

在提供有关内容 inert 性的视觉和非视觉提示时,还要记住,视觉视口可能仅包含部分内容。用户可能已放大到内容的一小部分,或者用户可能根本无法查看内容。inert 部分没有明显地显示为 inert 会导致用户感到沮丧并带来不良的用户体验。

规范

规范
HTML 标准
# the-inert-attribute

浏览器兼容性

BCD 表格仅在启用 JavaScript 的浏览器中加载。

另请参阅