Ich bekomme eine Warnung als “[Accessibility] Fehlendes contentDescription-Attribut auf Bild” für Bildansicht. bei Verwendung von Android Lint
Was bedeutet das?
MGK
Ich bekomme eine Warnung als “[Accessibility] Fehlendes contentDescription-Attribut auf Bild” für Bildansicht. bei Verwendung von Android Lint
Was bedeutet das?
MGK
Diese Warnung wurde durch Setzen des Attributs behoben android:contentDescription
für meine ImageView
android:contentDescription="@string/desc"
Die Android Lint-Unterstützung in ADT 16 gibt diese Warnung aus, um sicherzustellen, dass Bild-Widgets eine contentDescription bereitstellen.
Dies definiert Text, der den Inhalt der Ansicht kurz beschreibt. Diese Eigenschaft wird hauptsächlich für die Barrierefreiheit verwendet. Da einige Ansichten keine Textdarstellung haben, kann dieses Attribut verwendet werden, um eine solche bereitzustellen.
Nicht-Text-Widgets wie ImageViews und ImageButtons sollten das contentDescription-Attribut verwenden, um eine Textbeschreibung des Widgets anzugeben, sodass Bildschirmleseprogramme und andere Barrierefreiheitstools die Benutzeroberfläche angemessen beschreiben können.
Sie können mehr darüber lesen und es selbst testen, indem Sie zu gehen: android-developers.blogspot.com/2012/04/… und developer.android.com/guide/topics/ui/accessibility/…
– Android-Entwickler
15. Mai 2012 um 14:31 Uhr
Das Deaktivieren von Lint-Warnungen wird Sie später leicht in Schwierigkeiten bringen. Sie sind besser dran, wenn Sie einfach contentDescription für alle Ihre ImageViews angeben. Wenn Sie keine Beschreibung benötigen, verwenden Sie einfach:
android:contentDescription="@null"
Gunnar Bernstein
Eine weitere Möglichkeit besteht darin, die Warnung individuell zu unterdrücken:
xmlns:tools="http://schemas.android.com/tools" (usually inserted automatically)
tools:ignore="contentDescription"
Beispiel:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="contentDescription" >
<ImageView
android:layout_width="50dp"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:padding="5dp"
android:src="https://stackoverflow.com/questions/8500544/@drawable/icon" />
Falsch – das Hinzufügen von tools:ignore=”contentDescription” zu RelativeLayout führte zu einem Kompilierungsfehler “Attribute is missing the Android namespace prefix”
– G. Kh.
18. November 2013 um 7:48 Uhr
Dies ist ein Eclipse-Problem. Bereinigen Sie einfach Ihr Projekt. Und stellen Sie sicher: xmlns:tools=”schemas.android.com/tools“ ist auch dabei!
– Gunnar Bernstein
18. November 2013 um 15:09 Uhr
Christus
Ich empfehle Ihnen, die contentDescription hinzuzufügen.
android:contentDescription="@string/contentDescriptionXxxx"
aber seien wir realistisch. Die meisten Leute pflegen nicht wörtlich für die Zugänglichkeit. Still, man kann mit wenig aufwand etwas umsetzen, was menschen mit behinderung hilft.
<string name="contentDescriptionUseless">deco</string>
<string name="contentDescriptionAction">button de action</string>
<string name="contentDescriptionContent">image with data</string>
<string name="contentDescriptionUserContent">image from an other user</string>
.
Das Wichtigste, was der blinde Benutzer wissen muss, ist “Wo ist die Schaltfläche, auf die ich klicken muss, um fortzufahren?”
Verwenden Sie contentDescriptionAction für alles, was anklickbar ist.
use contentDescriptionContent für Bild mit Informationen (graph, textAsImage, …)
Verwenden Sie contentDescriptionUserContent für alle vom Benutzer bereitgestellten Inhalte.
Verwenden Sie contentDescriptionUseless für den Rest.
Da es sich nur um eine Warnung handelt, können Sie diese unterdrücken. Gehen Sie zum grafischen Layout Ihres XML und tun Sie dies:
Klicken Sie auf die rote Schaltfläche in der rechten oberen Ecke
Wählen Sie „Problemtyp deaktivieren“ (z. B.)
Richtig, du kann Unterdrücken Sie es, aber Sie sollten wahrscheinlich den Rat der ausgewählten Antwort befolgen, um der Benutzer willen, die sich auf die von Android bereitgestellten Eingabehilfen verlassen.
– Kyle Falconer
25. März 2013 um 20:59 Uhr
Das ist es!!! das habe ich gesucht. Diese Antwort und die Antwort von @Gunnar Bernstein haben mich erwischt.
– Eisenblüte
23. April 2015 um 13:08 Uhr
GianhTran
Gehe zu Gradle
Datei (Modul-App), fügen Sie den Codeblock unten hinzu
android {
...
lintOptions {
disable 'ContentDescription'
}
...
}
Keine Warnung mehr! Viel Spaß beim Codieren
Richtig, du kann Unterdrücken Sie es, aber Sie sollten wahrscheinlich den Rat der ausgewählten Antwort befolgen, um der Benutzer willen, die sich auf die von Android bereitgestellten Eingabehilfen verlassen.
– Kyle Falconer
25. März 2013 um 20:59 Uhr
Das ist es!!! das habe ich gesucht. Diese Antwort und die Antwort von @Gunnar Bernstein haben mich erwischt.
– Eisenblüte
23. April 2015 um 13:08 Uhr
Alexander Bernat
Wenn Sie diese Warnung elegant unterdrücken möchten (weil Sie sicher sind, dass die Barrierefreiheit für diese bestimmte ImageView nicht erforderlich ist), können Sie das spezielle Attribut verwenden:
android:importantForAccessibility="no"
das ist so eine ärgerliche Warnung – besonders für Bilder, die nur dem Flair dienen
– Irgendwer irgendwo
24. Oktober 2012 um 22:48 Uhr
Ich habe dies in der strings.xml definiert:
<string name="none"></string>
und dann habe ich verwendetandroid:contentDescription="@string/none"
– Irgendwer irgendwo
24. Oktober 2012 um 22:54 Uhr