KWCAG 2.2 · 6. 운용의 용이성 · 6.5 입력 방식
6.5.4 동작기반 작동
동작기반으로 작동하는 기능은 사용자 인터페이스 구성요소로 조작할 수 있고, 동작기반 기능을 비활성화할 수 있어야 합니다.
KWCAG 2.2신규
한눈에 보기
- 검사 항목
- 6.5.4 동작기반 작동
- 원칙
- 6. 운용의 용이성
- 지침
- 6.5 입력 방식
- 도입
- KWCAG 2.2
요구 사항
기기를 움직이거나(흔들기, 기울이기) 사용자의 움직임(손동작 등)으로 작동하는 기능은 버튼 같은 사용자 인터페이스 구성요소로도 조작할 수 있어야 하며, 의도하지 않은 동작으로 실행되는 것을 막기 위해 동작 기능을 끌 수 있어야 합니다. 예: 흔들어서 실행 취소, 손동작으로 사진 촬영.
예외
- 접근성 지원 인터페이스: 동작이 안구 마우스처럼 접근성 지원 인터페이스로 기능을 조작하는 데 쓰이는 경우
- 필수적인 경우: 동작이 기능에 반드시 필요하고, 끄면 기능 자체가 무의미해지는 경우(예: 만보기)
KWCAG 2.2에서 새로 추가된 검사 항목입니다.
왜 필요한가요
휠체어 등에 기기를 고정해 쓰는 사용자는 기기를 흔들거나 기울일 수 없고, 떨림이 있는 사용자는 의도하지 않게 동작 기능을 실행할 수 있습니다.
도움받는 사용자
- 기기를 거치해 쓰는 지체장애인
- 떨림·불수의 운동이 있는 사용자
- 이동 중인 사용자
적용 방법
devicemotion, deviceorientation으로 구현한 기능에는 같은 동작을 하는 버튼과 끄기 설정을 함께 제공합니다.
<button type="button" id="undo">실행 취소</button>
<label><input type="checkbox" id="shake-opt"> 흔들어서 실행 취소 사용</label>window.addEventListener('devicemotion', (e) => {
if (!document.getElementById('shake-opt').checked) return; // 사용자가 끄면 무시
if (isShake(e.accelerationIncludingGravity)) undo();
});
document.getElementById('undo').addEventListener('click', undo);사례
기울이기 스크롤과 함께 스크롤 버튼·끄기 설정
<button type="button">위로</button><button type="button">아래로</button>
<label><input type="checkbox"> 기울여서 스크롤</label>흔들어야만 새로고침
window.addEventListener('devicemotion', e => { if (shaken(e)) refresh(); });자주 하는 실수
- 흔들기로만 실행되는 기능에 버튼 대안이 없습니다.
- 동작 기능을 끌 수 없어 휴대 중 의도하지 않게 실행됩니다.
검사 방법
- 흔들기, 기울이기, 손동작 등 동작으로 실행되는 기능이 있는지 확인합니다.
- 같은 기능을 버튼 등 화면의 구성요소로 실행할 수 있는지 확인합니다.
- 동작 기능을 끌 수 있는지, 끈 뒤에는 동작에 반응하지 않는지 확인합니다.