Je reçois un avertissement concernant [Accessibilité] Attribut contentDescription manquant sur l'image dans eclipse. Cet avertissement apparaît à la ligne 5 (déclarer ImageView
) dans le code XML ci-dessous.
Cela ne fait aucune erreur lors de la génération 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 pour votre lecture.
android:contentDescription
cet attributimageview
, juste une suggestion, je pense que vous pouvez l'ignorer, cela ne fait pas l'erreur de compilation, vous pouvez également vérifierhttp://developer.android.com/reference/android/view/View.html#attr_android:contentDescription
Réponses:
Suivez ce lien pour la solution: contenu Android Lint
Ce lien pour l'explication: Accessibilité, son impact et ressources de développement
Ce guide vise à rendre votre application accessible: rendre les applications plus accessibles
la source
Ajoutez
android:contentDescription="@string/description"
(statique ou dynamique) à votre ImageView. Veuillez ne pas ignorer ni filtrer le message, car il est utile pour les personnes utilisant des méthodes de saisie alternatives en raison de leur handicap (comme TalkBack, Tecla Access Shield, etc.).la source
Actualisé:
Comme indiqué dans les commentaires, la définition de la description sur null indique que l'image est purement décorative et est comprise comme celle par des lecteurs d'écran comme TalkBack.
Ancienne réponse, je ne soutiens plus cette réponse:
Pour toutes les personnes qui cherchent à éviter l'avertissement:
Je ne pense pas que ce
android:contentDescription="@null"
soit la meilleure solution.J'utilise
tools:ignore="ContentDescription"
ce qui est censé être.Assurez-vous d'inclure
xmlns:tools="http://schemas.android.com/tools"
dans votre disposition racine.la source
@null
comme contenu La description est une façon de dire explicitement que cette image est purement décorative. Ignorer simplement l'avertissement n'est pas la bonne solution.@null
indique à TalkBack que l'image est décorative. Vous ne devriez pas ignorer l'avertissement, car mettre@null
Informer TalkBack plutôt que de faire croire qu'il est manquant et devrait être là.Ajouter
à votre image. Assurez-vous de l'avoir
xmlns:tools="http://schemas.android.com/tools" .
dans votre disposition racine.la source
L'avertissement est en effet ennuyeux et dans de nombreux cas (la plupart!), Aucune description de contenu n'est nécessaire pour les différentes images décoratives. La façon la plus radicale de résoudre le problème est simplement de dire au Lint d'ignorer cette vérification. Dans Eclipse, accédez à "Android / Lint Error Checking" dans les préférences, recherchez "contentDescription" (il se trouve dans le groupe "Accessibility") et remplacez "Severity:" par Ignore.
la source
contentDescription
un jeu qui nécessite la vue pour pouvoir jouer?Si vous ne vous souciez pas du tout, faites ceci:
Bien que je conseille les solutions acceptées, il s'agit d'un hack: D
la source
À l'avenir, pour des éléments graphiques purement décoratifs , la meilleure solution est d'utiliser:
Cela a du sens si votre version minimale du SDK est au moins 16, car les appareils exécutant des versions inférieures ignoreront cet attribut.
Si vous ne supportez pas les anciennes versions, vous devriez utiliser (comme d'autres l'ont déjà souligné):
Source: https://developer.android.com/guide/topics/ui/accessibility/apps#label-elements
la source
Cet avertissement tente d'améliorer l'accessibilité de votre application.
Pour désactiver l'avertissement de description de contenu manquant dans l'ensemble du projet, vous pouvez l'ajouter à votre module d'application build.gradle
la source
Il vous donne l'avertissement car 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
Ajoutez également cette ligne dans activity_main.xml
Strings.xml
la source