아티클

iOS VoiceOver의 trait 기능 활용하기 2부

2017-01-17 11:14:34

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


지난 글에 이어 iOS VoiceOver에서 제공하는 trait 기능에 대해 살펴보도록 하겠습니다.


Starts Media Session (UIAccessibilityTraitStartsMediaSession)

특정 버튼을 이중 탭 했을 때 화면은 변하지 않고 짧은 사운드 이벤트가 재생되는 버튼이 있다고 가정해 봅시다. 버튼을 눌렀을 때 포커스의 변화가 없다면 보이스오버는 선택한 버튼의 레이블을 다시 한번 음성출력하게 됩니다. 그러나 재생되는 사운드가 짧고 중요한 사운드라면 이러한 보이스오버의 음성이 방해가 될 수 있습니다. 상황에 따라 개발자는 이런 경우 사운드에 집중하도록 하기 위하여 보이스오버의 음성을 해당 버튼을 이중 탭 했을 때 출력하지 않도록 할 수 있는데 이것이 사운드세션 trait를 적용하는 것입니다. 사운드가 출력되는 모든 객체에 이러한 trait를 적용하기보다는 중요한 이벤트를 알리는 용도로 사운드가 사용된 경우, 그리고 이중 탭 한 레이블의 이름이 바뀌지 않는 경우에만 사용해야 합니다. 예를 들어 일반적인 뮤직 플레이어에서 재생을 누르면 버튼은 일시정지로 바뀝니다. 이때 만약 media session trait를 적용하면 재생이 실행되면서 일시정지로 바뀐 버튼명을 바로 들을 수 없고 다시 탭해서 변경된 사항을 확인할 수 있습니다.


Adjustable (UIAccessibilityTraitAdjustable)

UISLIDER 컨트롤에만 적용하는 trait로서 위 또는 아래로 한 손가락 쓸기로 값을 조절할 수 있도록 하는 기능을 합니다. 이중 탭 한 상태로 슬라이드를 해서 값을 조절할 경우 상황에 따라 조절 값을 맞추기 어려울수 있으나 위아래 쓸기로 조절하게 되면 일정 숫자 단위로 이동하므로 어느 정도 세밀한 조절이 가능합니다. 이 trait가 적용되면 포커스 시에 다른 로터 옵션으로 선택되어 있더라도 값 조절 로터로 변경되며 값 조절이 가능하다는 힌트 메시지가 출력됩니다.


Direct Interaction (UIAccessibilityTraitAllowsDirectInteraction)

보이스오버를 켜면 모든 화면에 있는 객체들은 보이스오버 제스처의 영향을 받습니다. 그러나 그림을 그리는 영역, 악기를 연주하는 영역과 같이 보이스오버의 제스처들이 무시되어야 하는 영역이 있을 수 있습니다. 이것은 마치 일반적인 스크린리더에서 스크린리더의 기능키를 일시 중지하는 것과 같습니다. 앱의 특성에 따라 특정 영역에 direct interaction trait를 적용하면 그 영역은 보이스오버의 터치 기능을 무시하고 동작하여 탭, 그리기 등이 가능하게 됩니다. GarageBand 앱의 키보드 연주 섹션에서 관련 trait가 적용된 예를 확인할 수 있습니다.


머리말 (UIAccessibilityTraitHeader)

특정 요소가 제목을 의미할 때 사용할 수 있습니다. 이 trait를 사용하면 보이스오버는 레이블 뒤에 ‘머리말’이라고 음성출력합니다. 이러한 머리말 요소는 사용자가 제목 요소임을 쉽게 구분할 수 있도록 해줄뿐만 아니라 한 스크린에 여러 제목이 있을 경우 머리말 로터를 통하여 머리말 단위로 빠르게 이동할 수 있습니다. 하나의 view에 적어도 하나의 머리말은 써주는게 좋습니다.


이미지 (UIAccessibilityTraitImage)

커스텀 컨트롤을 사용한 프로필이나 사진을 나타내는 경우에 적용할 수 있습니다. 이 trait를 사용하면 보이스오버는 레이블 뒤에 ‘이미지’라고 음성출력합니다. 이미지가 단순한 디자인적 요소로 사용된 경우에는 이러한 정보를 제공해 주지 않아도 됩니다.


키보드 (UIAccessibilityTraitKeyboardKey)

보안키보드와 같이 커스텀 키보드를 사용할 때 적용할 수 있습니다. 기본적으로 표준 키보드에서는 보이스오버 사용자가 입력할 때 각 키를 이중 탭 해서 입력하는 표준입력, 손가락을 터치한 상태로 특정 키에서 손을 떼면 바로 입력되는 터치입력 옵션 등을 조절할 수 있는데 커스텀 키보드에서는 기본적으로 이중 탭 하여 입력하는 것 외에는 다른 옵션이 작동하지 않습니다. 따라서 이러한 키보드에 키보드키 trait를 적용하면 마치 일반 키보드인 것처럼 동작하여 로터 옵션에서 입력 방식을 조절할 수 있게 됩니다.


자동 페이지 넘기기 (UIAccessibilityTraitCausesPageTurn)

여러 페이지로 구성된 문서에서 두 손가락 아래로 쓸기를 이용하여 연속으로 텍스트를 읽을 필요가 있거나 점자 디스플레이에서 이동 시 페이지 넘기기가 활성화된 상태로 텍스트를 읽어야 할 경우 이 trait를 적용할 수 있습니다. 그러면 한 화면의 텍스트를 다 읽으면 수동으로 페이지를 넘겨주지 않아도 자동으로 다음 페이지로 넘어가면서 텍스트를 연속적으로 읽을 수 있습니다. iBooks와 Google 플레이북에서 이 trait의 실재 예를 확인할 수 있습니다.


여러 trait 동시 사용

지금까지 iOS VoiceOver에서 적용할 수 있는 여러 trait 속성들에 대해 살펴보았습니다. 이러한 trait는 상황에 따라 두 개를 동시에 사용할 수도 있습니다. 예를 들어 어떤 요소가 제목이면서도 실행할 수 있는 액션 이벤트를 포함하고 있다면 제목(머리말)인 동시에 액션(버튼)을 포함하고 있어야 합니다. 따라서 trait를 적용할 때 각 요소의 의미를 정확히 파악하고 적절한 trait를 적용해 주어야 합니다. 이러한 속성은 ‘미리알림’ 애플리케이션에서 테스트해볼 수 있습니다.


이상으로 trait에 대한 글을 마치겠습니다. 감사합니다.


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