Tester l'accessibilité de votre application

Les tests d'accessibilité vous permettent de tester votre application du point de vue de l'utilisateur et de détecter les problèmes d'usabilité que vous pourriez manquer. Les tests d'accessibilité peuvent révéler des opportunités pour rendre votre application plus performante et polyvalente pour tous les utilisateurs, y compris ceux souffrant d'un handicap.

Pour optimiser les résultats, utilisez toutes les approches décrites dans ce document:

  • Tests manuels:interagissez avec votre application à l'aide des services d'accessibilité Android.
  • Tests à l'aide d'outils d'analyse:utilisez des outils pour découvrir des possibilités d'amélioration de l'accessibilité de votre application.
  • Tests automatisés:activez les tests d'accessibilité dans Espresso et Robolectric.
  • Tests utilisateur:recueillez les commentaires des personnes qui interagissent avec votre application.

Tests manuels

Les tests manuels vous mettent à la place de l'utilisateur. Les objets AccessibilityService Android modifient la façon dont le contenu de votre application est présenté à l'utilisateur et la manière dont celui-ci interagit avec ce contenu. En interagissant avec votre application à l'aide de services d'accessibilité, vous pouvez l'utiliser comme le font vos utilisateurs.

TalkBack

TalkBack est le lecteur d'écran intégré à Android. Lorsque TalkBack est activé, les utilisateurs peuvent interagir avec leur appareil Android sans voir l'écran. Les utilisateurs ayant une déficience visuelle peuvent s'appuyer sur TalkBack pour utiliser votre application.

Activer TalkBack

  1. Ouvrez l'application Paramètres de votre appareil.
  2. Accédez à Accessibilité, puis sélectionnez TalkBack.
  3. En haut de l'écran TalkBack, appuyez sur Activé/Désactivé pour activer TalkBack.
  4. Dans la boîte de dialogue de confirmation, sélectionnez OK pour confirmer les autorisations.

Explorer votre application avec TalkBack

Une fois TalkBack activé, vous pouvez naviguer de deux manières courantes:

  • Navigation linéaire:balayez rapidement l'écran vers la droite ou vers la gauche pour parcourir les éléments de l'écran dans l'ordre. Appuyez deux fois n'importe où pour sélectionner l'élément actuel à l'écran.
  • Explorer en appuyant:faites glisser votre doigt sur l'écran pour entendre ce qui se trouve sous votre doigt. Appuyez deux fois n'importe où pour sélectionner l'élément actuel.

Pour explorer votre application avec TalkBack, procédez comme suit :

  1. Ouvrez votre application.
  2. Balayez l'écran pour consulter chaque élément dans l'ordre.
  3. Pendant la navigation, recherchez les problèmes suivants :

    • Les commentaires audio de chaque élément transmettent-ils leur contenu ou leur objectif de manière appropriée ? Découvrez comment écrire des libellés pertinents. * Les annonces sont-elles succinctes ou inutilement longues ?
    • Pouvez-vous facilement effectuer les principaux workflows ?
    • Pouvez-vous accéder à chaque élément en balayant l'écran ?
    • Si des alertes ou d'autres messages temporaires apparaissent, sont-ils lus à voix haute ?

Pour en savoir plus et obtenir des conseils, consultez la documentation utilisateur de TalkBack.

Facultatif : paramètres TalkBack pour les développeurs

Les paramètres pour les développeurs TalkBack vous permettent de tester plus facilement votre application avec TalkBack.

Pour afficher ou modifier les paramètres pour les développeurs, procédez comme suit :

  1. Ouvrez l'application Paramètres de votre appareil.
  2. Accédez à Accessibilité, puis sélectionnez TalkBack.
  3. Sélectionnez Paramètres > Paramètres avancés > Paramètres pour les développeurs.

    1. Log output level (Niveau de sortie du journal) : sélectionnez VERBOSE.
    2. Afficher la sortie vocale:activez ce paramètre pour afficher la sortie vocale TalkBack à l'écran.

Switch Access

Switch Access permet aux utilisateurs d'interagir avec les appareils Android à l'aide d'un contacteur au lieu de l'écran tactile. Il existe plusieurs types de commutateurs: les dispositifs de technologies d'assistance tels que ceux vendus par AbleNet, Enable Devices, RJ Cooper ou Tecla*, les touches de clavier externes et les boutons. Ce service peut être utile pour les utilisateurs souffrant de handicaps moteurs.

