체크상자 (혼합 상태)

이 예제는 삼중 상태 혹은 혼합 상태 체크 상자를 만들기 위해 Checkbox 설계 패턴을 사용하는 것을 뵤여줍니다. 이 구현에서, 혼합 상태 체크상자는 표준 HTML 체크상자 세트의 상태를 나타냅니다. 세트 내 어떤 체크상자도 체크되어 있지 않다면, 혼합 상태 체크상자는 체크되지 않고, 세트의 모든 멤버가 체크 되어 있다면, 혼합 상태 체크 상자가 체크 됩니다. 세트가 일부는 체크 된 체크상자와 일부는 체크되지 않은 체크 상자가 모두를 포함한다면, 혼합 상태 체크상자는 부분적으로 체크됩니다. 삼중 상태 체크 상자를 활성화 하는 것은 세트 내 체크상자들의 상태를 변경합니다.

유사한 예는 다음과 같습니다:

예제

샌드위치 재료

접근성 특성

키보드 지원

기능
Tab 키보드 초점을 체크박스들로 이동시킵니다.
Space
  • 삼중 상태 체크상자를 미체크, 혼합, 체크 상태로 순환시킵니다.
  • 삼중 상태 체크상자가 체크되어 있지 않은 경우, 제어되는 모든 체크상자들이 체크 해제 됩니다.
  • 삼중 상태 체크상자가 혼합인 경우, 제어되는 체크상자들은 삼중 상태 체크박스가 마지막으로 혼합 상태였을 때 가졌던 상태의 마지막 조합 또는 페이지가 로드 되었을 때 가졌던 상태의 기본 조합으로 돌아갑니다.
  • 삼중 상태 체크상자가 체크 되어 있는 경우, 모든 제어되는 체크상자들이 체크됩니다.

Role, Property, State, Tabindex 어트리뷰트

역할(role) 어트리뷰트 엘리먼트 사용법
checkbox div
  • div 엘리먼트를 checkbox로 식별시킵니다.
  • div의 자식 텍스트 콘텐츠가 체크상자의 접근 가능한 이름을 제공합니다.
tabindex="0" div 페이지 탭 시퀀스에 체크상자를 포함시킵니다.
aria-controls="[IDREFS]" div 혼합 체크상자에 의해 제어되는 체크상자들의 세트를 식별시킵니다.
aria-checked="false" div
  • 삼중 상태 checkbox가 체크되지 않은것을 나타냅니다.
  • 이 상태에서, 모든 제어되는 체크상자들은 체크 해제 됩니다.
  • CSS 어트리뷰트 선택자가 (e.g. [aria-checked="false"]) aria-checked 어트리뷰트의 값으로 시각적 상태를 동기화하는데 사용됩니다.
  • 운영체제와 브라우저 고대비 설정을 지원하기 위해, CSS ::before 가상 엘리먼트와 content 속성(property)이 체크상자 상태의 시각적 표시자를 생성하는데 사용됩니다.
aria-checked="true" div
  • checkbox 가 체크 된 것을 나타냅니다.
  • 이 상태에서, 모든 제어되는 체크상자들은 체크 됩니다.
  • CSS 어트리뷰트 선택자가 (e.g. [aria-checked="true"]) aria-checked 어트리뷰트의 값으로 시각적 상태를 동기화 하는데 사용됩니다.
  • 운영체제와 브라우저 고대비 설정을 지원하기 위해, CSS ::before 가상 엘리먼트와 content 속성(property)이 체크상자 상태의 시각적 표시자를 생성하는데 사용됩니다.
aria-checked="mixed" div
  • 삼중 상태 checkbox가 혼합임을 나타냅니다.
  • 이 상태에서, 일부 제어되는 체크상자들은 체크 해제되고 일부는 체크됩니다.
  • CSS 어트리뷰트 선택자가 (e.g. [aria-checked="mixed"]) aria-checked 어트리뷰트의 값으로 시각적 상태를 동기화 하는데 사용됩니다..
  • 운영체제와 브라우저 고대비 설정을 지원하기 위해, CSS ::before 가상 엘리먼트와 content 속성(property)이 체크상자 상태의 시각적 표시자를 생성하는데 사용됩니다.

Javascript와 CSS 소스 코드

HTML Source Code