input-image-alt-quality
L’alternative textuelle des <input type="image"> doit être appropriée (revue manuelle)
Signale les éléments <input type="image"> dotés d’une alternative textuelle non vide (alt, aria-label, aria-labelledby ou title) pour une revue humaine de sa pertinence. Indique quand le nom ressemble à un nom de fichier, à une adresse web, à un texte provisoire, commence par « image of » ou est très long.
Applicabilité. S’applique aux éléments <input type="image"> qui obtiennent une alternative textuelle non vide d’une source quelconque : aria-labelledby (résolu en texte), aria-label, alt ou title. Un élément dont l’alt est présent mais vide relève d’input-image-alt-decorative, qui pose la question pour ce cas. L’élément doit être inclus dans l’arbre d’accessibilité, et role="presentation"/"none" le retire du périmètre sauf s’il est focalisable, ce qui rétablit son rôle.
Attendu. Une revue humaine est nécessaire pour confirmer que l’alternative textuelle fournie est exacte et appropriée. Chaque occurrence liste toutes les sources présentes (data.details.sources), pour que la personne qui vérifie examine chacune. Le nom est aussi soumis aux vérifications que la règle img-alt-quality applique à un alt (helpers.getTextAlternativeSignal) : un nom de fichier, une adresse web, uniquement des symboles, un texte provisoire ou un mot générique, un début qui dit qu’il s’agit d’une image, ou plus de 150 caractères. Un tel nom reçoit son propre résumé et son propre conseil ; le constat reste cantTell.
Ce que rapporte un constat.
reasonCode:TEXT_ALTERNATIVE_REVIEW, quel que soit le signal.name: l’alternative textuelle du contrôle telle qu’elle est annoncée, tirée de la première source qui en fournit une.sources: chaque source qui fournit une alternative textuelle non vide, dans l’ordre où elles servent au nom. Un élément vautaria-labelledby,aria-label,altoutitle.altSignal, ainsi quelengthetlimitpourtoo-long: ce qui a fait ressembler le nom à autre chose qu’une description, comme pour img-alt-quality. Absent lorsque le nom est ordinaire.alt(un contrôle doté d’unaltnon vide) : le textealt.
Ces champs de data.details aident à lire et à reproduire un constat. À part reasonCode et les quelques champs que la page Schéma de sortie donne comme stables, ils ne constituent pas un contrat stable : un champ peut être renommé ou supprimé dans une version mineure, ne vous appuyez donc pas dessus.
Exemples
<input type="image" src="submit.png" alt="Submit order">
Ce bouton image a un alt non vide ; il vaut la peine de confirmer que « Submit order » correspond à ce que fait réellement le bouton. Un bouton image nommé seulement par aria-label, aria-labelledby ou title donne aussi lieu à la question.
<input type="image" src="submit.png" alt="" title="Submit order">
Un alt vide sur un contrôle fonctionnel relève d’input-image-alt-decorative, pas de cette règle.
Comment vérifier
Quand cette règle ne peut pas trancher, elle renvoie cantTell et laisse la question à une personne. Chaque question qu’elle peut poser figure ici sous son code de raison, avec les étapes pour y répondre. Un constat porte les mêmes étapes dans howToCheck, dans la langue de l’analyse. Voir Schéma de sortie.
TEXT_ALTERNATIVE_REVIEW
- Repérez le bouton image indiqué par le rapport et lisez le nom qu’il donne ; vérifiez chaque source listée (alt, aria-label, aria-labelledby, title).
- Appuyez sur le bouton ou lisez le formulaire pour savoir ce qu’il fait.
- Déterminez si le nom annoncé dit ce que fait le bouton, et si les autres sources ne le contredisent pas.
Réussite. Le nom indique l’action du bouton, comme « Valider la commande » ou « Rechercher ».
Échec. Le nom ne dit pas ce que fait le bouton, par exemple un nom de fichier, une adresse, un mot générique ou des symboles, ce qui ne respecte pas le critère WCAG 1.1.1 (H36, F30).