접근성(Accessbility)이란?
앱은 모두에게 사용가능해야만 합니다. 그렇다면, 모두에게 접근가능하게끔 디자인하는 것은 모두가 해당 앱을 즐길 수 있다는 의미입니다.
UIKit
은 built-in accessbility
기능을 제공해줍니다. 이는 시각 장애인들의 앱 편의성을 올려줍니다. 대개 이로인해 접근성을 활성화하기위해 추가적인 작업을 하지 않아도 됩니다. 물론custom
하게 접근성을 읽어주게끔 할 수 있습니다. 이러한 접근성을 보다 쉽게 도와주는 VoiceOver
에 대해 먼저 알아봅시다.
VoiceOver 란?
VoiceOver
는 사용자가 화면을 볼 수 없는 경우에도 iPhone
을 사용할 수 있도록 도와주는 제스처 기반 화면 읽기 도구
입니다. VoiceOver
는 다음 중 한가지 방법으로 손쉽게 켤 수 있습니다.
Siri
를 활성화한 다음VoiceOver 켜줘
또는VoiceOver 꺼줘
라고 말하십시오.측면 버튼 삼중 클릭하기
를 수행하십시오(Face ID 지원 iPhone의 경우)홈 버튼 삼중 클릭하기
를 수행하십시오(홈 버튼이 있는 iPhone의 경우)제어 센터 사용하기
를 수행하십시오
VoiceOver 제스처
오른쪽으로 쓸어 넘기기
를 통해 다음 그룹으로 넘어갈 수 있습니다이중 탭하기
를 통해clickable
한 컴포넌트들과의interaction
을 할 수 있습니다세 손가락으로 드래그
를 통해 화면을 위아래로 또는 좌우로 움직일 수 있습니다
더 자세한 튜토리얼
이 필요하다면
- 설정 -> 손쉬운 사용 -> VoiceOver를 켜고 -> VoiceOver 연습을 탭을 통해 튜토리얼을 시작할 수 있습니다.
접근성을 자유자제로 컨트롤하기
실 기기에서는 VoiceOver
를 켜면되지만 시뮬레이터로 테스트하려면 accessbility inspector
를 켜야합니다.
켜는 방법은 Xcode
-> Open Developer Tool
-> Accessbility Insepctor
를 통해 켜게되면
이러한 accessbility inspector
를 켤 수 있고 이를 통해 접근성을 테스트를 해볼 수 있습니다.
이제 기본적이고 가장 많이사용하는 Accessbility API Property
에 대해 알아보겠습니다
isAccessbilityElement
- 접근성 속성을 읽어줄 지 말지를 정할 수 있는 가장 많이 사용하는
Property
입니다. - 기본값은
NO (읽어주지 않는다)
이며UIKit controls
의 기본값은YES (읽어준다)
입니다.
accessibilityLabel
- 해당 컴포넌트로 포커싱이 되면 어떻게 읽어줄 지 커스텀할 수 있게 해주는
Property
입니다. - 기본값은
nil
이며UIKit controls
의 기본값은 문자를 읽어 줍니다.
accessibilityElements
- 컨테이너에 담겨있고 접근성을 읽어주고 싶은
element
들을 배열로 담을 수 있습니다. - 기본값은
nil
입니다.
accessibilityHint
element
에 대한 간단한 설명 또는 가이드를 사용하고 싶을 때 사용합니다.- 기본값은
nil
입니다.
마치며
애플에서 다행히도(?) built-in accessbility
를 제공해주기 때문에 접근성에 대해 특별히 신경써 주어야하는 부분은 없습니다. 하지만 보다 명확한 접근성을 의도대로 읽어주려면 custom
한 요소들을 입혀 더욱 앱의 완성도를 높일 수 있습니다.
References: