체크상자 예제 (이중 상태)

이 예제는 div 엘리먼트를 사용하는 이중 상태 체크상자에 대한 체크상자에 설계 패턴 구현합니다.

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

예제

샌드위치 재료

  • 상추
  • 토마토
  • 머스타드
  • 새싹채소

접근성 특성

키보드 지원

Key Function
Tab checkbox로 키보드 초점을 이동시킵니다.
Space 체크상자를 체크 된 상태와 체크 되지 않은 상태로 전환시킵니다.

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

역할(role) 어트리뷰트 엘리먼트 사용법
h3
  • 체크상자의 크룹에 대한 그룹핑 레이블을 제공합니다.
group div
  • div 엘리먼트를 체크상자들에 대한 group 컨테이너로서 식별시킵니다.
aria-labelledby div 체크상자들의 그룹에 대한 접근 가능한 이름을 정의하도록 aria-labelledby 어트리뷰트가 h3 엘리먼트의 id 어트리뷰트를 참조합니다.
checkbox div
  • div 엘리먼트를 checkbox로 식별시킵니다.
  • div의 자식 텍스트 콘텐츠가 체크상자의 접근 가능한 이름을 제공합니다.
tabindex="0" 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)이 체크상자 상태의 시각적 표시자를 생성하는데 사용됩니다.

Javascript와 CSS 소스 코드

HTML 소스 코드

간단한 이중 상태 체크박스 예제