HTML inert 全域性屬性

Baseline 廣泛可用 *

此功能已成熟,並且在許多裝置和瀏覽器版本中都能正常工作。自 ⁨2023 年 4 月⁩ 起,所有瀏覽器均已支援此功能。

* 此特性的某些部分可能存在不同級別的支援。

inert 全域性屬性是一個布林屬性,用於指示元素及其所有平級樹後代都將變為惰性inert 屬性可以新增到不應互動的內容部分。當一個元素處於惰性狀態時,它及其所有後代(包括連結、按鈕和表單控制元件等通常可互動的元素)都將被停用,因為它們無法獲得焦點或被點選。inert 屬性也可以新增到應在螢幕外或隱藏的元素上。惰性元素及其後代將從焦點順序和輔助功能樹中移除。

使用 showModal() 生成的模態 <dialog> 會逃脫惰性狀態,這意味著它們不會從其祖先繼承惰性,但只能透過在其自身上明確設定 inert 屬性來使其惰性。其他任何元素都無法逃脫惰性狀態。

注意:雖然 inert 是一個全域性屬性,可以應用於任何元素,但它通常用於內容部分。要使單個控制元件“惰性”,請考慮使用 disabled 屬性,並結合 CSS :disabled 樣式。

具體來說,inert 執行以下操作:

  • 阻止使用者點選元素時觸發 click 事件。
  • 透過阻止元素獲得焦點來阻止 focus 事件的觸發。
  • 阻止在瀏覽器中使用查詢頁面功能時找到/匹配元素的任何內容。
  • 阻止使用者選擇元素內的文字——類似於使用 CSS 屬性 user-select 來停用文字選擇。
  • 阻止使用者編輯元素中任何原本可編輯的內容。
  • 透過將元素及其內容從輔助功能樹中排除,將其從輔助技術中隱藏。

可訪問性考慮

在應用 inert 屬性時,請仔細考慮可訪問性。預設情況下,沒有視覺方法可以判斷元素或其子樹是否處於惰性狀態。作為 Web 開發者,您有責任清楚地標示出內容中活躍的部分和惰性的部分。

在提供關於內容惰性的視覺和非視覺提示的同時,也要記住視覺視口可能只包含部分內容。使用者可能放大了很小的內容區域,或者根本無法檢視內容。惰性部分不明顯是惰性的,可能導致使用者感到沮喪和糟糕的使用者體驗。

規範

規範
HTML
# the-inert-attribute

瀏覽器相容性

另見