アプリのユーザー補助機能を強化する

ユーザー補助を必要とするユーザーを含めて、誰にとっても使いやすい Android アプリを目指してください。

視覚、色覚、または聴覚に障がいのある方、細かい作業に支障のある方、認知障がいのある方など、障がいのある多くの方々が Android デバイスを使用しています。ユーザー補助を念頭に置いてアプリを開発すると、補助を必要とするユーザーのエクスペリエンスを高めることができます。

このページでは、誰もが簡単にアプリを使用できるように、ユーザー補助の重要な要素を実装するためのガイドラインを示します。アプリのユーザー補助機能を強化する方法について詳しくは、アプリのユーザー補助機能の改善に関する原則をご覧ください。

テキストの視認性を高める

アプリ内の各テキストについて、色のコントラスト(テキストと背景の色の明るさの差)は、特定の基準値を超えるようにすることをおすすめします。厳密な基準値は、テキストのフォントサイズとテキストの表示が太字かどうかによって異なります。

  • テキストが 18 pt より小さい場合、またはテキストが太字で 14 pt より小さい場合は、色のコントラスト比を 4.5:1 以上に設定します。
  • それ以外のテキストの場合は、色のコントラスト比を 3:1 以上に設定します。

次の図に、テキストと背景の色のコントラストに関する例を 2 つ示します。

テキストを表示した画像
図 1. 推奨値より低い場合(左)と高い場合(右)の色のコントラスト。

アプリ内でのテキストと背景の色のコントラストを確認するには、オンラインの色のコントラスト チェッカーを使用するか、ユーザー補助検証ツールを使用してください。

大きい、シンプルなコントロールを使用する

アプリの UI を使いやすくするには、見やすくてタップしやすいコントロールを設定します。操作対象の各 UI 要素には、少なくとも 48 dp x 48 dp のフォーカス可能領域(タップ ターゲット サイズ)を設定することをおすすめします。この領域が大きいほど使いやすくなります。

タップ ターゲット サイズが十分大きい UI 要素にするには、以下の条件を両方とも満たす必要があります。

パディング値を指定すると、オブジェクトの可視サイズが 48 dp x 48 dp より小さくても、推奨されるタップ ターゲット サイズにすることができます。

次のコード スニペットでは、推奨されるタップ ターゲット サイズの要素を示します。

<ImageButton ...
    android:paddingLeft="4dp"
    android:minWidth="40dp"
    android:paddingRight="4dp"

    android:paddingTop="8dp"
    android:minHeight="32dp"
    android:paddingBottom="8dp" />

各 UI 要素について説明する

アプリの UI 要素ごとに、要素の目的についての説明を記述します。通常は、次のコード スニペットに示すように、この説明を要素の contentDescription 属性に含めます。

<!-- Use string resources for easier localization. -->
<!-- The en-US value for the following string is "Inspect". -->
<ImageView
    ...
    android:contentDescription="@string/inspect" />

アプリの UI 要素に説明を追加する際は、以下のおすすめの方法にご留意ください。

  • UI 要素のタイプを内容の説明に含めないでください。スクリーン リーダーは、要素のタイプと説明の両方を自動的に読み上げます。たとえば、アプリ内であるボタンを選択すると「送信」アクションが行われる場合、ボタンの説明は "Submit button"(送信ボタン)ではなく、"Submit"(送信)とします。

  • 各説明は固有のものにする必要があります。それにより、スクリーン リーダーのユーザーは、要素の説明が繰り返されたときに、フォーカスされている要素が、前にもフォーカスされた要素だと正しく認識できます。特に、RecyclerView のようなビューグループ内の各項目には、それぞれ異なる説明が必要です。たとえば、地域リスト内の都市名のように、各項目に固有の内容をそれぞれの説明に反映させる必要があります。

  • アプリの minSdkVersion16 以上の場合は、装飾的効果のためにのみ使用されるグラフィック要素に対して android:importantForAccessibility 属性を "no" に設定できます。

参考情報

アプリのユーザー補助機能を強化する方法について詳しくは、以下の参考情報をご覧ください。

Codelab

ブログ投稿