안녕하세요. Simple& Happy Dev입니다.
이번 글에서는 접근성 지원을 위해서 어떤 부분을 검토해야 하고 이에 도움을 줄 수 있는 도구들을 소개합니다.
접근성에 대한 기본적인 내용은 아래 글을 참조하시길 바랍니다.
2018/11/27 - 시각장애인 또는 약시 사용자를 위한 접근성(Accessibility)에 대하여
먼저 접근성 지원을 위해서 개발하는 도중에 고려해야 할 내용에 대해서 설명하겠습니다.
[접근성 - 개발 중 검토 방법]
1. 터치 대상 크기 조절
화면상의 요소(주로 버튼)에 대해서 사용자가 터치하는데 불편함이 없는지에 대한 너비 및 높이에 대한 기준 크기
최소 48dp가 되어야 합니다.
2. 콘텐츠 라벨 지정
토크백과 같은 스크린 리더가 음성 안내를 할 수 있도록 화면상의 요소들에 라벨을 지정이 필요합니다.
텍스트 뷰(TextView)와 같이 별도 지정이 필요하지 않은 것도 있고, 이미지 뷰(ImageView)나 이미지 버튼(ImageButton)과
같이 별도로 추가해야 하는 것도 있습니다. 배경 이미지나 화면을 꾸미기 위해서 넣은 이미지의 경우와 같이 라벨이 필요
하지 않아도 되는 경우 제외하도록 처리할 수 있습니다.
3. 대비(Contrast) 조절
쉽게 읽을 수 있도록 "텍스트와 배경색상" 또는 "이미지와 배경색상" 간의 명암비가 큰 텍스트는 3.0 이상 작은 텍스트는
4.5 이상이어야 합니다.
4. 구현 검사
View 계층구조를 검토하고 사용자가 레이아웃과 상호작용하는 데 문제가 될 수 있는 인스턴스를 검사합니다.
클릭 가능한 링크 (Clickablespan 대신 Urlspans 사용)
접근성을 지원하기 위해서 개발자는 개발 중에 위의 4가지를 고려해서 작업해야 하겠지만, 일단 고려하지 않고 작업 후 검사하는 방법도 있습니다.
[접근성 - 개발 후 검토 방법]
■ 사전 출시 보고서 (접근성 항목)
플레이 스토어에 앱을 출시하는 경우 Google Play Console에 apk를 등록 후 알파(공개 트랙)나 베타(비공개 트랙)로 릴리즈하면 "사전 출시 보고서"가 생성됩니다.
아래의 경우 접근성 항목에서 해당 apk의 경고성 문제 15개와 사소한 문제 8개를 검출한 것을 확인할 수 있습니다.
접근성 항목으로 진입하면 스크린샷과 문제가 된 위치를 확인할 수 있습니다.
(아래의 경우 앱의 스크린샷을 제대로 못 했는지 일부만 표시되었습니다. 원래는 제대로 표시됩니다)
스크린샷 화면을 클릭하면 문제가 된 리소스명, 해결 방법에 대한 설명이 나옵니다.
간혹 문제가 된 위치가 엉뚱한 곳으로 표시되는 경우가 있는데, 이때는 리소스명으로 문제가 된 곳을 확인하시면 됩니다.
■ 접근성 검사기
Google Play Console을 이용할 수 없는 경우는 접근성 검사기를 이용해서 문제점을 확인할 수 있습니다.
접근성 검사기는 구글에서 안드로이드 앱의 접근성 개선을 도와주도록 만든 도구입니다.
사용 방법
- 플레이 스토어에서 다운로드 후 설치, "설정 - 접근성 - 접근성 검사기 - 서비스 활성화"
접근성 검사기 서비스가 활성화되면 우측처럼 가운데 오버레이 된 "파란색 체크 버튼"이 나타납니다.
이 버튼은 "접근성 스캔 시작 버튼"이라고 부르며 다른 앱으로 이동하더라도 계속 표시됩니다.
- 검사할 앱으로 가서 "접근성 스캔 시작 버튼"을 눌러줍니다. (아래 예로 "11번가" 앱을 검사하였습니다)
스캔할 때 "찰칵"하는 촬영음 발생되고 잠시후에 오른쪽에 있는 것과 같이 결과가 표시됩니다.
총 26개의 검토 항목이 검출되었고, 해당 위치에 주황색 사각형으로 표시되어 있습니다.
위의 접근성 스캔 결과가 표시된 화면의 상단의 목록 버튼을 누르면 아래 왼쪽과 같이 26개 검토항목이 요소별로 나열되어 나옵니다. 그리고, 주황색 사각형으로 표시된 걸 누르면 아래 오른쪽과 같이 그 위치의 검토할 내용이 표시되며, 해결방법에 대한 설명이 나옵니다.
이상으로 접근성 지원을 위한 개발 시 검토 항목과 접근성 검토를 위한 도구들 사용법을 알아보았습니다.
다음에는 실제 예를 들어서 접근성 개선하는 것을 보여드리도록 하겠습니다.
읽어주셔서 감사합니다.
'Android Dev > App Basics & UI' 카테고리의 다른 글
버그 리포팅을 위한 준비 / 이전 오류 정보를 보관하는 tombstone과 dropbox (2) | 2018.12.29 |
---|---|
커스텀 리스트뷰에서 아이템 클릭(onItemClick)이 동작하지 않던 현상 해결방법 (0) | 2018.12.21 |
접근성 검사기(Accessibility Scanner)를 이용한 접근성 개선 예제 (1) | 2018.12.20 |
시각장애인 또는 약시 사용자를 위한 접근성(Accessibility)에 대하여 (1) | 2018.11.27 |
Build type(user/userdebug/eng)과 루트권한에 대하여 (1) | 2018.09.17 |