axe DevTools Mobile Notes de version du 17 avril 2024
17 avril 2024
Versions des composants
- SDK et Analyzer iOS (axeDevToolsXCUI v2.10.0)
- SDK Android (axe-devtools-android v5.4.0)
- Analyzer Android (axe Accessibility Analyzer v1.7.0)
Comment mettre à jour : iOS SDK, iOS Analyzer, Android SDK, Android Analyzer
Quoi de neuf ?
Suivi de l'utilisation
Nous avons facilité l'activation du suivi de l'utilisation d'Axe DevTools Mobile par votre équipe. Dans les paramètres globaux du Portail de compte Axe, définissez « Service d'utilisation » sur « Activer » et saisissez votre URL et votre ID d'organisation. Vous n’avez plus besoin d’ajouter quoi que ce soit au code. (Remarque : le suivi de l’utilisation déjà configuré via le code pour vos tests automatisés continuera de fonctionner.) Contactez helpdesk@deque.com pour connaître l'identifiant de votre organisation. Comment activer le service d'utilisation | À propos du service d'utilisation
Exporter des scans au format universel axe
Vous pouvez désormais exporter des analyses depuis le tableau de bord Axe DevTools Mobile au format JSON universel Axe ; un format standard utilisé par tous les produits Axe. Utilisez ce format lorsque vous souhaitez importer vos résultats d'accessibilité mobile dans un autre produit Deque, tel qu'axe Auditor, ou lorsque vous souhaitez regrouper par programmation les résultats d'accessibilité de plusieurs produits axe à l'aide d'une sortie cohérente de chaque produit. Comment exporter des scans depuis le tableau de bord | Format mobile versus format universel
Android
- Nous avons promu les règles Vue accessible inactive et Texte focalisable hors du statut expérimental. Après une évaluation rigoureuse, nous sommes confiants dans nos résultats. Si vous avez désactivé les règles expérimentales dans les paramètres du tableau de bord, vous commencerez à voir les résultats de ces règles. Sinon, vous continuerez à obtenir des résultats à partir de ces règles, mais ils n'apparaîtront plus dans la section « Résultats expérimentaux ». À propos des règles expérimentales | Configuration du tableau de bord
iOS
- Nous déprécions la règle Colliding Controls . Les contrôles se chevauchant sont désormais couverts par la règle Espacement des cibles tactiles conforme à WCAG. Les résultats des contrôles en collision apparaîtront désormais dans « Ignoré ». Nous supprimerons entièrement les résultats dans une prochaine version.
Corrections de bogues
Android
- Nous avons mis à jour l'application Mobile Analyzer pour éviter les plantages lors de la configuration sur la version Android 11 et inférieure.
- Nous avons résolu un problème dans l'application Mobile Analyzer où une URL de serveur backend incorrecte provoquait l'échec de la configuration de l'application. Ceci s’applique uniquement aux clients de cloud privé ou sur site.
- Nous avons corrigé un bogue dans la règle Label in Name qui entraînait le renvoi incorrect d'un échec par la règle lorsque le texte visible faisait partie du nom accessible.
- Pour éviter les faux positifs, tout composant dont le contenu n'est pas entièrement à l'écran ne sera plus analysé par les règles Taille de la cible tactile, Espacement des cibles tactiles ou Contraste des couleurs .
- Pour éviter les faux positifs dans les règles Étiquette dans le nom, Nom de l'élément imbriqué et Texte focalisable , nous marquerons désormais certains scénarios comme « Nécessite une révision » plutôt que « Échec » lorsque nous ne pouvons pas être sûrs à 100 % d'un échec. Vous devez examiner ces questions pour vous assurer que le texte accessible est disponible pour les technologies d’assistance telles que TalkBack ou Voice Access.
iOS
- Pour éviter les faux positifs, la règle Vues en collision renverra « Nécessite une révision » au lieu de « Échec » dans tous les cas.
- Le service d'utilisation suivait auparavant uniquement les événements de « connexion » et suivra désormais les événements de « connexion » et d'« analyse ».
Tableau de bord
- Correction d'un bug où les balayages ne pouvaient pas être exportées lorsque le nom de l'application contenait un caractère Unicode.
Problèmes connus
Si vous rencontrez l'un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous serons alors en mesure de vous informer une fois le problème résolu ou d'une solution de contournement identifiée, si aucune n'est listée.
- Les tests automatisés axe DevTools Mobile s'exécutent sur les applications natives iOS, Android natives et React Native. Veuillez contacter votre représentant Deque pour des solutions de test d'accessibilité sur votre pile technologique.
- Bien que vous puissiez obtenir des résultats à partir de vues Web ou de PDF rendus, nous vous recommandons vivement de tester à l'aide d'axe DevTools pour le Web ou axe Monitor pour les tests d'accessibilité les plus complets pour le Web.
axe DevTools Mobile pour iOS
Erreur dans le projet Analyzer et les tests par ID de bundle dans 2.8.1
La fonctionnalité de test d'une application par identifiant de bundle était interrompue dans la version 2.8.1, ce qui entraînait une erreur intitulée « Aucun chemin d'application cible spécifié via la configuration de test : ... ». Mettez à jour vers la version 2.8.2 ou la dernière version pour résoudre l'erreur. Mettez à jour vers la dernière version dans le cadre du projet iOS Analyzer.
Les vues hors-champ peuvent afficher les résultats des applications SwiftUI testées dans iOS 17
Avec la version 2.8.0 (Voir les notes de publication), les résultats ne sont plus signalés sur les vues qui ne sont pas visibles, y compris hors-champ ou masquées par une autre vue. Nous avons découvert que dans les applications SwiftUI testées dans iOS 17, certains résultats apparaissent encore. (#1383)
La règle 'Supports Dynamic Type' ne fonctionne pas avec le simulateur iOS 15 Pro
Il existe un problème affectant le simulateur iPhone 15 Pro qui empêche l'exécution de la règle Prend en charge le type dynamique. Si vous avez opté pour la règle « Prend en charge le type dynamique », vous ne pourrez pas la tester à l’aide d’un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.
Règles contre les contrôles imbriqués
En recherchant une amélioration de nos règles, nous avons constaté que dans XCTest, les contrôles imbriqués ne sont pas renvoyés dans l’arborescence d’accessibilité. Un bug a été signalé à Apple. (#1110)
Faux positif : dans Scroll View, ActiveControlName
Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure que des correctifs seront publiés.
En mode défilement
Peut signaler des problèmes de texte dans les éléments se comportant comme des bannières. Pour rendre ces éléments accessibles à ceux qui ont besoin d’un texte plus grand, utilisez UILargeContentViewer
. (#622)
Nom du contrôle actif
Si un UIImageView possède un `accessibilityIdentifier` attribut mais n'est pas focalisable par VoiceOver et qu'il contient des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur le UIImageView. La suppression du `accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226)
Faux négatifs : nom de la vue d'image, Texte pouvant être mis au point dans iOS 13 via iOS 14.8.1
Nous travaillons activement sur des correctifs pour les faux négatifs suivants et mettrons à jour cette liste au fur et à mesure que des correctifs seront publiés.
Image View Name
Si un UIImageView a un `accessibilityIdentifier` attribut défini mais n'est pas focalisable par VoiceOver, ImageViewName peut signaler un faux négatif sur le UIImageView. La suppression du `accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226)
Texte focalisable
Les éléments marqués comme éléments non accessibles peuvent signaler des résultats incorrects en raison d'un bogue dans le framework d'Apple.
axe DevTools Mobile pour Android
Crash lors de l'utilisation de Proguard
Si votre version de débogage ou de test utilise Proguard, suivez les étapes pour ignorer Deque dans vos paramètres Proguard.
Crash lorsque `minifiedEnabled` est défini sur true
Si vous minifiez votre construction, vous verrez un crash avec un journal d'erreurs signalant qu'un adaptateur n'a pas pu être trouvé lors de la tentative de se connecter à la bibliothèque axe DevTools. Désactivez la minification pour vos constructions de débogage avec axe DevTools intégré. (#729)
Les builds avec r8 activé génèrent une erreur
Une construction avec r8 activé peut tenter de minifier la bibliothèque axeDevTools, ce qui entraîne une erreur similaire à :
Caused by: java.lang.NullPointerException: throw with null exception at g.b.b.a$a.a(Unknown Source:1) at g.b.b.a$a.a(Unknown Source:0) at g.b.b.a.a(AccessToken.java:190)Pour résoudre cette erreur, ajoutez la ligne suivante à votre fichier ProGuard pour conserver les classes axeDevTools :
keep class com.deque.** { *; }
Message d'erreur similaire à :
Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)
ou: No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?
Si vous rencontrez une erreur du type `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)` ou `No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?`, veuillez vous référer à API Compose setTestTag .
Tableau de bord axe DevTools Mobile
Capture d'écran manquante
Si la capture d'écran est manquante sur la page des détails de l'analyse, votre application peut empêcher la prise de captures d'écran. Souvent, cela est dû à des raisons de sécurité dans votre application de production. Envisagez de supprimer cette exigence pour votre build de test afin de permettre une fonctionnalité complète dans le tableau de bord axe DevTools Mobile.
Certains noms d'analyse Android ne sont pas formatés
Certains noms de scan Android qui sont par défaut dans le titre de l'écran apparaîtront comme le nom de classe complet, y compris l'identifiant du bundle. Dans une version ultérieure, ce problème sera résolu afin que le titre de l'écran soit formaté en un nom plus lisible. Pour contourner ce problème, vous pouvez définir le nom du scan à partir du tableau de bord ou des frameworks. (#1643)
Axe DevTools Mobile pour Appium
Faux positif : nom de la vue active
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié un faux positif pour Nom de Vue Active lors de l'utilisation de la propriété labeledBy
pour fournir une étiquette pour un élément de bouton. Nous explorons des solutions et attendons un correctif dans une future version.
React Native et .NET MAUI : étiquette dans le nom et étiquette au début
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Label In Name et Label At Front ne peuvent pas fonctionner pour les applications créées avec React Native. Nous explorons des solutions et attendons un correctif dans une future version.
React Native : inspecter la hiérarchie des vues affichant l'écran précédent
Parfois, la propriété source de la page Appium nécessite un temps supplémentaire pour être mise à jour entre les analyses. Si cela se produit, vous verrez la hiérarchie des vues d'un écran précédent lorsque vous utilisez la fonction d'inspection sur le tableau de bord. Pour résoudre ce problème, ajoutez un petit délai d’attente avant d’appeler l’API source de la page pour déclencher l’analyse d’accessibilité. Exemple :
await driver.pause(1000); const result = await driver.getPageSource();