* Google ne recommande aucune de ces entreprises ni leurs produits par rapport à d'autres.

Activer Switch Access

Vous pouvez configurer Switch Access à l'aide de deux commutateurs. Un contacteur est désigné comme le bouton "Suivant" et déplace le curseur à l'écran. Un deuxième contacteur sélectionne l'élément sur lequel le curseur est placé. Pour ce faire, vous pouvez utiliser n'importe quelle paire de touches matérielles.

Pour configurer Switch Access en utilisant la touche de réduction du volume comme contacteur "Suivant" et la touche d'augmentation du volume comme contacteur "Sélectionner", procédez comme suit:

  1. Assurez-vous que TalkBack est désactivé.
  2. Ouvrez l'application Paramètres de votre appareil.
  3. Accédez à Accessibilité et sélectionnez Switch Access, puis Paramètres.
  4. Sur l'écran des préférences de Switch Access, assurez-vous que l'option Analyse automatique est désactivée.
  5. Utiliser le bouton de réduction du volume comme contacteur "Suivant" :

    1. Appuyez sur Attribuer des touches pour la recherche > Suivant.
    2. Lorsque la boîte de dialogue s'ouvre, appuyez sur le bouton de réduction du volume. La boîte de dialogue affiche KEYCODE_VOLUME_DOWN.
    3. Appuyez sur OK pour confirmer et fermer la boîte de dialogue.
  6. Utiliser le bouton d'augmentation du volume comme contacteur "Sélectionner" :

    1. Appuyez sur "Sélectionner".
    2. Lorsque la boîte de dialogue s'ouvre, appuyez sur le bouton d'augmentation du volume. La boîte de dialogue affiche KEYCODE_VOLUME_UP.
    3. Appuyez sur OK pour confirmer et fermer la boîte de dialogue.
  7. Appuyez sur le bouton Retour pour revenir aux préférences de Switch Access.

  8. Facultatif : si vous utilisez TalkBack 5.1 ou une version ultérieure, vous pouvez sélectionner Commentaires audio pour activer les commentaires audio.

  9. Revenez à l'écran principal de Switch Access en appuyant sur le bouton "Retour".

  10. En haut de l'écran Switch Access, appuyez sur Activé/Désactivé pour activer Switch Access.

  11. Dans la boîte de dialogue de confirmation, sélectionnez OK pour confirmer les autorisations.

Explorer votre application avec Switch Access

Pour explorer votre application avec Switch Access, procédez comme suit :

  1. Ouvrez votre application.
  2. Démarrez la recherche en appuyant sur la touche "Suivant" (le bouton volume-).
  3. Continuez à appuyer sur "Suivant" jusqu'à atteindre l'élément qui vous intéresse.
  4. Sélectionnez l'élément en surbrillance en appuyant sur la touche "Sélectionner" (le bouton d'augmentation du volume).
  5. Pendant la navigation, recherchez les problèmes suivants :

    • Pouvez-vous facilement effectuer les principaux workflows ?
    • Si vous avez du texte ou d'autres entrées, pouvez-vous facilement ajouter et modifier du contenu ?
    • Les éléments sont-ils mis en évidence uniquement si vous pouvez les utiliser ?
    • Chaque élément est-il mis en évidence une seule fois ?
    • Toutes les fonctionnalités disponibles via les gestes sur l'écran tactile sont-elles également disponibles en tant que commandes sélectionnables ou en tant qu'actions personnalisées dans Switch Access ?
    • Si vous utilisez TalkBack 5.1 ou une version ultérieure et que vous avez activé les commentaires audio, les commentaires audio de chaque élément transmettent-ils correctement leur contenu ou leur fonction ? Découvrez comment écrire des libellés pertinents.

Facultatif : utiliser la sélection de groupe pour afficher tous les éléments pouvant être analysés

La sélection de groupe est une méthode de navigation Switch Access qui vous permet d'afficher tous les éléments à analyser en même temps. Cette option vous permet de vérifier rapidement si les bons éléments à l'écran sont en surbrillance.

