2020. 12. 27. 15:43ㆍiOS/스터디
Link
Making Apps More Accessible With Custom Actions - WWDC 2019 - Videos - Apple Developer
사용자 지정 작업은 두 가지에 매우 적합하다.
- 앱의 잡동사니를 줄이는 것 → 보조 기술을 사용하는 사용자에게 특히 중요
- 앱에서 보다 복잡한 상호 작용의 편의성과 속도를 개선하는 것
잡동사니를 줄여보자
- Voice Over
Voice Over는 시각장애인과 저시력을 가진 사람들을 위해 많은 제품에 내장된 스크린 리더이다.(스와이프를 통해 이동 가능하다.)
위의 땅콩버터 리스트 앱에서 GIFF의 등급을 올리려면 어떻게 해야할까?
찾고있는 병을 찾을 때 까지 아래의 리스트를 눈으로 보고 찾을 것이다.
왜냐, UI를 논리적으로 묶어 직관력을 제공해주기 때문이다.
만약 셀이 위 그림처럼 생겼다면 어떻게 될까? 우리는 GIFF라는 땅콩 버터를 찾기위해 더 많은 스크롤을 할 것이고 어떤 버튼이 어떤 셀과 일치하는지 찾기가 힘들 것이다.
Voice Over 사용자들이 그렇다.
위의 스크린 샷을 voice over 사용자가 들었다면 이렇게 될 것이다.
패티의 크림, 노스터는 5점 만점에 1점이었다.
즐겨찾기 단추에 추가합니다.
등급 내림 단추.
등급 상승 버튼입니다.
만약 Chunky Monkey를 찾기 위해서라면 18번의 버튼 음성을 들을 것이고, 사용자는 마지막으로 들은 땅콩버터의 이름을 기억하고 있어야한다.
위 스크린 샷은 이전 것과는 다르게 더이상 voice overㅇㅔ 액세스 할 수 없도록 버튼을 바꿨다.
셀에 사용자 지정 작업을 추가하여 위 아래로 움직여 셀을 선택하여 두번눌러 작업을 수행할 수 있도록 했다.
패티의 크림, 노스터는 5점 만점에 1점이었다.
당도가 없는 통통한 애나의 등급은 5점 만점에 4점이었다.
사용 가능한 액션은 즐겨찾기를 전환하고 등급을 높입니다.
이렇게 하면 목록을 시각적으로 스캔하는 경험과 훨씬 더 밀접하게 일치한다.
상호작용을 원하는 컨텐츠를 찾은 후 상호작용을 통해 선택하기 때문에 더이상 컨트롤이 무엇을 하는지 모호하지 않다.
사용자 지정 동작은 혼란을 줄이고, 반복적인 조작을 제거하며, 앱을 사용하는 동안 인지 부하를 줄이는데 도움이 된다.
앱에서 보다 복잡한 상호 작용의 편리성과 속도를 개선하는 방법(스위치 제어)
예를 들어, 한 사람이 휠체어에 장착된 스위치(주황, 흰색 두 개의 버튼)를 가지고있다.
두 번째 땅콩버터에 대한 정보를 친구에게 보내보자.
(버튼 클릭하는 것도 있는데 그것까지 다 넣자니 너무 많아서 생략 ㅠ)
어쨌다든 디스플레이는 손대지 않았다.. 18번의 tap이 있었지만..
만약 사용자 지정 작업을 앱에 다시 추가했을 경우
오! 아까와 같이 action sheet을 탐색할 필요도 없다..6번의 tap
적용 방법
override var accessibilityCustomActions: [UIAccessibilityCustomAction]? {
get {
let myAction = UIAccessibilityCustomAction(name: "Custom Action", target: self, selector: #selector(handleAction(_:))
return [myAction]
}
set { }
}
@objc func handleAction(_ action: UIAccessibilityCustomAction) -> Bool {
var success = false
// action logic
return success
}
/// OR
override var accessibilityCustomActions: [UIAccessibilityCustomAction]? {
get {
let myAction = UIAccessibilityCustomAction(name: "Custom Action") { (customAction: UIAccessibilityCustomAction) -> Bool in
var success = false
// action logic
return success
}
actions.append(myAction)
}
set { }
}
위의 코드를 사용하면 된다!
보기에서 내개 필요한 옵션 사용자 지정 작업 속성을 재정의하고 필요 옵션인 사용자 지정 작업 개체를 반환하면 된다.
이 함수는 작업 성공 여부에 대한 Bool값을 반환하고 UI 접근성 사용자 지정 작업 개체를 매개변수로 받아야한다.
만약 셀 내의 버튼의 기능을 교체하려는 경우 isAccessibilityElement = false 를 설정하면 보조 기술로 탐색되지 않는다.
스터디 링크 ->
https://www.notion.so/Apple-Video-Study-b53663be1e4e4bb3a0c341cb5abf10b4
'iOS > 스터디' 카테고리의 다른 글
[WWDC Video Study] What’s new with in-app purchase - Refund Notification (0) | 2021.02.04 |
---|---|
Mobile Deep Link - 모바일 딥링크 (0) | 2021.01.29 |
[Apple Video Study] Build localization-friendly layouts using Xcode (0) | 2021.01.20 |
[WWDC Video Study] Widgets Code-along (0) | 2021.01.03 |
[WWDC Video Study] Make your app visually accessible (0) | 2020.12.28 |