HTML inert 전역 특성: 비활성화
Baseline2023최근 지원 시작 
2023년 4월부터 모든 주요 브라우저가 지원하는 기능입니다.
HTML inert
전역 특성은 요소와 그 자손의 상호작용을 비활성화합니다. showModal()
로 열린 모달 <dialog>
요소는 조상 요소의 inert
를 상속하지 않고 비활성화를 탈출합니다. 하지만 <dialog>
자체에 inert
특성을 추가하면 상호작용을 비활성화할 수 있습니다.
설명
inert
를 지정했을 때의 정확한 효과는 다음과 같습니다.
- 요소를 클릭해도
click
이벤트가 발생하지 않습니다. - 요소가 포커스를 받지 않게 돼
focus
이벤트가 발생하지 않습니다. - 브라우저의 검색 기능에서 요소의 콘텐츠가 제외됩니다.
user-select: none
을 지정했을 때처럼, 요소 내의 텍스트 선택이 비활성화됩니다.- 편집 가능한 요소들의 콘텐츠 편집이 비활성화됩니다.
- 접근성 트리에서 요소를 제거하므로 보조 기술이 콘텐츠를 읽지 않습니다.
inert
특성은 상호작용을 막아야 하는 콘텐츠 구획에 사용할 수 있습니다. 요소가 비활성화되면 해당 요소와 자손 요소를 클릭할 수 없고 포커스를 부여할 수 없으므로, 링크, 버튼, 양식 컨트롤 등 대화형 요소와도 상호작용할 수 없습니다.
inert
는 전역 특성이므로 모든 요소에 사용할 수 있지만, 주된 용도는 콘텐츠의 구획 단위 비활성화입니다. 개별 양식 컨트롤을 비활성화해야 하면 disabled
특성을 대신 고려하시고, 필요한 경우 CSS :disabled
의사 클래스도 활용하세요.
접근성 고려사항
기본 스타일에서는 어느 요소가 비활성인지 아닌지 시각적으로 구분할 방법을 제공하지 않습니다. 따라서 어떤 부분이 활성 상태고, 어떤 부분이 비활성 상태인지 분명하게 알려주는 것은 웹 개발자의 책임입니다. inert
특성을 적용하기 전에 접근성에 대해 숙고하세요.
콘텐츠의 비활성 여부에 대해 시각적 및 비시각적 단서를 제공할 때는 시각적 뷰포트가 콘텐츠 구획의 일부만 포함할 수 있다는 점을 기억해야 합니다. 사용자가 콘텐츠를 확대해서 보거나, 화면이 너무 작아 전체를 보는 게 불가능한 경우 비활성 단서가 뷰포트 밖으로 나갈 수 있습니다. 비활성 여부가 항상 명확하게 표시되지 않으면 사용자 경험을 해칠 수 있습니다.
명세
브라우저 호환성
데스크톱 | 모바일 | ||||||||
---|---|---|---|---|---|---|---|---|---|
iOS | Android | ||||||||
Safari | Chrome | Firefox | Safari | Safari WebView | Chrome | Android WebView | Firefox | Samsung Internet | |
inert | |||||||||
Element is ignored for the purposes of find-in-page. |