모바일 앱 접근성 지침 · 7. 이해의 용이성 · 7.2 예측 가능성
7.2.1 사용자 요구에 따른 실행
사용자가 의도하지 않은 기능(새 화면, 화면 전환, 자동 제출 등)은 자동으로 실행되지 않아야 합니다.
KS X 3253:2016
한눈에 보기
- 검사 항목
- 7.2.1 사용자 요구에 따른 실행
- 원칙
- 7. 이해의 용이성
- 지침
- 7.2 예측 가능성
- 도입
- KS X 3253:2016
요구 사항
컨트롤이나 사용자 입력은 초점을 받았을 때 의도하지 않은 기능이 자동으로 실행되지 않아야 하며, 사용자의 누르기 조작 등으로 실행되어야 합니다. 특히 사용자가 의도하지 않은 새 창, 화면, 다른 앱 실행, 화면 전환이 사용자가 모르는 상황에서 일어나지 않아야 합니다.
- 초점에 의한 맥락 변화 — 컨트롤이 초점을 받은 것만으로 기능이 실행되지 않아야 합니다. 초점을 받은 요소의 색 반전, 테두리 같은 시각적 변화나 초점이 이동하지 않은 상태에서 나타나는 추가 정보는 맥락 변화로 보지 않습니다.
- 입력에 따른 변화 — 콤보 박스, 라디오 버튼, 체크박스에서 항목을 선택하는 것만으로 기능이 실행되거나 서식이 제출되지 않아야 하며, 함께 제공되는 실행 버튼을 눌렀을 때 실행되어야 합니다.
- 새 창/팝업창 — 사용자가 예측할 수 없는 상황에서 새 창을 열어 정보를 전달하지 않습니다.
- 레이어 팝업 — 초점 이동과 선형구조를 해칠 가능성이 크므로 쓰지 않는 것이 바람직하며, 부득이하게 쓰면 초점이 레이어 팝업에 가장 먼저 가고 닫은 뒤에만 이전 화면에 접근할 수 있게 구현합니다.
개정 내역: 유지 — 2016판 「7.5 예측가능성」
왜 필요한가요
시각장애, 지적장애, 지체장애가 있는 사용자도 초점과 맥락의 변화를 이해할 수 있습니다. 새 화면이 열린다는 것을 미리 알면 뒤로 가기 동작의 결과를 예측할 수 있어 혼란이 줄어듭니다.
도움받는 사용자
- 화면낭독기 사용자
- 인지·지적장애인
- 스위치 제어 사용자
적용 방법
선택 컨트롤의 값 변경 리스너에서 화면 전환이나 제출을 하지 말고, 확인 버튼에서 실행합니다. 외부 앱이나 브라우저로 이동하는 링크는 레이블이나 힌트로 미리 알립니다.
// 비권장: 선택 즉시 화면 이동
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) }externalLinkButton.accessibilityHint = "외부 브라우저에서 열립니다"사례
라디오 선택 즉시 결제 수단 화면 전환
( ) 카드 ( ) 계좌이체 ← 누르는 순간 다른 화면으로 이동확인 후 실행
(•) 카드 ( ) 계좌이체 [다음]자주 하는 실수
- 드롭다운이나 라디오 버튼에서 값을 고르는 즉시 화면이 바뀌거나 제출됩니다.
- 화면 진입 시 사용자가 요청하지 않은 팝업, 다른 앱, 브라우저가 열립니다.
- 레이어 팝업이 떠도 초점이 뒤 화면에 남아 있습니다.
검사 방법
- TalkBack·VoiceOver로 컨트롤에 초점만 옮겨 보고 기능이 실행되지 않는지 확인합니다.
- 선택 컨트롤의 값을 바꾸었을 때 자동 화면 전환·제출이 없는지 확인합니다.
- 화면 진입이나 동작 후 예고 없이 새 화면·팝업·외부 앱이 열리지 않는지, 레이어 팝업이 열리면 초점이 팝업으로 가는지 확인합니다.