KWCAG 2.2 · 6. 운용의 용이성 · 6.1 입력장치 접근성
6.1.4 문자 단축키
문자 단축키는 오동작으로 인한 오류를 방지하여야 합니다.
KWCAG 2.2신규
한눈에 보기
- 검사 항목
- 6.1.4 문자 단축키
- 원칙
- 6. 운용의 용이성
- 지침
- 6.1 입력장치 접근성
- 도입
- KWCAG 2.2
요구 사항
단일 문자 단축키(대·소문자, 구두점, 기호 등 글자키·숫자키·특수문자키 하나로 동작하는 단축키)를 제공한다면 오류를 막기 위해 다음 중 하나 이상을 충족해야 합니다.
- 비활성화: 단축키를 끌 수 있는 방법을 제공합니다.
- 재설정: 하나 이상의 기능키(Ctrl, Alt, Shift, Option, Command 등)를 조합한 단축키로 바꿀 수 있습니다.
- 초점을 받은 경우에만 활성화: 해당 사용자 인터페이스 구성요소(폼 컨트롤, 링크, 콘텐츠 에디터 등)가 초점을 받았을 때만 단축키가 동작합니다.
KWCAG 2.2에서 새로 추가된 검사 항목입니다.
왜 필요한가요
음성 명령 사용자가 말하는 단어가 글자 입력으로 바뀌면서 의도하지 않은 단축키가 실행될 수 있고, 손 사용이 불편한 사용자는 키를 잘못 눌러 기능을 실행하기 쉽습니다. 재설정 기능이 있으면 익숙한 조합으로 바꿀 수도 있습니다.
도움받는 사용자
- 음성 명령(음성 입력) 사용자
- 손 사용이 원활하지 않은 사용자
- 화면낭독기 사용자(낭독기 단축키와 충돌 방지)
적용 방법
가능하면 조합키 단축키를 사용합니다. 단일 문자 단축키가 필요하면 설정에서 끄거나 바꿀 수 있게 하고, 입력란에 초점이 있을 때는 동작하지 않게 합니다.
let shortcutsOn = loadSetting('shortcuts', true);
document.addEventListener('keydown', (e) => {
if (!shortcutsOn) return;
const t = e.target;
if (t.isContentEditable || /^(INPUT|TEXTAREA|SELECT)$/.test(t.tagName)) return;
if (e.key === 'j' && !e.ctrlKey && !e.altKey && !e.metaKey) nextArticle();
});<label><input type="checkbox" id="opt-shortcuts" checked> 한 글자 단축키 사용</label>사례
단축키 끄기 설정 제공
<fieldset>
<legend>키보드 단축키</legend>
<label><input type="checkbox" checked> 한 글자 단축키 사용 (J: 다음 글, K: 이전 글)</label>
</fieldset>어디서나 동작하는 한 글자 단축키
document.onkeydown = e => { if (e.key === 'd') deleteMail(); };자주 하는 실수
- 페이지 전체에서 D 하나로 삭제가 실행되고 끌 방법이 없습니다.
- 검색어 입력 중에도 한 글자 단축키가 동작합니다.
검사 방법
- 도움말·설정에서 단일 문자 단축키가 있는지 확인하고, 문서에 없더라도 글자키를 눌러 반응이 있는지 확인합니다.
- 단일 문자 단축키가 있다면 끄기, 조합키로 재설정, 초점 시에만 활성화 중 하나를 충족하는지 확인합니다.