Pour activer la sélection de groupe, procédez comme suit :

  1. Ouvrez l'application Paramètres de votre appareil.
  2. Accédez à Accessibilité et sélectionnez Switch Access, puis Paramètres.
  3. Sur l'écran des préférences de Switch Access, assurez-vous que l'option Analyse automatique est désactivée.
  4. Sélectionnez Méthode d'exploration > Sélection d'un groupe.
  5. Appuyez sur Attribuer des contacteurs pour la recherche.
  6. Assurez-vous que les sections Contacteur de sélection de groupe 1 et Contacteur de sélection de groupe 2 indiquent qu'un commutateur est attribué à chacun d'entre eux. Si vous suivez les étapes décrites dans ce document pour activer Switch Access, les boutons de volume sont déjà attribués.

Pour explorer votre application avec Switch Access à l'aide de la sélection de groupe, procédez comme suit :

  1. Appuyez sur la touche "Sélectionner" (bouton d'augmentation du volume) pour mettre en surbrillance tous les éléments exploitables sur l'écran actuel. Recherchez les problèmes suivants :

    • Seuls les éléments exploitables sont-ils mis en avant ?
    • Tous les éléments exploitables sont-ils mis en avant ?
    • La densité des éléments en surbrillance est-elle pertinente ?
  2. Accédez à un autre écran pour effacer la mise en surbrillance.

Pour en savoir plus sur la façon dont les utilisateurs peuvent naviguer avec la sélection de groupe, consultez Conseils d'utilisation de Switch Access.

Voice Access

Voice Access permet aux utilisateurs de contrôler un appareil Android à l'aide de commandes vocales. Voice Access est disponible sur les appareils équipés d'Android 5.0 (niveau d'API 21) ou version ultérieure. Pour tester votre application avec Voice Access, découvrez comment faire vos premiers pas avec Voice Access.

Effectuer des tests à l'aide d'outils d'analyse

Les outils d'analyse peuvent identifier des opportunités d'amélioration de l'accessibilité que vous pourriez manquer avec les tests manuels.

Vérification de l'interface utilisateur de Compose

Activez le mode de vérification de l'UI Compose dans un aperçu de Compose pour permettre à Android Studio d'auditer automatiquement votre UI Compose afin de détecter les problèmes d'accessibilité. Android Studio vérifie que votre interface utilisateur fonctionne sur différentes tailles d'écran en mettant en évidence des problèmes tels que le texte étiré sur les grands écrans ou le faible contraste des couleurs dans le panneau des problèmes.

Cliquez sur le bouton "Mode de contrôle" de l'interface utilisateur de Compose pour activer la vérification.
Mode de vérification de l'interface utilisateur de Compose activé avec les détails dans le panneau des problèmes

Accessibility Scanner

L'application Accessibility Scanner analyse votre écran et suggère des moyens d'améliorer l'accessibilité de votre application. Accessibility Scanner utilise le framework de test d'accessibilité et fournit des suggestions spécifiques après avoir examiné les libellés de contenu, les éléments cliquables, le contraste, etc.

Le framework de test d'accessibilité Android est intégré à Android Studio pour vous aider à détecter les problèmes d'accessibilité dans vos mises en page. Pour lancer le panneau, cliquez sur le bouton du rapport d'erreurs ! dans l'éditeur de mise en page.

Démonstration d'Accessibility Scanner Figure 1. Démonstration d'Accessibility Scanner

Pour en savoir plus, consultez les ressources suivantes:

Rapport pré-lancement sur Google Play

Si vous distribuez votre application sur Google Play, vous avez accès à un rapport pré-lancement pour votre application. Google Play génère ce rapport peu de temps après l'importation d'une application dans une version disponible via la Google Play Console. Le rapport pré-lancement, également disponible dans la Google Play Console, affiche les résultats des tests effectués par Google Play sur votre application.

Plus spécifiquement, Google Play exécute des tests d'accessibilité à l'aide du framework de test d'accessibilité. Les résultats de ces tests sont affichés dans un tableau de l'onglet Accessibilité du rapport pré-lancement de votre application.

Le tableau présente les opportunités d'amélioration dans les catégories suivantes :

Taille des cibles tactiles
Éléments interactifs de votre application ayant une zone sélectionnable (ou taille des zones cibles tactiles) plus petite que celle recommandée.
Faible contraste
Cas dans lesquels la paire de couleurs utilisée pour un élément textuel et l'arrière-plan de cet élément présentent un rapport de contraste des couleurs inférieur à celui recommandé.
Libellés de contenu
Éléments d'interface utilisateur n'ayant pas de libellé décrivant leur fonction
Implémentation
Attributs attribués à des éléments d'interface utilisateur qui empêchent les services d'accessibilité du système d'interpréter correctement ces éléments. Par exemple, vous pouvez définir une description pour un libellé View modifiable et utiliser un ordre de balayage d'élément qui ne correspond pas à l'organisation logique des éléments.

Après le tableau, le rapport pré-lancement affiche des instantanés de votre application. Ces instantanés représentent les principales opportunités pour améliorer l'accessibilité de votre application dans chaque catégorie. Sélectionnez une capture d'écran pour afficher plus de détails, y compris une suggestion d'amélioration et une liste plus complète des endroits de votre application où vous pouvez appliquer la même amélioration.

La figure 2 illustre un exemple de tableau qui apparaît dans l'onglet Accessibilité d'un rapport pré-lancement dans Google Play. Cette image inclut également l'un des instantanés de l'application, montrant que la taille de la cible tactile du bouton Suivant est inférieure à celle recommandée.

Image montrant le rapport sur l'accessibilité pré-lancement
Figure 2 : Exemple de tableau récapitulatif (à gauche) et de capture d'écran (à droite) de l'onglet Accessibilité d'un rapport pré-lancement

Lecteur UI Automator

L'outil uiautomatorviewer fournit une IUG pratique pour analyser et analyser les composants d'UI actuellement affichés sur un appareil Android. Vous pouvez utiliser UI Automator pour inspecter la hiérarchie de mise en page et afficher les propriétés des composants d'interface utilisateur visibles au premier plan de l'appareil. Ces informations vous permettent de créer des tests plus précis, par exemple en créant un sélecteur d'interface utilisateur correspondant à une propriété visible spécifique. L'outil se trouve dans le répertoire tools du SDK Android.

Dans les tests d'accessibilité, cet outil est utile pour déboguer les problèmes détectés à l'aide d'autres méthodes de test. Par exemple, si des tests manuels révèlent qu'une vue ne dispose pas du texte prononçable requis ou qu'une vue est sélectionnée alors qu'elle ne doit pas l'être, vous pouvez utiliser cet outil pour localiser la source du problème.

Pour en savoir plus sur le lecteur UI Automator, consultez la page Écrire des tests automatisés avec UI Automator.

Lint

Android Studio affiche des avertissements lint pour différents problèmes d'accessibilité et fournit des liens vers les emplacements pertinents dans votre code source. Dans l'exemple suivant, il manque un attribut contentDescription dans une image. La description de contenu manquante entraîne le message suivant:

[Accessibility] Missing 'contentDescription' attribute on image

La figure 3 illustre l'affichage de ce message dans Android Studio:

Image montrant Android Studio signalant qu'il manque une description de contenu pour certaines images.
Figure 3 : Message dans Android Studio montrant l'attribut contentDescription manquant.

Tests automatiques

La plate-forme Android est compatible avec plusieurs frameworks de test, tels qu'Espresso, qui vous permet de créer et d'exécuter des tests automatisés qui évaluent l'accessibilité de votre application.

Espresso

Espresso est une bibliothèque de tests Android conçue pour faciliter et accélérer le test des interfaces utilisateur. Il vous permet d'interagir avec les composants d'interface utilisateur testés dans votre application et de confirmer que certains comportements se produisent ou que des conditions spécifiques sont remplies.

Pour une présentation vidéo des tests d'accessibilité avec Espresso, regardez la vidéo suivante (de 31:54 à 34:19) : Inclusive design and testing: making your app more accessible - Google I/O 2016 (Conception et tests inclusifs : rendre votre application plus accessible – Google I/O 2016).

Cette section explique comment effectuer des vérifications d'accessibilité à l'aide d'Espresso.

Activer les vérifications

Vous pouvez activer et configurer les tests d'accessibilité à l'aide de la classe AccessibilityChecks :

Kotlin

import androidx.test.espresso.accessibility.AccessibilityChecks

@RunWith(AndroidJUnit4::class)
@LargeTest
class MyWelcomeWorkflowIntegrationTest {
    init {
        AccessibilityChecks.enable()
    }
}

Java

import androidx.test.espresso.accessibility.AccessibilityChecks;

@RunWith(AndroidJUnit4.class)
@LargeTest
public class MyWelcomeWorkflowIntegrationTest {
    @BeforeClass
    public void enableAccessibilityChecks() {
        AccessibilityChecks.enable();
    }
}

Par défaut, les vérifications s'exécutent lorsque vous effectuez une action de vue définie dans ViewActions. Chaque vérification inclut la vue sur laquelle l'action est effectuée, ainsi que toutes les vues descendantes. Vous pouvez évaluer la hiérarchie complète des vues d'un écran lors de chaque vérification en transmettant true à setRunChecksFromRootView(), comme indiqué dans l'extrait de code suivant :

Kotlin

AccessibilityChecks.enable().setRunChecksFromRootView(true)

Java

AccessibilityChecks.enable().setRunChecksFromRootView(true);

Supprimer les sous-ensembles de résultats

Une fois qu'Espresso a effectué des vérifications d'accessibilité sur votre application, vous verrez peut-être des options d'amélioration de l'accessibilité dont vous ne pourrez pas vous occuper immédiatement. Pour éviter que les tests Espresso échouent continuellement en raison de ces résultats, vous pouvez les ignorer temporairement. Le framework de test d'accessibilité (ATF) fournit cette fonctionnalité à l'aide de la méthode setSuppressingResultMatcher(), qui indique à Espresso de supprimer tous les résultats qui correspondent à l'expression de mise en correspondance donnée.

Lorsque vous modifiez votre application pour améliorer un aspect de l'accessibilité, il est utile qu'Espresso affiche des résultats pour le plus grand nombre possible d'autres aspects de l'accessibilité. Pour cette raison, il est préférable de ne supprimer que des opportunités d'amélioration connues spécifiques.

Lorsque vous supprimez temporairement les résultats des tests d'accessibilité que vous prévoyez de traiter plus tard, il est important de ne pas supprimer accidentellement des résultats similaires. Pour cette raison, utilisez des expressions de correspondance restreintes. Pour ce faire, choisissez un outil de mise en correspondance afin qu'Espresso ne supprime un résultat donné que s'il satisfait à chacune des vérifications d'accessibilité suivantes:

  1. Les vérifications d'accessibilité d'un certain type, telles que celles qui vérifient la taille des cibles tactiles.
  2. Les vérifications de l'accessibilité d'un élément d'interface particulier, comme un bouton.

L'ATF définit plusieurs outils de mise en correspondance pour vous aider à définir les résultats à afficher dans vos tests Espresso. L'exemple suivant supprime les résultats des vérifications liées au contraste des couleurs d'un seul élément TextView. L'ID de l'élément est countTV.

Kotlin

AccessibilityChecks.enable().apply {
        setSuppressingResultMatcher(
                allOf(
                    matchesCheck(TextContrastCheck::class.java),
                    matchesViews(withId(R.id.countTV))
                )
        )
}

Java

AccessibilityValidator myChecksValidator =
    AccessibilityChecks.enable()
        .setSuppressingResultMatcher(
            allOf(
                matchesCheck(TextContrastCheck.class),
                matchesViews(withId(R.id.countTV))));

Tests utilisateur

En plus des autres méthodes de test de ce guide, les tests utilisateur peuvent fournir des renseignements spécifiques et utiles sur la facilité d'utilisation de votre application.

Pour trouver des utilisateurs pouvant tester votre application, utilisez les méthodes suivantes :

  1. Contactez des organisations, des universités ou des facultés locales qui dispensent des formations pour les personnes ayant un handicap.
  2. Demandez à votre cercle de contacts. Il est possible que des personnes ayant un handicap acceptent de vous aider.
  3. Demandez à un service de test utilisateur, tel que usertesting.com, s'il peut tester votre application et inclure des utilisateurs ayant un handicap.
  4. Rejoignez un forum d'accessibilité, tel que Accessible, et demandez à des volontaires d'essayer votre application.

Pour obtenir d'autres conseils, regardez la section sur les tests utilisateur de la vidéo suivante, de la minute 31:10 à 44:51: En coulisses: nouveautés de l'accessibilité sur Android – Google I/O 2016.