아티클

Android Talkback의 변경 내용 Since V 4.5.0 2부

2018-06-07 10:39:21

안녕하세요. 엔비전스입니다.

예고 드린 바와 같이 지난 글에 이어 이번 글에서는 Android 화면 분할 기능의 접근성, 네이티브 애플리케이션에서의 제목, 컨트롤 등의 요소별 탐색 지원, Android P의 새로운 접근성에 대해 알아보겠습니다.

화면 분할 기능의 접근성

화면 분할 기능이란 그 명칭으로 짐작할 수 있듯이 단말기의 화면을 두 개로 나누어 각각 다른 애플리케이션의 콘텐츠를 표시하는 것입니다. 스크린리더 사용자 역시 화면 분할 기능을 사용하여 멀티태스킹이 가능합니다. 특히 Google의 레퍼런스 단말기(Nexus 시리즈 또는 Pixel 시리즈)에 설치된 런처에서는 Custom Action으로 화면 분할 기능 및 분할 화면 크기 조정을 쉽게 할 수 있습니다. 또한, 현재 저희가 확인한 바로는 LG 전자의 단말기 역시 화면 분할 기능을 스크린리더 사용자가 손쉽게 이용할 수 있습니다.
화면 분할 기능을 사용하려면 먼저 임의의 애플리케이션을 실행합니다. 그다음 최근 앱을 눌러 작업 관리자를 열고, 나타나는 애플리케이션 목록 중 위에서 실행한 애플리케이션에 포커스 합니다. Custom Action을 호출하여 화면 분할을 선택하면 화면 상단에 선택한 애플리케이션의 본문이 표시됩니다. 화면 아래에는 홈 화면이 유지됩니다. 만약 다른 애플리케이션을 실행한다면 아래쪽 화면이 방금 실행한 애플리케이션 화면으로 전환됩니다. 즉 화면 위쪽은 먼저 화면을 분할한 애플리케이션, 아래쪽은 나중에 실행한 애플리케이션 영역으로 나뉘게 됩니다.
Android는 또한 위쪽 화면의 크기를 조정함으로써 분할된 화면의 비율을 조정할 수 있습니다. 방법은 화면 위쪽에 표시된 애플리케이션에서 초점을 처음으로 이동한 다음 왼쪽으로 순차 탐색을 하면 화면 분할이라는 메시지가 출력됩니다. 그곳에서 Custom action을 호출하면 위쪽 화면 분할 비율을 선택할 수 있는 버튼이 표시됩니다. 화면 비율은 70%, 50%, 30%로 조정 가능합니다. 화면 비율을 조정할 수 있는 요소를 찾을 때 한 손가락으로 화면 중앙쯤을 임의 탐색하여 찾을 수도 있습니다.

요소 ID 말하기

기존의 Talkback은 레이블이 적용되지 않은 버튼에 포커스 하게 되면 ‘라벨이 지정되지 않은 버튼’과 같이 음성 출력하였습니다. 이때 특정 애플리케이션의 한 화면에 레이블이 제공되지 않는 버튼이 두 개 이상 존재한다면 사용자는 각 버튼을 구별할 수 없습니다. 모든 이미지 버튼에는 레이블을 제공하는 것이 원칙이지만, 각 애플리케이션이 이러한 지침을 준수하지 못한 것이 현실입니다. 이때 각 버튼에 선언된 ID를 스크린리더가 출력하게 되면 각 버튼을 구별하기 비교적 쉬워질 것입니다.
Talkback 6.0부터 이러한 문제를 해결하고자 요소 ID 말하기 기능을 도입했습니다. 해당 기능을 사용하려면 설정 > 접근성 > Talkback > 상세 출력에서 ‘요소 ID 말하기’를 활성화합니다. 해당 기능을 활성화하면 레이블 없는 버튼에 포커스 할 경우 ‘MoreInfo 버튼’과 같이 음성 출력합니다. 여기서 당연하게도 버튼의 ID는 MoreInfo입니다.

네이티브 애플리케이션에 콘텐츠 블록 설정하기

스크린리더 사용자에게 적절한 콘텐츠 블록은 콘텐츠의 명확한 이해를 위하여 매우 중요합니다. 웹페이지에서는 해당 역할을 Heading(<h1~h6)과 랜드마크가 수행합니다. Android에서도 웹 페이지와 유사하게 스크린리더가 인식할 수 있는 제목을 콘텐츠 영역에 제공할 수 있습니다.

addHeaderView 함수의 사용

