웹 접근성 지침(KWCAG에 대해) - 18 / 사용자 요구에 따른 실행

2023. 3. 15. 13:38

사용자가 의도하지 않은 기능(새 창, 초점에 의한 맥락 변화 등)은 실행되지 않아야 한다.

 

 

오류 사례와 준수 사례

 

페이지 진입 시 뜨는 새 창(팝업)

사용자가 예측할 수 없는 상황에서 페이지 진입 시 새 창이 열리는 경우 오류이므로 새 창을 제공하지 않아야 한다.

 

 

화면을 가리는 레이어 팝업

화면을 가리는 레이어 팝업을 제공한 경우에도 오류이다.

오류를 해결하기 위해서는 반복 영역 건너뛰기보다 먼저 팝업을 제어할 수 있도록 구현하거나

화면을 가리지 않고 가장 상단에 레이어 팝업을 제공해야 한다.

 

 

사전에 인식할 수 없는 새 창

특정 링크 클릭 시 새 창이 뜨는 경우 스크린리더 사용자는 새 창이 뜬 것을 인지하기 힘드므로 이전 창인줄 알고 계속 탐색할 수도 있다.

키보드 사용자도 다시 이전 창으로 돌아가서 키보드 접근을 해야하는 불편함이 생긴다.

 

따라서 링크 요소 내부에 blind로 새 창이라는 정보를 추가하거나 title, target 등의 속성을 활용하여 새 창이 열릴 것이라고 사전에 알려주어야 한다.

 

이 때 title과 taget 속성으로 새 창을 알려주는 경우 센스리더 외 다른 스크린리더기는 새 창이라고 읽어주지 않으므로 blind를 통한 새 창 정보 추가가 가장 확실한 방법이다.

 

 

컨트롤이 초점을 받았을 경우 사용자가 의도하지 않은 기능 실행

사용자가 콤보 상자, 라디오 버튼, 체크 상자 등의 컨트롤을 선택했을 때 기능이 실행되거나 서식 제출이 일어나지 않아야 한다.

위 이미지 처럼 '오늘 하루 이 창을 열지 않음' 체크 박스를 선택하자 마자 팝업이 닫히는 경우 오류이며, 닫기 버튼을 따로 제공하여 체크 후 닫기 버튼 클릭 시 팝업이 닫히도록 구현해야 한다.

 

 

select에 onchange 이벤트 적용

select에 onchage 이벤트가 적용되어 option을 선택하자마자 페이지가 이동되는 경우 오류이다.

onFocus나 onKeypress 등의 이벤트에 의해, 포커스를 옮기는 동작만으로, 초점을 받은 것만으로 새 창이나 레이어가 뜨거나 페이지가 바뀌는 경우 모두 사용자가 원하지 않는 기능이 실행되는 것이므로 오류이다.


부스트코스의 강의 내용을 정리한 포스트입니다.

https://www.boostcourse.org/web344

 

웹 UI 개발

부스트코스 무료 강의

www.boostcourse.org

BELATED ARTICLES

more