contentDescriptionとは?
状態:解決済
閲覧数:5,271
投稿日:2018-05-08
更新日:2018-05-08
アクセシビリティに関する属性
Android4.0で追加された
・「Explore-by-touch mode」が有効な場合、ユーザがタッチした要素のcontentDescriptionにセットされた説明文が読み上げられる
警告表示
Image Without `contentDescription`
Empty contentDescription attribute on image Non-textual widgets like ImageViews and ImageButtons should use the contentDescription attribute to specify a textual description of the widget such that screen readers and other accessibility tools can adequately describe the user interface. Note that elements in application screens that are purely decorative and do not provide any content or enable a user action should not have accessibility content descriptions. In this case, just suppress the lint warning with a tools:ignore="ContentDescription" attribute. Note that for text fields, you should not set both the hint and the contentDescription attributes since the hint will never be shown. Just set the hint. See
警告内容
画像に対するテキスト情報がない
ポイント
・警告なので、これが原因でbuildに失敗することはない
※この警告が表示された状態でもbuild自体は成功する
実際に遭遇した例
警告表示
Image Without `contentDescription`
修正前
▼layout/activity_main.xml
<ImageView
android:id="@+id/imageView3"
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="matrix"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/lion" />
修正後(ハードコーディング)
android:contentDescription="ライオン"を追加
▼layout/activity_main.xm
<ImageView
android:id="@+id/imageView3"
android:layout_width="200dp"
android:layout_height="200dp"
android:contentDescription="ライオン"
android:scaleType="matrix"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/lion" />
修正後(推奨)
android:contentDescription="@string/img_txt_lion"を追加
▼layout/activity_main.xm
<ImageView
android:id="@+id/imageView3"
android:layout_width="200dp"
android:layout_height="200dp"
android:contentDescription="ライオン"
android:scaleType="matrix"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:srcCompat="@drawable/lion" />
▼values/strings.xml
<resources>
<string name="app_name">First2 20180504</string>
<string name="first">はじめて</string>
<string name="tap_here">ここをタップ!</string>
<string name="img_txt_lion">ライオン</string>
</resources>