236 votes

Attribut contentDescription manquant sur l'image" en XML

Je reçois un avertissement concernant [Accessibilité]Attribut contentDescription manquant sur l'image en éclipse. Cet avertissement apparaît à la ligne 5 (déclarer ImageView ) dans le code XML ci-dessous.

Cela ne provoque aucune erreur lors de la construction et de l'exécution de mon application. Mais je veux vraiment savoir pourquoi je reçois cet avertissement.

Voici mon fichier XML :

<?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>

Veuillez m'aider à ce sujet et merci de votre lecture.

7 votes

La nouvelle suggestion de version ADT ajoute android:contentDescription cet attribut dans imageview juste une suggestion, je pense que vous pouvez ignorer ceci, il ne fait pas l'erreur de compilation, aussi vous pouvez vérifier http://developer.android.com/reference/android/view/View.htm‌​l#attr_android:conte‌​ntDescription

0 votes

Oui, c'est vrai.

10voto

AlexR Points 209

L'avertissement est en effet gênant et dans de nombreux cas (la plupart !), aucune contentDescription n'est nécessaire pour diverses ImageViews décoratives. La façon la plus radicale de résoudre le problème est simplement de dire à Lint d'ignorer cette vérification. Dans Eclipse, allez dans "Android/Lint Error Checking" dans les préférences, trouvez "contentDescription" (il est dans le groupe "Accessibility") et changez "Severity :" en Ignore.

9 votes

N'ignorez pas cet avertissement. Comme d'autres l'ont souligné, l'accessibilité est importante, même s'il ne s'agit que d'une image décorative. Il suffit d'ajouter le contentDescription souhaité.

2 votes

Vous pouvez tout aussi bien ignorer l'avertissement si votre application est de celles qui seront essentiellement inaccessibles, même avec le contenu de DeepL. Par exemple, pourquoi s'embêter avec contentDescription dans un jeu qui nécessite la vue pour pouvoir jouer ?

0 votes

Oui, ça. es le choix radical ; alors que font les gens qui sont conscients de son but et qui voudraient s'y conformer ? J'oserais dire que dans ce cas particulier, oubliez "la plupart" des cas ; cela semble impliquer que parce que "la plupart" des gens ne sont pas, par exemple, aveugles, c'est un avertissement inutile ? Si "la plupart" de vos images n'ont pas besoin d'un tel contenu - très bien, désactivez l'avertissement, mais ajoutez-le là où cela a du sens. Un peu d'aide peut faire beaucoup de bien.

9voto

zsala Points 164

Si vous ne vous en souciez pas du tout, faites ceci :

    android:contentDescription="@null"

Bien que je conseille les solutions acceptées, ceci est un hack :D

4 votes

En fait, je ne pense pas qu'Android:contentDescription="@null" soit la meilleure solution. J'utilise tools:ignore="ContentDescription" qui est ce qui est censé être. Assurez-vous d'inclure xmlns:tools=" schémas.Android.com/outils "dans votre mise en page racine.

1 votes

Personne n'a dit ça. Relisez le commentaire. Vous ne tenez pas compte de l'avertissement et la solution que vous proposez est certainement pire. Relisez la réponse la plus acceptée.

7voto

Maksim Turaev Points 1648

Cet avertissement vise à améliorer l'accessibilité de votre application.

Pour désactiver l'avertissement de contenu manquant de DeepL dans l'ensemble du projet, vous pouvez ajouter ceci à votre module d'application build.gradle

android {

    ...

    lintOptions {
        disable 'ContentDescription'
    }
}

3voto

Kuldeep Singh Points 31

Il vous donne l'avertissement parce que la description de l'image n'est pas définie.

Nous pouvons résoudre cet avertissement en ajoutant ce code ci-dessous dans Strings.xml et activity_main.xml

Ajoutez cette ligne ci-dessous dans Strings.xml

<string name="imgDescription">Background Picture</string>
you image will be like that:
<ImageView
        android:id="@+id/imageView2"
        android:lay`enter code hereout_width="0dp"
        android:layout_height="wrap_content"
        android:contentDescription="@string/imgDescription"
        app:layout_editor_absoluteX="0dp"
        app:layout_editor_absoluteY="0dp"
        app:srcCompat="@drawable/background1"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp" />

Ajoutez également cette ligne dans activity_main.xml

android:contentDescription="@string/imgDescription"

Cordes.xml

<resources>
    <string name="app_name">Saini_Browser</string>
    <string name="SainiBrowser">textView2</string>
    <string name="imgDescription">BackGround Picture</string>
</resources>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X