ARIA 접근성 가이드

WCAG 2.2 · 2. 운용의 용이성 · 2.1 키보드 접근성

2.1.4 문자 단축키

Character Key Shortcuts

글자·숫자·기호 한 개 키로 동작하는 단축키는 끄거나, 다른 키로 바꾸거나, 포커스가 있을 때만 동작해야 합니다.

수준 AWCAG 2.1

한눈에 보기

성공 기준
2.1.4 문자 단축키
수준
수준 A
원칙
2. 운용의 용이성
지침
2.1 키보드 접근성
도입
WCAG 2.1

요구 사항

문자(대소문자 포함), 구두점, 숫자, 기호 키만으로 구현된 키보드 단축키가 있다면 다음 중 하나 이상을 만족해야 합니다.

  • 끄기: 단축키를 끌 수 있는 방법이 있습니다.
  • 재지정: Ctrl, Alt 같은 인쇄되지 않는 키를 하나 이상 포함하도록 단축키를 바꿀 수 있습니다.
  • 포커스가 있을 때만 활성: 해당 구성 요소에 포커스가 있을 때만 단축키가 동작합니다(예: 목록 상자 안에서 글자로 항목 찾기).

왜 필요한가요

음성 인식 사용자가 말한 단어가 글자 입력으로 들어가 의도치 않게 단축키가 실행될 수 있습니다(“삭제”라고 말하다 d 키가 눌리는 식). 키보드 사용자도 실수로 키를 눌러 기능이 실행될 수 있습니다.

도움받는 사용자

  • 음성 인식 사용자
  • 운동장애가 있는 사용자(손 떨림, 근력 저하 등)
  • 키보드만 사용하는 사용자
  • 시각장애인(화면낭독기 사용자)

적용 방법

  • 한 글자 단축키 대신 Ctrl·Alt 조합을 사용합니다.
  • 한 글자 단축키를 쓴다면 설정에서 끄거나 바꿀 수 있게 합니다.
  • 입력 필드에 포커스가 있을 때는 단축키를 동작시키지 않습니다.
JavaScript
var shortcutsOn = true; // 설정 화면에서 끌 수 있게 합니다
document.addEventListener('keydown', function (e) {
  if (!shortcutsOn || e.ctrlKey || e.altKey || e.metaKey) return;
  if (e.target.closest('input, textarea, [contenteditable]')) return;
  if (e.key === 'k') openSearch();
});

자주 하는 실수

  • 한 글자 단축키를 제공하면서 끄거나 바꾸는 방법이 없습니다.
  • 입력 필드에 글자를 쓰는 중에도 단축키가 실행됩니다.

검사 방법

  • 페이지에서 한 글자 키를 하나씩 눌러 단축키가 실행되는지 확인합니다.
  • 단축키가 있다면 끄기·재지정 기능이 있는지, 또는 포커스가 있을 때만 동작하는지 확인합니다.

관련 ARIA

다른 지침의 대응 항목

참고 자료