일반적으로 화면에 표시되는 UI 콘텐츠의 제목을 표시하는 용도로 addHeaderView()를 사용합니다. 그러나 이 함수로 제목을 표시하더라도 시각적으로는 콘텐츠의 제목임을 식별할 수 있으나 Talkback는 해당 함수가 적용된 뷰를 제목 요소로 인식할 수 없었습니다. 이러한 문제는 Android 8.0에 기본적으로 탑재된 Talkback 6.0에서 해결되었습니다. 따라서 addHeaderView()로 콘텐츠 제목을 제공했을 때 스크린리더 사용자 역시 정상적으로 콘텐츠 제목 인식이 가능합니다.

setAccessibilityHeading

때에 따라 addHeaderView() 함수를 이용한 콘텐츠 제공이 불가능할 수 있습니다. 이를테면 화면 UI 디자인의 이유로 콘텐츠 제목을 명시적으로 제공하는 것이 불가능할 수 있습니다. 또는 스크린리더 사용자를 위해 더 정밀하게 콘텐츠 블록을 설정해야 할 수도 있습니다. 이때 스크린리더에서만 인식 가능한 setAccessibilityHeading을 사용할 수 있습니다. 단 이 xML 속성은 Android P부터 사용 가능합니다.

Android P의 업데이트 내용(사용성)

Android P는 사용성 측면에서 몇 가지 변화가 있었습니다. 이 글에서는 Google의 레퍼런스 단말기 Pixel2를 기준으로 변경된 내용을 설명해 드리겠습니다. 이 글에서 설명하는 Android P는 추후 정식 버전 출시 후 재조사별로 UI가 달라질 수 있습니다.

볼륨 조절 패널 위치의 변화

Android는 볼륨 버튼을 눌렀을 때 화면 상단에 벨 소리, 접근성, 미디어 등의 볼륨을 조절할 수 있는 시크바가 표시되어 왔습니다. 그러나 Android P의 경우 볼륨 시크바가 화면 오른쪽에 표시됩니다. 또한, 기존에는 각 시크바가 가로로 배치되어 있었다면 세로로 배치되게 되었습니다. 볼륨 시크바를 닫는 동작은 기존의 두 손가락 가볍게 위로 스와이프로 동일합니다.

홈 화면 페이지 넘기기의 변화

Android 8.1까지 홈 화면이 두 개 이상으로 이루어져 있을 경우 다음 페이지에 있는 애플리케이션 목록을 확인하려면 스크린리더 사용자는 두 손가락 왼쪽 스와이프를 통해 다음 페이지로 전환해야 했습니다. Android P부터 이러한 방식에 더불어 순차 탐색 시 한 페이지의 마지막 애플리케이션을 지나면 자동으로 페이지 전환이 되도록 변경되었습니다. 여기서 마지막 애플리케이션의 의미는 하단에 고정된 스프링보드를 제외한 애플리케이션 목록을 의미합니다. 또한, 홈 화면 2페이지에서 가장 첫 번째 애플리케이션에 포커스 한 다음 왼쪽으로 한 손가락을 스와이프 하면 홈 화면 1페이지로 전환됩니다.

작업 관리자(최근 사용 앱 목록)에서의 변경 내용

스크린리더 사용자에게 익숙한 작업 관리자(최근 사용한 앱 목록)의 구조는 기본적으로 현재 작업 관리자에 로드된 애플리케이션, 해당 애플리케이션 정보를 여는 버튼, 애플리케이션 닫기 버튼 순서로 이루어진 형태일 것입니다. 그러나 Android P에서 이러한 구조가 대폭 변경되었습니다. 먼저 작업 관리자를 호출하면 자주 사용하는 애플리케이션 목록이 나타나고, 작업 관리자에 로드된 애플리케이션이 표시됩니다. 여기서 기존 작업 관리자와는 달리 각 애플리케이션 정보, 애플리케이션 닫기 버튼은 포커스 되지 않습니다. 애플리케이션을 닫으려면 Custom Action에 있는 닫기 버튼을 사용해야 합니다. iOS의 앱 전환기와 개념이 유사합니다.

지금까지 Android talkback 4.5 이후에 변경된 내용과 Android P의 변경된 내용에 대해 간략히 알아보았습니다. 이 글에서 다루지는 못했지만, Android P에서는 다양한 접근성 API가 추가되었습니다. 해당 내용은 Android P가 정식 출시된 다음 자세히 안내해드리도록 하겠습니다. 긴 글 읽어주셔서 감사합니다.

 

댓글 0
댓글을 작성하려면 해주세요.