KWCAG 2.2 · 7. 이해의 용이성 · 7.2 예측 가능성
7.2.1 사용자 요구에 따른 실행
사용자가 의도하지 않은 기능(새 창, 초점에 의한 맥락 변화 등)은 실행되지 않아야 합니다.
KWCAG 2.0
한눈에 보기
- 검사 항목
- 7.2.1 사용자 요구에 따른 실행
- 원칙
- 7. 이해의 용이성
- 지침
- 7.2 예측 가능성
- 도입
- KWCAG 2.0
요구 사항
컨트롤이나 사용자 입력은 초점을 받았다는 이유만으로 기능이 자동 실행되지 않아야 하며, 사용자의 클릭이나 키보드 조작으로 실행되어야 합니다. 특히 새 창·팝업창은 사용자가 인지하지 못한 상황에서 열리면 안 됩니다.
- 초점에 의한 맥락 변화: 초점을 받았을 때 서식 자동 제출, 새 창 열림, 메뉴 항목 실행, 초점의 예측할 수 없는 이동 등이 일어나지 않아야 합니다. 초점 시 색 반전·테두리 같은 시각 변화나 추가 정보 표시는 맥락 변화로 보지 않습니다.
- 입력에 따른 변화: 콤보 상자, 라디오 버튼, 체크박스에서 항목을 선택했다고 바로 기능이 실행되거나 서식이 제출되지 않아야 하며, 함께 제공한 실행 버튼을 눌렀을 때 실행되어야 합니다.
- 새 창/팝업창: 예측할 수 없는 상황에서 새 창을 열어 정보를 전달하지 않습니다.
- 레이어 팝업: 논리적 초점 이동과 선형구조를 해치기 쉬우므로 사용하지 않는 것이 바람직합니다.
- 새 창·팝업 닫기: 닫기·종료 버튼을 누르면 해당 창이나 팝업이 실제로 닫혀야 합니다.
왜 필요한가요
화면낭독기 사용자는 화면 전체를 볼 수 없어 새 창이 열리거나 페이지가 바뀐 것을 알아채기 어렵습니다. 셀렉트 상자에서 방향키로 항목을 살펴보기만 해도 페이지가 이동하면 원하는 항목에 도달할 수 없습니다.
도움받는 사용자
- 시각장애인(화면낭독기 사용자)
- 지적장애·인지장애가 있는 사용자
- 키보드 사용자
- 지체장애인
적용 방법
선택과 실행을 분리해 실행 버튼을 둡니다. 새 창으로 열리는 링크는 링크 텍스트나 title, 숨김 텍스트로 “새 창”임을 미리 알립니다.
<!-- 권장: 선택 후 [이동] 버튼으로 실행 -->
<label for="family">관련 사이트</label>
<select id="family">
<option value="https://a.example">한빛도서관</option>
<option value="https://b.example">한빛문화재단</option>
</select>
<button type="button" id="go">이동<span class="sr-only"> (새 창)</span></button>
<!-- 새 창 링크 예고 -->
<a href="https://gov.example" target="_blank" rel="noopener">정부24<span class="sr-only"> (새 창)</span></a>사례
[조회] 버튼을 눌러야 결과 표시
<select id="year">…</select>
<button type="submit">조회</button>선택만 해도 페이지 이동
<select onchange="location.href=this.value">…</select>페이지 접속 시 팝업창 자동 열기
<body onload="window.open('event.html')">자주 하는 실수
select의onchange로 바로 페이지를 이동합니다.- 페이지가 열리면 알림 없이 새 창(팝업)이 열립니다.
- 입력란에 초점이 가면 자동으로 다음 페이지로 넘어갑니다.
- 새 창으로 열리는 링크에 새 창 안내가 없습니다.
- 레이어 팝업의 닫기 버튼을 눌러도 닫히지 않거나 키보드로 닫을 수 없습니다.
검사 방법
- 마우스를 쓰지 않고 Tab, Shift+Tab, Enter, Space, 방향키만으로 조작해 봅니다.
- 초점 이동만으로 새 창, 페이지 이동, 서식 제출 등이 일어나지 않는지 확인합니다.
- 콤보 상자·라디오 버튼에서 방향키로 선택을 바꿀 때 기능이 바로 실행되지 않는지 확인합니다.
- 페이지 접속 시 열리는 팝업창이 있는지, 새 창 링크에 사전 안내가 있는지 확인합니다.
- 새 창·팝업·레이어 팝업이 닫기 버튼으로 실제로 닫히는지 확인합니다.