Pertanyaan Bagaimana cara menghilangkan peringatan di layout.xml android: "missing contentDescription"


<ImageView style="@style/LoaderPrevNext.Next" />

menggunakan gaya

<style name="LoaderPrevNext">
    <item name="android:layout_width">40dp</item>
    <item name="android:layout_height">80dp</item>
    <item name="android:layout_weight">0</item>
    <item name="android:scaleType">fitXY</item>
</style>

<style name="LoaderPrevNext.Next">
    <item name="android:src">@drawable/next_page</item>
    <item name="android:contentDescription">@string/img_desc_next_page</item>
</style>

mengganggu saya dengan [Accessibility] Missing contentDescription attribute on image PERINGATAN.

Ini menghilang jika saya memindahkan atau menyalin contentDescription dari style ke tag ImageView, tetapi karena src didefinisikan dalam gaya, saya ingin menyatukannya.

Tebak itu hanya bug SDK, tetapi beberapa mungkin mendapat solusi ...

Klarifikasi: The ImageView yang dimaksud memang memiliki deskripsi-konten, yang didefinisikan dalam gaya LoaderPrevNext.Next. Peringatan itu salah. Saya tidak tertarik pada ide tentang cara mengatur deskripsi konten, atau cara meretasnya kosong.


5
2018-02-20 14:59


asal


Jawaban:


Dalam Eclipse Window-> Preferences-> Android-> Lint Erroe Checking-> Sisi Kanan Gulir Bawah Sampai Aksesibilitas-> Isi Deskripsi-> Severity-> Pilih Abaikan-> Terapkan-> ya


6
2018-02-20 15:09



Cara Menekan Aksesibilitas Android Peringatan Konten HilangDeskripsi

Kedua jawaban yang ada untuk pertanyaan ini secara teknis benar, tetapi saya yakin ada cara yang lebih baik. Jawaban pertama menunjukkan mematikan semua contentDescription peringatan. Meskipun ini berhasil, contentDescription ada karena suatu alasan, dan mungkin tidak seharusnya secara global dimatikan untuk semua konten.

Jawaban kedua menunjukkan bagaimana menentukan contentDescription. Meskipun hal ini membuat peringatan pergi, itu tidak sesuai untuk semua konten dan secara teknis tidak menjawab pertanyaan, meskipun itu adalah pekerjaan yang valid.

Dokumentasi Android untuk serat memberikan solusi terbaik, IMO, yang merupakan campuran penyediaan contentDescription untuk beberapa konten, dan menekan peringatan serat untuk konten lain:

Perhatikan bahwa elemen-elemen di layar aplikasi yang murni dekoratif   dan tidak menyediakan konten apa pun atau memungkinkan tindakan pengguna tidak seharusnya   deskripsi konten aksesibilitas. Dalam hal ini, cukup tekan saja   lint peringatan dengan tools:ignore="ContentDescription" atribut.

Oleh karena itu, Terapkan solusi berikut untuk menghapus semua peringatan serat:

  • Menetapkan contentDescription dalam file tata letak XML Anda dengan android:contentDescription="Your description here." untuk sumber daya yang memberikan menarik atau informasi yang bermanfaat bagi pengguna. Dan,
  • Menambahkan tools:ignore="ContentDescription" untuk konten dekoratif murni atau gambar.

5
2018-03-24 19:11



Jika Anda tidak ingin mematikan / mengabaikan peringatan serat, Anda dapat menentukan string kosong dalam string.xml

string.xml:

<string name="empty"></string>

lalu di xml Anda cukup tetapkan nilainya

<ImageView
    android:id="..."
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:contentDescription="@string/empty"/>

1
2018-06-11 09:20



<ImageView

android: id = ...

android: layout_width = ... ...

android: contentDescription = "deskripsi Anda datang di sini. dapatkan dari string xml jika string-nya"

/>


0
2017-11-04 06:56



Mengapa Anda ingin memiliki deskripsi gambar dalam Gaya.

Tujuan gaya adalah memiliki kemampuan untuk mengubah sesuatu di satu tempat yang tercermin di beberapa tempat.

Sama berlaku untuk sumber daya @string. Cukup jangan menempatkan deskripsi gambar dengan gaya. Tinggalkan @string. Sekali diperlukan - ubah string itu sendiri.


0
2017-10-11 15:18



Untuk nonaktifkan hilang deskripsi konten peringatan tambahkan ini ke Anda build.gradle

android {
    lintOptions {
        disable 'ContentDescription'
    }
}

0
2018-04-03 20:53