Je reçois un avertissement en tant que "[Accessibilité] Attribut contentDescription manquant sur l'image" pour imageview. lors de l'utilisation de la charpie Android
Qu'est-ce que ça veut dire?
android
android-layout
android-lint
Santhosh Shettigar
la source
la source
<string name="none"></string>
puis j'ai utiliséandroid:contentDescription="@string/none"
Réponses:
Résolution de cet avertissement en définissant l'attribut
android:contentDescription
pour mon ImageViewLa prise en charge d'Android Lint dans ADT 16 émet cet avertissement pour garantir que les widgets d'image fournissent une description de contenu.
Cela définit le texte qui décrit brièvement le contenu de la vue. Cette propriété est principalement utilisée pour l'accessibilité. Puisque certaines vues n'ont pas de représentation textuelle, cet attribut peut être utilisé pour fournir une telle.
Les widgets non textuels comme ImageViews et ImageButtons doivent utiliser l'attribut contentDescription pour spécifier une description textuelle du widget de sorte que les lecteurs d'écran et autres outils d'accessibilité puissent décrire correctement l'interface utilisateur.
la source
La désactivation des avertissements anti-peluches vous causera facilement des problèmes plus tard. Vous feriez mieux de simplement spécifier contentDescription pour tous vos ImageViews. Si vous n'avez pas besoin d'une description, utilisez simplement:
la source
Une autre option consiste à supprimer l'avertissement individuellement:
Exemple:
la source
Je vous recommande d'ajouter le contentDescription.
mais soyons réalistes. La plupart des gens ne maintiennent pas littéralement pour l'accessibilité. Pourtant, avec peu d'efforts, vous pouvez mettre en œuvre quelque chose pour aider les personnes handicapées.
.
La chose la plus importante que l'utilisateur aveugle devra savoir est "Où est le bouton sur lequel je dois cliquer pour continuer"
Utilisez contentDescriptionAction pour tout ce qui est cliquable.
use contentDescriptionContent pour l'image avec des informations (graphe, textAsImage, ...)
utilisez contentDescriptionUserContent pour tout le contenu fourni par l'utilisateur.
utiliser contentDescriptionInutile pour tout le reste.
la source
Puisqu'il ne s'agit que d'un avertissement, vous pouvez le supprimer. Accédez à la disposition graphique de votre XML et procédez comme suit:
Cliquez sur le bouton rouge du coin supérieur droit
Sélectionnez "Désactiver le type de problème" (par exemple)
la source
Si vous souhaitez supprimer cet avertissement de manière élégante (car vous êtes sûr que l'accessibilité n'est pas nécessaire pour cet ImageView particulier), vous pouvez utiliser un attribut spécial:
la source
Aller au
Gradle
fichier (module app), ajouter le bloc de code ci-dessousPlus d'avertissement! bon codage
la source
Les widgets non textuels ont besoin d'une description du contenu d'une certaine manière pour décrire textuellement l'image afin que les lecteurs d'écran puissent décrire l'interface utilisateur. Vous pouvez ignorer la propriété ou définir la propriété
xmlns:tools="http://schemas.android.com/tools"
tools:ignore="contentDescription"
android:contentDescription="your description"
la source
ContentDescription
nécessaire pour l'accessibilité Android. En particulier pour la fonction de lecteur d'écran. Si vous ne prenez pas en charge l'accessibilité Android, vous pouvez l'ignorer avec la configuration Lint .Alors créez simplement
lint.xml
.Et mettez-le dans le
app
dossier.la source
Pour les éléments graphiques purement décoratifs, définissez leurs attributs XML android: contentDescription respectifs sur "@null".
Si votre application ne prend en charge que les appareils exécutant Android 4.1 (niveau d'API 16) ou supérieur, vous pouvez à la place définir les attributs XML android: importantForAccessibility de ces éléments sur "non".
la source
Puisque j'ai besoin d'ImageView pour ajouter une icône juste pour l'esthétique, j'ai ajouté
tools:ignore="ContentDescription"
dans chaque ImageView que j'avais dans mon fichier xml.Je ne reçois plus de messages d'erreur
la source