[swift] Swift 앱 접근성 확보 방법
소개
접근성은 모든 사용자가 앱을 사용할 수 있도록 하는 중요한 기능입니다. 특히 시각, 청각, 운동 능력 등에 제한이 있는 사용자들을 위한 접근성을 고려하는 것은 매우 중요합니다. Swift는 이러한 접근성 기능을 향상시키기 위한 다양한 기능과 API를 제공합니다.
UI 요소에 접근성 추가하기
레이블(Label)
레이블은 앱의 인터페이스에서 중요한 정보를 전달하는데 사용됩니다. 접근성을 향상시키기 위해 다음과 같은 사항을 고려해야 합니다.
- 텍스트를 연설할 수 있도록 읽기 쉬운 레이블 텍스트를 제공하세요.
- 긴 텍스트를 축약하여 짧게 표시할 수 있는 옵션을 제공하세요.
- 동적으로 변경되는 내용에 대한 알림을 제공하세요.
let label = UILabel()
label.text = "중요한 정보입니다."
label.accessibilityLabel = "중요한 정보"
버튼(Button)
버튼은 사용자와의 상호작용을 위해 많이 사용되는 요소입니다. 접근성을 향상시키기 위해 다음과 같은 사항을 고려해야 합니다.
- 버튼의 역할과 기능을 설명하는 알림을 제공하세요.
- 버튼의 상태를 명확하게 알려주는 텍스트를 제공하세요.
- 터치 영역을 적절하게 설정하고 크기를 제공하세요.
let button = UIButton()
button.setTitle("클릭하기", for: .normal)
button.accessibilityHint = "링크를 열기 위해 버튼을 클릭해주세요."
button.accessibilityTraits = .button
보조 도구 사용자 지원하기
보이스 오버(VoiceOver)
보이스 오버는 시각 장애인을 위한 화면 낭독 기능입니다. 보이스 오버를 지원하기 위해 다음과 같은 사항을 고려해야 합니다.
- 화면에 표시되는 요소에 대한 읽기 쉬운 설명을 제공하세요.
- 커스텀 뷰를 사용하는 경우 접근 가능한 정보를 제공하세요.
- 포커스 이동을 위한 목적지를 설정하세요.
let view = UIView()
view.isAccessibilityElement = true
view.accessibilityLabel = "사용자 정보를 표시하는 뷰입니다."
view.accessibilityTraits = .none
스피치 인식(Speech Recognition)
스피치 인식은 음성을 텍스트로 변환하여 앱에서 사용할 수 있는 기능입니다. 스피치 인식을 지원하기 위해 다음과 같은 사항을 고려해야 합니다.
- 음성 입력을 받아들일 수 있도록 설정하세요.
- 화면에 표시되는 음성 명령을 사용자에게 알려주세요.
- 명확하고 정확한 음성 인식을 위해 음성 학습 모델을 최적화하세요.
let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "ko-KR"))
speechRecognizer?.delegate = self
결론
Swift에서 접근성을 확보하기 위해 다양한 기능과 API를 활용할 수 있습니다. 사용자의 편의성을 고려하여 앱에 접근성을 추가하면 모든 사용자가 쉽게 앱을 이용할 수 있습니다. 추가로 접근성 가이드를 참조하여 보다 자세한 내용을 확인할 수 있습니다.
참고 자료: