Inspecter et déboguer

Inspecter

Plusieurs outils peuvent vous aider à inspecter rapidement votre contenu d'un point de vue d'accessibilité:

  • Android Accessibility Suite: comprend le menu d'accessibilité, Sélectionner pour prononcer, Switch Access et TalkBack, qui fournissent des informations sur le fonctionnement de la sémantique de votre application pour les utilisateurs de ces technologies. Nous vous recommandons vivement de tester votre application avec les technologies d'assistance d'Android, car c'est le meilleur moyen de comprendre l'expérience de vos utilisateurs ayant des besoins d'accessibilité.
  • Inspecteur de mise en page: vous permet d'inspecter et de déboguer la sémantique de chaque composable, et d'identifier les informations manquantes ou incorrectes.
  • Application Accessibility Scanner: analyse votre écran et vous propose des suggestions pour améliorer son accessibilité en identifiant certains écueils courants.

Déboguer

Entre Compose, le système de sémantique et les services d'accessibilité Android, vous pouvez rencontrer des comportements d'accessibilité inattendus difficiles à suivre. Les propriétés sémantiques peuvent vous aider à comprendre pourquoi vos composants se comportent comme ils le font.

Vous pouvez déboguer les problèmes de comportement d'accessibilité avec l'outil d'inspection de la mise en page dans Android Studio, TreeDebug dans les paramètres pour les développeurs de TalkBack ou printToLog de ComposeTestRule. Tous ces outils peuvent fournir des informations sur les nœuds (et leurs propriétés) exposés aux services d'accessibilité par Compose.

L'exemple suivant utilise l'outil d'inspection de la mise en page pour déboguer un écran comportant trois éléments. Lorsque les services d'accessibilité sont activés, le premier n'est pas sélectionné et le second n'a aucun retour d'action associé. Vous pouvez examiner les propriétés sémantiques pour identifier les problèmes potentiels.

L'arborescence des composants dans l'outil d'inspection de la mise en page contient des informations sur les limites, les paramètres et d'autres informations sémantiques associées à un élément. Dans l'arborescence, les trois éléments sont reconnus:

Outil d'inspection de la mise en page avec les trois éléments.
Figure 2. Outil d'inspection de la mise en page avec les trois éléments.

La propriété hideFromAccessibility est appliquée au premier élément. Cela indique que l'élément peut être marqué comme masqué quelque part dans l'arborescence sémantique ou qu'il est masqué par une superposition décorative.

Outil d'inspection de la mise en page: premier élément avec hideFromAccessibility
Figure 3. Outil d'inspection de la mise en page: premier élément avec hideFromAccessibility.

Le deuxième élément possède une propriété de focus, mais pas de onClick comme l'élément précédent. Par conséquent, il est possible qu'un modificateur clickable soit manquant quelque part, ce qui explique qu'un service d'accessibilité tel que TalkBack n'annonce pas de signal d'action à l'utilisateur:

Outil d'inspection de la mise en page: deuxième élément avec mise au point
Figure 4. Outil d'inspection de la mise en page: deuxième élément avec focused.

Le troisième élément de texte possède toutes les propriétés nécessaires (il peut être sélectionné, possède un onClick et d'autres sémantiques supplémentaires appliquées), c'est pourquoi il est interprété comme prévu.

Outil d'inspection de la mise en page: troisième élément avec toutes les API.
Figure 5 : Outil d'inspection de la mise en page: troisième élément avec toutes les API.

Vous pouvez ainsi utiliser des outils de débogage pour déterminer pourquoi certaines annonces ou sélections ne sont pas effectuées par les services d'accessibilité.