Saya mendapat peringatan tentang [Aksesibilitas] Atribut contentDescription yang hilang pada gambar di gerhana. Peringatan ini ditampilkan di baris 5 (nyatakan ImageView
) dalam kode XML di bawah ini.
Ini tidak membuat kesalahan ketika membangun dan menjalankan aplikasi saya. Tapi saya benar-benar ingin tahu mengapa saya mendapat peringatan ini.
Ini adalah file XML saya:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/contact_entry_image"
android:src="@drawable/ic_launcher"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/contact_entry_text"
android:text=""
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="30sp"
/>
</LinearLayout>
Tolong bantu saya mengenai hal ini dan terima kasih atas bacaan Anda.
android:contentDescription
atribut iniimageview
, hanya saran, saya pikir Anda dapat mengabaikan ini, itu tidak membuat kesalahan kompilasi, juga Anda dapat memeriksahttp://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
Jawaban:
Ikuti tautan ini untuk solusi: Android Lint contentDescription warning
Tautan ini untuk penjelasan: Aksesibilitas, Dampak, dan Sumber Daya Pengembangan
Panduan ini untuk membuat aplikasi Anda dapat diakses: Membuat Aplikasi Lebih Dapat Diakses
sumber
Tambahkan
android:contentDescription="@string/description"
(statis atau dinamis) ke ImageView Anda. Tolong jangan abaikan atau filter pesan, karena sangat membantu bagi orang-orang yang menggunakan metode input alternatif karena cacatnya (Seperti TalkBack, Tecla Access Shield, dll.).sumber
Diperbarui:
Seperti yang ditunjukkan dalam komentar, pengaturan deskripsi ke nol menunjukkan bahwa gambar tersebut murni dekoratif dan dipahami oleh pembaca layar seperti TalkBack.
Jawaban lama, saya tidak lagi mendukung jawaban ini:
Untuk semua orang yang mencari cara menghindari peringatan:
Saya tidak berpikir
android:contentDescription="@null"
itu solusi terbaik.Saya menggunakan
tools:ignore="ContentDescription"
itu yang dimaksudkan.Pastikan Anda memasukkan
xmlns:tools="http://schemas.android.com/tools"
dalam tata letak root Anda.sumber
@null
sebagai contentDescription adalah cara yang secara eksplisit mengatakan bahwa gambar ini murni dekoratif. Mengabaikan peringatan bukanlah solusi yang tepat.@null
memberi tahu TalkBack bahwa gambar tersebut dekoratif. Anda tidak boleh mengabaikan peringatan itu karena memberi@null
informasi kepada TalkBack daripada membuatnya berpikir itu hilang dan harus ada di sana.Menambahkan
ke gambar Anda. Pastikan Anda memiliki
xmlns:tools="http://schemas.android.com/tools" .
tata letak root Anda.sumber
Peringatan itu memang menjengkelkan dan dalam banyak (kebanyakan!) Kasus tidak ada contentDescription diperlukan untuk berbagai ImageViews dekoratif. Cara paling radikal untuk menyelesaikan masalah adalah dengan memberitahu Lint untuk mengabaikan pemeriksaan ini. Di Eclipse, buka "Android / Lint Error Checking" di Preferences, cari "contentDescription" (ada di grup "Aksesibilitas") dan ubah "Severity:" menjadi Abaikan.
sumber
contentDescription
permainan yang membutuhkan penglihatan agar bisa bermain?Jika Anda tidak peduli sama sekali, lakukan ini:
Meskipun saya akan menyarankan solusi yang diterima, ini adalah hack: D
sumber
Ke depan, untuk elemen grafis yang murni dekoratif , solusi terbaik adalah dengan menggunakan:
Ini masuk akal jika versi min SDK Anda setidaknya 16, karena perangkat yang menjalankan versi yang lebih rendah akan mengabaikan atribut ini.
Jika Anda terjebak mendukung versi yang lebih lama, Anda harus menggunakan (seperti yang sudah ditunjukkan orang lain):
Sumber: https://developer.android.com/guide/topics/ui/accessibility/apps#label-elements
sumber
Peringatan ini mencoba meningkatkan aksesibilitas aplikasi Anda.
Untuk menonaktifkan peringatan deskripsi konten yang hilang di seluruh proyek, Anda dapat menambahkan ini ke build.gradle modul aplikasi Anda
sumber
Ini memberi Anda peringatan karena deskripsi gambar tidak ditentukan.
Kami dapat menyelesaikan peringatan ini dengan menambahkan kode di bawah ini di Strings.xml dan activity_main.xml
Tambahkan baris ini di bawah ini di Strings.xml
Tambahkan juga baris ini di activity_main.xml
Strings.xml
sumber