Accessibility in SwiftUIまとめ

Accessibility in SwiftUIをまとめます。
アクセシビリティ
誰でもアクセスアプリが使えるようにするためにアクセシビリティがあります。


アクセシビリティの計測基準
- Understandable:Labels
- 理解しやすさ:ラベル
- Interactable: Actions
- インタラクティブ性:アクション
- Navigable: Ordering and Grouping
- ナビゲーション:順序やグループ化がされているか?
自動で行われるSwiftUIのアクセシビリティ

SwiftUIのビューを作ると自動でアクセシビリティ要素を各ビューごとに作ってくれる。
アクセシビリティへの値の変更も自動



Viewの値が変更したら自動でアクセシビリティ機能へ通知してくれる。
画像とボイスオーバー

画像が修飾的なもので読み上げが必要ないなら
Image(decorative: "xxxx")
とすると画像のラベルの読み上げはされなくなる。
SwiftUIのアクセシビリティAPI

.accessibility
メソッドでビューに対してカスタムにアクセシビリティをつけることもできる。accessibilityAction
でアクセシビリティのアクションもつけられる。
まとめ
SwiftUIなら自動でアクセシビリティ要素がつくられ、値の変更も手動で作業することなくアクセシビリティ機能に通知される。
さらにカスタマイズしたい場合はアクセシビリティAPIを使えばよりわかりやすいアクセシビリティを作ることができる。
宣伝
インプレスR&D社より、「1人でアプリを作る人を支えるSwiftUI開発レシピ」発売中です。
「SwiftUIでアプリを作る!」をコンセプトにSwiftUI自体の解説とそれを組み合わせた豊富なサンプルアプリでどんな風にアプリ実装すればいいかが理解できる本となっています。
iOS 14対応、Widgetの作成も一章まるまるハンズオンで解説しています。
SwiftUIを学びたい方、ぜひこちらのリンクをチェックしてください!