要約
import Accessibility
により、accessibilityLabelの他にもアクセシビリティのコンテンツが含められるようになりました。
従来のアクセシビリティ
例えば、小説の表紙の画像があるとします。
視認することができる状態であれば、画像を見てその小説がなんのタイトルであるかわかると思いますが、視認できない状態の場合もあります。そういった時、accessibilityLabel
にタイトルを割り当てて、読み上げに使ったりすることを可能にします。
しかし、小説にはタイトル以外にも、著者を重要視したり、あるいは出版社だったりを知りたい場合もあるかと思います。そういった時、accessibilityLabelに全ての要素を含むと、本来タイトルだけ知れればいい人にとってはいささか読み上げが長いと感じる可能性もあります。
カスタムコンテンツの追加
iOS 14から加わったAccessibility
をimportすることにより、カスタムコンテンツの追加が可能になりました。
カスタムコンテンツを含めたいクラスを、AXCustomContentProvider
に適合させ、accessibilityCustomContent
に AXCustomContent
を含めます。
AXCustomContentにはlabel
とvalue
のセットを含めることができます。
コード
import UIKit
import Accessibility
class NovelImageView: UIImageView,AXCustomContentProvider {
private var _accessibilityCustomContent: [AXCustomContent] = [
AXCustomContent(label: "著者", value: "日向強"),
AXCustomContent(label: "出版", value: "コーヒーパブリッシング"),
]
var accessibilityCustomContent: [AXCustomContent]! {
get {
_accessibilityCustomContent
}
set {
_accessibilityCustomContent = newValue
}
}
}
カスタムコンテンツの読み上げ
iPhoneのローターより、その他のコンテンツ
を選択し、上下にスワイプすることによって、accessibilityCustomContentに設定したAXCustomContentを読み上げることができます。
まとめ
つかおう!アクセシビリティ!