달력은 날짜와 관련된 정보와 기능을 제공하는 데 사용한다.
날짜의 여러 가지 상태, 정보의 범례는 일관성 있게 표현한다.
달력이 여러 개의 섹션이나 페이지에 반복적으로 사용될 경우 날짜의 여러 가지 상태 정보(오늘 날짜, 선택된 날짜, 활성화되지 않은 날짜, 선택할 수 없는 날짜), 날짜에 표현된 정보의 범례(예 - 휴관일, 공휴일 등)를 시각적, 구조적으로 일관성 있게 표현하여 사용자가 학습 없이 효율적으로 콘텐츠를 확인할 수 있도록 해야 한다.
날짜의 여러 가지 상태 정보가 서로 명확하게 구분되도록 표현한다.
날짜의 상태를 표현하는 경우 여러 가지 상태는 날짜의 텍스트, 배경색으로만 구분하지 않고 텍스트 굵기, 밑줄, 배경의 형태, 부가적인 식별자를 제공하여 명확하게 구분해야 한다. 오늘 날짜, 사용자가 선택한 날짜에는 별도의 텍스트 설명을 제공하여 보다 직관적으로 다른 날짜와 구분할 수 있다.
이벤트 정보가 복잡한 경우 정보를 손실 없이 확인할 수 있는 수단을 제공한다.
하나의 날짜에 여러 개의 이벤트가 존재하는 경우 이벤트 제목이 유사하여 구분이 어려울 수 있으며, 달력과 날짜 영역의 공간적 제약으로 인해 복잡한 이벤트 정보는 텍스트가 생략될 수 있다. 이 경우, 표나 목록 컴포넌트를 활용한 별도의 이벤트 목록을 제공하여 사용자가 정보를 정확하게 인지할 수 있도록 해야 한다. 달력의 표시 단위를 월이 아닌 주 또는 일로 변경하여 이벤트 정보 표시 영역을 확장하는 방법도 활용할 수 있다.
달력 그리드에 헤딩(요일) 정보를 반드시 제공한다.
달력에 헤딩 없이 날짜 정보만 제공하게 되면 콘텐츠가 날짜임을 직관적으로 이해하기 어려우며, 한 주의 시작 요일을 명확하게 인지하기 어렵다.
날짜 및 관련 정보의 의미를 색상으로만 구분하지 않는다.
여러 가지 날짜 및 관련 정보에 대한 의미를 색상 이외의 수단으로 구분할 수 있는 시각적 단서를 제공해야 한다. 밑줄 제공, 1px 이상의 테두리 차이, 식별자 제공 등의 방법으로 크기나 형태 차원에서 정보를 구분하는 방법을 사용할 수 있다.
날짜 및 관련 정보의 의미를 스크린 리더에서 확인할 수 있도록 한다.
시각적으로 표현된 날짜 관련 여러 가지 상태 정보(오늘 날짜, 선택된 날짜, 활성화되지 않은 날짜, 선택할 수 없는 날짜), 날짜에 표현된 정보의 범례(예 - 일정 있음, 휴관일, 공휴일 등)에 대한 대체 텍스트를 제공해야 한다.
달력에서 제공되는 모든 기능을 키보드로 실행할 수 있도록 한다.
달력에서 제공되는 모든 기능은 마우스뿐만 아니라 키보드, 터치 인터페이스로 실행할 수 있어야 한다.
달력에서 제공되는 모든 기능에 키보드 초점이 명확하게 표시되도록 한다.
달력에서 제공되는 모든 사용자 인터페이스(버튼, 링크)는 초점을 받은 상태가 시각적으로 명확하게 구분되어야 한다.
구분 | 설명 |
---|---|
Tab, Shift + Tab | 달력 내 인터페이스 요소를 순차적으로 탐색한다. |
구분 | 설명 |
---|---|
Click | 달력 내 액션 버튼의 기능이 실행되거나 링크 목적지로 이동한다. |
Enter | 달력 내 액션 버튼의 기능이 실행되거나 링크 목적지로 이동한다. |
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
필수 | 선택 | ||
---|---|---|---|
전체영역 | .calendar-conts | ||
달력 | .krds-calendar-area | 단일 날짜 선택 | .calendar-wrap.single |
연/월 탐색 | .calendar-head | ||
달력 그리드 | .calendar-body | 선택된 날짜 | td.period.start.end |
선택할 수 없는 날짜 |
td.old td.new td.disabled |
||
이벤트 | td.day-event | ||
오늘 | td.today | ||
공휴일 | td.day-off | ||
달력 하단 | .calendar-footer |
함수명 | 설명 | |
---|---|---|
krds_calendar | init() | 초기화 및 주요 이벤트 실행 |
openDatePicker() | 달력 열기 | |
closeAllDatePickers() | 달력 닫기 | |
toggleDateSelector() | 연/월 탐색 |