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.inertHTML DOM 屬性- 引入 inert
- "inert" 屬性終於要來到 Web 上了