アプリのコンポーザブルのユーザー補助機能を強化してみてください。次の手順で、コンポーザブルのユーザー補助機能を改善できます。
- コンポーザブルの説明
- インタラクションを追加する
- 複雑な UI を処理する
コンポーザブルの説明
コンポーザブルを説明するには、Modifier.semantics を使用して、セマンティクス プロパティ(role、label、state、アクションなど)を宣言します。ユーザー補助サービスは、これらのセマンティクス プロパティを読み取り、その情報を使用して UI を操作したり、UI を読み上げたりできます。
Role プロパティは、ユーザー補助サービスがコンポーネントの目的と想定されるインタラクションをアナウンスするために必要なコンテキストを提供するため、特に重要です。たとえば、クリック可能なボタンのように動作するカスタム アイコンがあるとします。ロールを Role.button に設定すると、スクリーン リーダーが静止画像ではなくインタラクティブな要素としてアナウンスするようになります。
詳細については、セマンティクスをご覧ください。
インタラクションを追加する
コンポーザブルにインタラクションを追加するには、clickable 修飾子または toggleable 修飾子を使用します。これらの修飾子には、ユーザー補助サービスが読み取ることができるセマンティック プロパティが組み込まれています。複雑なタッチスクリーン ジェスチャーをより使いやすくするには、CustomAccessibilityAction を使用します。
詳細については、カスタム アクションをご覧ください。
複雑な UI を処理する
Compose はデフォルトで多くのユーザー補助機能をサポートしていますが、より複雑な UI では、よりカスタマイズされた動作が必要になる場合があります。UI 階層を論理的に構造化し、ユーザー補助サービスがトラバースするための論理的な読み取り順序を提供することで、複雑な UI のユーザー補助機能を強化できます。
UI 階層を論理的に構造化する: 親コンポーザブルが複数の子要素で構成されている場合、それらの要素をグループ化する方法を明示的に指定するか、完全にオーバーライドできます。詳細については、統合とクリアをご覧ください。
トラバーサルの順序を制御する: Compose のデフォルトの読み上げ順序が不十分な場合は、スクリーン リーダーが UI 要素をナビゲートする方法を手動で制御できます。詳細については、トラバーサルの順序を変更するをご覧ください。
フォーカスを制御する: キーボードと D-pad のナビゲーションでは、フォーカス移動順序を手動でオーバーライドできます。詳しくは、フォーカスの動作を変更するとフォーカスの移動順序を変更するをご覧ください。
参考情報
UI のユーザー補助機能を強化する方法について詳しくは、以下の参考情報をご覧ください。