iOS 응용 (swift)
[iOS - swift] 2. VoiceOver Accessibility (앱 접근성) - 주의사항, 시뮬레이터 Accessibility 테스트
jake-kim
2023. 5. 17. 00:38
1. VoiceOver Accessibility (앱 접근성) - 개념
2. VoiceOver Accessibility (앱 접근성) - 주의사항, 시뮬레이터 Accessibility 테스트 v
3. VoiceOver Accessibility (앱 접근성) - 적용 방법, 그룹핑 방법(UIAccessibilityElement)
접근성 구현 시 주의사항
- 앱 요소에 대한 접근성 정보를 추가
- VoiceOver는 기분적으로 사용자 정의 UI요소를 인식하지 않으므로 따로 정보를 추가해주어야함
- VoiceOver 올바른 순서로 요소를 탐색하도록 요소를 그룹화
- VoiceOver는 앞쪽 가장자리부터 뒤쪽 가장자리까지 읽는데, 다른 순서로 읽도록 하려면 그룹을 사용하여 앱에 적합한 탐색을 용이하게 설정
- VoiceOver가 읽을 수 있는 설명을 디테일하게 모두 포함하기
- 버튼을 누르면 회색에서 녹색으로 바뀌는 UI가 있는데, 이런 요소까지 모두 VoiceOver가 말해주도록 구현할 것
앱의 접근성 구현 방법
- isAccessibilityElement로 활성화
- 디폴트 - UIKit control 종류는 true이고, 일반적인 UIKit은 false
- (UIView는 false, UILabel은 true)

label.isAccessibilityElement = true // default는 true
- 선택했을때 읽어주기 - 해당 요소를 탭하면 accessibilityLabel을 먼저 읽어주고 그 후에 accessibilityHint를 이어서 VoiceOver에서 말해줌
- accessibilityLabel: 프로퍼티에 텍스트를 입력
- accessibilityHint: 동작시키기 위한 방법을 안내
label.accessibilityLabel = "title: \(label.text!)"
label.accessibilityHint = "This is title of app"
시뮬레이터 Accessibility 테스트
- Xcode > Open Developer Tool > Accessibility Inspector 선택

- Accessibility Inspector에서 초점 버튼을 선택한 후 시뮬레이터를 누르면 포커스가 시뮬레이터에 잡히고, 재생버튼을 누르면 자동으로 순서대로 수행

- 방향 버튼을 누르면 읽어주는 순서도 쉽게 알기가 가능

접근성 정보 형태
- 읽어주는 순서
- 장치의 언어 방향으로 읽어주는 형태
- ex) 왼쪽에서 오른쪽으로 영어를 읽고 오른쪽에서 왼쪽으로 아럽어와 페르시아어를 읽는 형태
- 그룹화를 통해 읽는 방식을 정하기가 가능

* 그룹화 방법은 다음 포스팅 글에서 계속
* 참고
https://developer.apple.com/documentation/objectivec/nsobject/1615141-isaccessibilityelement
https://developer.apple.com/documentation/accessibility/supporting_voiceover_in_your_app/