Ich erhalte eine Warnung zu [Barrierefreiheit] Fehlendes contentDescription-Attribut für ein Bild in Eclipse. Diese Warnung wird in Zeile 5 (deklarieren ImageView
) im folgenden XML-Code angezeigt.
Dies macht keinen Fehler beim Erstellen und Ausführen meiner Anwendung. Aber ich möchte wirklich wissen, warum ich diese Warnung bekomme.
Dies ist meine XML-Datei:
<?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>
Bitte helfen Sie mir dabei und bedanken Sie sich für Ihre Lektüre.
android:contentDescription
dieses Attribut hinzuimageview
, nur ein Vorschlag. Ich denke, Sie können dies ignorieren. Es machthttp://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
Antworten:
Folgen Sie diesem Link für die Lösung: Android Lint contentDescription Warnung
Dieser Link zur Erklärung: Barrierefreiheit, Auswirkungen und Entwicklungsressourcen
Dieses Handbuch dient dazu, Ihre App zugänglich zu machen: Apps zugänglicher machen
quelle
Fügen Sie
android:contentDescription="@string/description"
Ihrer ImageView (statisch oder dynamisch) hinzu. Bitte ignorieren oder filtern Sie die Nachricht nicht, da sie für Personen hilfreich ist, die aufgrund ihrer Behinderung alternative Eingabemethoden verwenden (wie TalkBack, Tecla Access Shield usw. usw.).quelle
Aktualisiert:
Wie in den Kommentaren erwähnt, bedeutet das Setzen der Beschreibung auf null, dass das Bild rein dekorativ ist und von Bildschirmlesern wie TalkBack so verstanden wird.
Alte Antwort, ich unterstütze diese Antwort nicht mehr:
Für alle, die die Warnung vermeiden möchten:
Ich denke nicht, dass dies
android:contentDescription="@null"
die beste Lösung ist.Ich benutze das
tools:ignore="ContentDescription"
, was sein soll.Stellen Sie sicher, dass Sie
xmlns:tools="http://schemas.android.com/tools"
in Ihr Root-Layout aufnehmen.quelle
@null
als Inhaltsbeschreibung ist eine Möglichkeit, explizit zu sagen, dass dieses Bild rein dekorativ ist. Das einfache Ignorieren der Warnung ist nicht die richtige Lösung.@null
teilt TalkBack mit, dass das Bild dekorativ ist. Sie sollten die Warnung nicht ignorieren, da das Setzen von@null
Informationen TalkBack informiert, anstatt zu glauben, dass es fehlt und vorhanden sein sollte.Hinzufügen
zu Ihrem Bild. Stellen Sie sicher, dass Sie
xmlns:tools="http://schemas.android.com/tools" .
in Ihrem Root-Layout haben.quelle
Die Warnung ist in der Tat ärgerlich und in vielen (den meisten!) Fällen ist für verschiedene dekorative ImageViews keine Inhaltsbeschreibung erforderlich. Der radikalste Weg, um das Problem zu lösen, besteht darin, den Lint anzuweisen, diese Prüfung zu ignorieren. Gehen Sie in Eclipse in den Einstellungen zu "Android / Lint Error Checking", suchen Sie "contentDescription" (in der Gruppe "Accessibility") und ändern Sie "Severity:" in "Ignorieren".
quelle
contentDescription
einem Spiel beschäftigen, das Sehkraft erfordert, um spielen zu können?Wenn Sie sich überhaupt nicht darum kümmern, tun Sie Folgendes:
Obwohl ich die akzeptierten Lösungen empfehlen würde, ist dies ein Hack: D.
quelle
Für grafische Elemente, die rein dekorativ sind , ist die beste Lösung für die Zukunft:
Dies ist sinnvoll, wenn Ihre min SDK-Version mindestens 16 ist, da Geräte mit niedrigeren Versionen dieses Attribut ignorieren.
Wenn Sie ältere Versionen nicht mehr unterstützen, sollten Sie Folgendes verwenden (wie bereits erwähnt):
Quelle: https://developer.android.com/guide/topics/ui/accessibility/apps#label-elements
quelle
Diese Warnung versucht, die Zugänglichkeit Ihrer Anwendung zu verbessern.
Um die Warnung zur fehlenden Inhaltsbeschreibung im gesamten Projekt zu deaktivieren, können Sie diese Ihrem Anwendungsmodul build.gradle hinzufügen
quelle
Sie erhalten eine Warnung, da die Bildbeschreibung nicht definiert ist.
Wir können diese Warnung beheben, indem wir diesen Code unten in Strings.xml und activity_main.xml hinzufügen
Fügen Sie diese Zeile unten in Strings.xml hinzu
Fügen Sie diese Zeile auch in activity_main.xml hinzu
Strings.xml
quelle