📲

Android16で追加されるa11y機能の詳細とまとめ

2025/02/09に公開

はじめに

Android16で4つほどa11yに関するアップデートがありました。
アプリエンジニア観点からすると2つの関数の追加が注目だったため、それを主にまとめました。

setSupplementalDescription

public void setSupplementalDescription ([CharSequence](https://developer.android.com/reference/java/lang/CharSequence) supplementalDescription)

Android16以前のViewをViewGroupに指定してcontentDescriptionを指定した場合、子のunfocusableなviewのdescriptionをスキップするようになっていました。

この場合ViewGroupのcontentDecriptionにviewGroup以外の捕捉的な説明を加える必要があり、本質的な説明と異なる文言を加える必要がありました

公式では以下のような例が書かれています。

たとえば、現在の選択内容(「Roboto」など)をユーザー補助用に保持しながら、プルダウン(「フォント ファミリー」など)にラベルを付ける場合は、問題になる可能性があります。

この際に、捕捉的な説明を付け加えることができる関数が新設されたようです。

以下の公式説明文を読むと、contentDecriptionに記述した場合支援技術などによっては書き換えられる可能性があると書いています。

setContentDescription(java.lang.CharSequence) in that this description is purely supplemental while a content description may be used to replace a description for a node or its subtree that an assistive technology would otherwise compute based on other properties of the node and its descendants.

例えばあるButtonのViewに対して「データを保存します」とcontentDecriptionを設定した場合、「ボタン、データを保存します」のように、Viewの名前を自動的に読み上げます。このほかにも支援技術によっては意図しない読み上げの書き換えが発生する可能性がありますが、今回追加されたsetSupplementalDescriptionではそのようなことはないとのことです。

setFieldRequired

public void setFieldRequired (boolean required)

AccessibilityNodeInfoに新しい関数が新設されたようです。

TextFieldが必須であることを示す関数のようです。

これまではTextFieldの側に「必須」であることを示すアイコンやラベルを用意しておき、それをViewGroupとして読み上げるなどContentDescription上の工夫が必要だったものが、自動で読み上げ内容を書き換え必須であることを伝えてくれるようです。

これを追加したのち、入力されていない場合はエラーラベルを表示してあげることでよりUXを向上させられそうですね。エラーラベルにはsetError(CharSequence error)を使っても良さそうです。

announceForAccessibility を使用することでTextFieldの内容の送信ボタンや次の画面に遷移するボタンのタイミングでユーザーに通知をすることができます。

アクセシビリティサービスに情報が渡される前に、AccessibilityNodeInfo クラスのインスタンスは不変(immutable)化されるため、AccessibilityServiceから呼び出せないようなので、注意が必要そうです。


また、LEA補聴器に対して2つのアップデートも入っています。アプリ開発者としては詳細までは掘り下げませんが、「使用できない」状態になりにくくなるためいいアップデートですね。

LEA 補聴器での音声通話のマイク入力としてスマートフォンを使用する

Android 16 では、LE Audio 補聴器のユーザーが、音声通話で補聴器の組み込みマイクとスマートフォンのマイクを切り替えられる機能が追加されています。これは、騒がしい環境や、補聴器のマイクがうまく機能しない可能性があるその他の状況で役立ちます。

LEA 補聴器のアンビエント音量調節

Android 16 では、LE Audio 補聴器のユーザーが、補聴器のマイクによって拾われる周囲の音の音量を調整できる機能が追加されました。これは、背景のノイズがうるさすぎる場合や静かすぎる場合に役立ちます。

参考

https://developer.android.com/about/versions/16/features?hl=ja

https://developer.android.com/about/versions/16/summary?hl=ja

https://android-developers.googleblog.com/2025/01/first-beta-android16.html

Discussion