ARIA 접근성 가이드

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>

사례

[조회] 버튼을 눌러야 결과 표시

권장HTML
<select id="year">…</select>
<button type="submit">조회</button>

선택만 해도 페이지 이동

비권장HTML
<select onchange="location.href=this.value">…</select>

페이지 접속 시 팝업창 자동 열기

비권장HTML
<body onload="window.open('event.html')">

자주 하는 실수

  • select의 onchange로 바로 페이지를 이동합니다.
  • 페이지가 열리면 알림 없이 새 창(팝업)이 열립니다.
  • 입력란에 초점이 가면 자동으로 다음 페이지로 넘어갑니다.
  • 새 창으로 열리는 링크에 새 창 안내가 없습니다.
  • 레이어 팝업의 닫기 버튼을 눌러도 닫히지 않거나 키보드로 닫을 수 없습니다.

검사 방법

  • 마우스를 쓰지 않고 Tab, Shift+Tab, Enter, Space, 방향키만으로 조작해 봅니다.
  • 초점 이동만으로 새 창, 페이지 이동, 서식 제출 등이 일어나지 않는지 확인합니다.
  • 콤보 상자·라디오 버튼에서 방향키로 선택을 바꿀 때 기능이 바로 실행되지 않는지 확인합니다.
  • 페이지 접속 시 열리는 팝업창이 있는지, 새 창 링크에 사전 안내가 있는지 확인합니다.
  • 새 창·팝업·레이어 팝업이 닫기 버튼으로 실제로 닫히는지 확인합니다.

관련 ARIA

다른 지침의 대응 항목