ARIA 접근성 가이드

모바일 앱 접근성 지침 · 7. 이해의 용이성 · 7.2 예측 가능성

7.2.1 사용자 요구에 따른 실행

사용자가 의도하지 않은 기능(새 화면, 화면 전환, 자동 제출 등)은 자동으로 실행되지 않아야 합니다.

KS X 3253:2016

한눈에 보기

검사 항목
7.2.1 사용자 요구에 따른 실행
원칙
7. 이해의 용이성
지침
7.2 예측 가능성
도입
KS X 3253:2016

요구 사항

컨트롤이나 사용자 입력은 초점을 받았을 때 의도하지 않은 기능이 자동으로 실행되지 않아야 하며, 사용자의 누르기 조작 등으로 실행되어야 합니다. 특히 사용자가 의도하지 않은 새 창, 화면, 다른 앱 실행, 화면 전환이 사용자가 모르는 상황에서 일어나지 않아야 합니다.

  • 초점에 의한 맥락 변화 — 컨트롤이 초점을 받은 것만으로 기능이 실행되지 않아야 합니다. 초점을 받은 요소의 색 반전, 테두리 같은 시각적 변화나 초점이 이동하지 않은 상태에서 나타나는 추가 정보는 맥락 변화로 보지 않습니다.
  • 입력에 따른 변화 — 콤보 박스, 라디오 버튼, 체크박스에서 항목을 선택하는 것만으로 기능이 실행되거나 서식이 제출되지 않아야 하며, 함께 제공되는 실행 버튼을 눌렀을 때 실행되어야 합니다.
  • 새 창/팝업창 — 사용자가 예측할 수 없는 상황에서 새 창을 열어 정보를 전달하지 않습니다.
  • 레이어 팝업 — 초점 이동과 선형구조를 해칠 가능성이 크므로 쓰지 않는 것이 바람직하며, 부득이하게 쓰면 초점이 레이어 팝업에 가장 먼저 가고 닫은 뒤에만 이전 화면에 접근할 수 있게 구현합니다.

개정 내역: 유지 — 2016판 「7.5 예측가능성」

왜 필요한가요

시각장애, 지적장애, 지체장애가 있는 사용자도 초점과 맥락의 변화를 이해할 수 있습니다. 새 화면이 열린다는 것을 미리 알면 뒤로 가기 동작의 결과를 예측할 수 있어 혼란이 줄어듭니다.

도움받는 사용자

  • 화면낭독기 사용자
  • 인지·지적장애인
  • 스위치 제어 사용자

적용 방법

선택 컨트롤의 값 변경 리스너에서 화면 전환이나 제출을 하지 말고, 확인 버튼에서 실행합니다. 외부 앱이나 브라우저로 이동하는 링크는 레이블이나 힌트로 미리 알립니다.

Android (Kotlin · View)
// 비권장: 선택 즉시 화면 이동
spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
    override fun onItemSelected(p: AdapterView<*>?, v: View?, pos: Int, id: Long) { openRegion(pos) }
    override fun onNothingSelected(p: AdapterView<*>?) {}
}
// 권장: [이동] 버튼에서 실행
goButton.setOnClickListener { openRegion(spinner.selectedItemPosition) }
iOS (Swift · UIKit)
externalLinkButton.accessibilityHint = "외부 브라우저에서 열립니다"

사례

라디오 선택 즉시 결제 수단 화면 전환

비권장텍스트
( ) 카드 ( ) 계좌이체  ← 누르는 순간 다른 화면으로 이동

확인 후 실행

권장텍스트
(•) 카드 ( ) 계좌이체  [다음]

자주 하는 실수

  • 드롭다운이나 라디오 버튼에서 값을 고르는 즉시 화면이 바뀌거나 제출됩니다.
  • 화면 진입 시 사용자가 요청하지 않은 팝업, 다른 앱, 브라우저가 열립니다.
  • 레이어 팝업이 떠도 초점이 뒤 화면에 남아 있습니다.

검사 방법

  • TalkBack·VoiceOver로 컨트롤에 초점만 옮겨 보고 기능이 실행되지 않는지 확인합니다.
  • 선택 컨트롤의 값을 바꾸었을 때 자동 화면 전환·제출이 없는지 확인합니다.
  • 화면 진입이나 동작 후 예고 없이 새 화면·팝업·외부 앱이 열리지 않는지, 레이어 팝업이 열리면 초점이 팝업으로 가는지 확인합니다.

다른 지침의 대응 항목