Accessibility Inspector는 앱의 접근성 문제를 쉽게 찾고 진단하고 수정할 수 있는 방법을 제공한다.
Xcode Menu -> Open Developer Tool -> Accessibility Inspector -> Target으로 iOS 기기 선택
Audit 버튼을 누르면 해당 뷰에 대한 잠재적인 접근성 문제 목록이 표시됨
아래 도움말 버튼을 클릭하면 문제에 대해 수행할 작업을 제안해 줌
코드로 버튼에 접근성 레이블(accessibilityLable)을 추가하면 됨
cameraButton.accessibilityLable = "Take a photo"
예를 들어 CATextLayer를 사용해 브랜드 이름을 그리는 경우 자체 액세스 가능성을 처리해야 함
-> isAccessibilityElement
를 true로 설정해서 접근성 요소임을 알림
-> 의미있는 Label 지정
let textLayer = CATextLayer()
brandTitleBackgroundView.isAccessibilityElement = true
if let brandName = textLayer.string as? String {
b\brandTitleBackgroundView.accessibilityLable = brandName
}
텍스트의 명암비는 사용자가 선택하기 용이하도록 3.0 이상을 권장
-> Color Constract Calculator를 이용해 텍스트와 배경이 권장 명암비를 충족하는지 확인
Menu -> Windows -> Show Color Constract Calculator
저시력자를 위한 Mac 기능으로 마우스 커서 아래에 있는 항목을 크고 선명하게 보여줌
레이블을 음성으로 읽어줌
"모든 사람이 귀하의 앱에 액세스할 수 있는지 확인하는 데 몇 분을 할애하시기 바랍니다."
Accessibility는 Apple의 하드웨어 및 소프트웨어 설계에 내장되어 있다.
"접근성이 인권이며 우리의 핵심 가치 중 하나라고 믿습니다."
VoiceOver, Speak Screen, and Voice Control과 같은 기능에서 앱에 접근할 수 있는 중요한 측면은 버튼, 텍스트 필드, 컨트롤 및 기타 요소에 Label을 지정하는 것!
Label: 접근성 요소를 간결하게 식별하는 지역화된 문자열
-> 접근성 요소를 식별
-> 사람이 읽을 수 있고 이해할 수 있는 Label로 앱의 요소에 대한 의미를 전달
예시) +
버튼
여러 의미로 해석될 수 있으므로 문맥에 따라 의미를 명확하게 해야 함
항상 앱에 Label을 추가하는 것을 잊지말기!
VoiceOver가 바보같은 내용을 읽지 않도록...!
VoiceOver은 앱의 요소 유형을 알고 있어 알아서 추가해서 읽어줌
ex) "Add Button" -> "Add"
ex) 버튼의 이미지가 변경될 때
ex) "땅콩 버터 추가하기", "쿠키 추가하기"
ex) "이전 노래", "노래 재생", "다음 노래" -> "이전", "재생", "다음"
ex) "로딩 중..."
ex) "아이템을 폴더에서 휴지통으로 옮겨 삭제" -> "삭제"
Writing Great Accessibility Labels (WWDC 2019)
Accessibility Inspector (WWDC 2019)