Ich erhalte die Warnung "[Eingabehilfen] Fehlendes contentDescription-Attribut für das Bild" für die Bildansicht. während der Verwendung von Android Flusen
Was bedeutet das?
android
android-layout
android-lint
Santhosh Shettigar
quelle
quelle
<string name="none"></string>
und dann habe ichandroid:contentDescription="@string/none"
Antworten:
Diese Warnung wurde
android:contentDescription
behoben, indem ein Attribut für meine ImageView festgelegt wurdeDie Unterstützung von Android Lint in ADT 16 gibt diese Warnung aus, um sicherzustellen, dass Bild-Widgets eine Inhaltsbeschreibung 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 zum Bereitstellen solcher verwendet werden.
Nicht-Text-Widgets wie ImageViews und ImageButtons sollten das contentDescription-Attribut verwenden, um eine Textbeschreibung des Widgets anzugeben, damit Bildschirmleseprogramme und andere Eingabehilfen die Benutzeroberfläche angemessen beschreiben können.
quelle
Wenn Sie die Flusenwarnungen deaktivieren, können Sie später leicht Probleme bekommen. Es ist besser, nur contentDescription für alle Ihre ImageViews anzugeben. Wenn Sie keine Beschreibung benötigen, verwenden Sie einfach:
quelle
Eine andere Möglichkeit besteht darin, die Warnung einzeln zu unterdrücken:
Beispiel:
quelle
Ich empfehle Ihnen, die contentDescription hinzuzufügen.
aber lasst uns realistisch sein. Die meisten Menschen halten sich nicht an die Barrierefreiheit. Dennoch mit wenig Aufwand können Sie etwas zu helfen Menschen mit Behinderung umzusetzen.
.
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.
Verwenden Sie contentDescriptionContent für Bilder mit Informationen (Grafik, TextAsImage, ...).
Verwenden Sie contentDescriptionUserContent für alle vom Benutzer bereitgestellten Inhalte.
Verwenden Sie für den Rest contentDescriptionUseless.
quelle
Da es sich nur um eine Warnung handelt, können Sie diese unterdrücken. Gehen Sie zum grafischen Layout Ihres XML und gehen Sie folgendermaßen vor:
Klicken Sie auf die rote Schaltfläche in der rechten oberen Ecke
Wählen Sie "Problemtyp deaktivieren" (zum Beispiel)
quelle
Wenn Sie diese Warnung auf elegante Weise unterdrücken möchten (da Sie sicher sind, dass für diese bestimmte ImageView keine Barrierefreiheit erforderlich ist), können Sie ein spezielles Attribut verwenden:
quelle
Gehen Sie zur
Gradle
Datei (Modul-App) und fügen Sie den folgenden Codeblock hinzuKeine Warnung mehr! fröhliche Codierung
quelle
Nicht-Text-Widgets benötigen in gewisser Weise eine Inhaltsbeschreibung, um das Bild in Textform zu beschreiben, damit Bildschirmleser die Benutzeroberfläche beschreiben können. Sie können die Eigenschaft ignorieren oder die Eigenschaft definieren
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
android:contentDescription="your description"
quelle
ContentDescription
benötigt für die Android-Erreichbarkeit. Besonders für die Bildschirmlesefunktion. Wenn Sie die Android-Barrierefreiheit nicht unterstützen, können Sie sie mit Setup Lint ignorieren .Also einfach erschaffen
lint.xml
.Und legen Sie es in den
app
Ordner.quelle
Setzen Sie für grafische Elemente, die nur dekorativ sind, die entsprechenden XML-Attribute für android: contentDescription auf "@null".
Wenn Ihre App nur Geräte unterstützt, auf denen Android 4.1 (API-Level 16) oder höher ausgeführt wird, können Sie stattdessen die XML-Attribute android: importantForAccessibility dieser Elemente auf "no" setzen.
quelle
Da ich die ImageView brauche, um ein Symbol nur aus ästhetischen Gründen hinzuzufügen, habe ich sie
tools:ignore="ContentDescription"
in jeder ImageView hinzugefügt, die ich in meiner XML-Datei hatte.Ich erhalte keine Fehlermeldungen mehr
quelle