Notes de version d'Axe DevTools Mobile du 15 mai 2024
15 mai 2024
Versions des composants
- Plugin Appium axeDevToolsMobile v2.1.0 Comment mettre à jour : Plugin Appium
Quoi de neuf ?
Appium
- Nous avons ajouté quatre nouvelles règles au plugin Appium : Texte focalisable, Action inaccessible, Nom accessible significatif et Dans ScrollView. Règles Appium
- Nous avons ajouté l'option de définir un nom et balises de la scan avant de lancer une analyse d'accessibilité. Configuration Appium Exemples d'automatisation Appium
- Sur Android, les règles s'exécuteront maintenant sur toutes les vues cliquables, pas seulement les boutons, et nous avons introduit la prise en charge des applications conçues avec Jetpack Compose.
Corrections
Appium
- Correction des faux positifs lors de l'analyse des applications React Native pour les règles Label in Name et Label at Front.
Problèmes connus
Si vous rencontrez l'un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous pourrons alors vous informer une fois qu'il est 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, natives Android 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 certains résultats des vues web ou des PDF rendus, nous vous recommandons fortement d'utiliser Axe DevTools pour le Web ou Axe Monitor pour des tests d'accessibilité web plus complets.
Axe DevTools Mobile pour iOS
Erreur dans le projet Analyzer & Test par ID de bundle en 2.8.1
La fonctionnalité de test d'une application par identifiant de bundle a été cassée dans la version 2.8.1, ce qui a entraîné une erreur intitulée « Chemin de l'application cible non 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. Mettre à jour vers la dernière version dans le projet iOS Analyzer.
Les vues hors écran peuvent montrer des résultats pour les applications SwiftUI testées sous iOS 17
Avec la version 2.8.0 (Voir les notes de version), les résultats ne sont plus rapportés sur les vues qui ne sont pas visibles, y compris celles hors écran ou masquées par une autre vue. Nous avons découvert que dans les applications SwiftUI testées sous iOS 17, certains résultats s'affichent toujours. (#1383)
La règle Prise en charge du type dynamique ne fonctionne pas avec le simulateur iOS 15 Pro
Un problème affecte le simulateur iPhone 15 Pro qui empêche l'exécution de la règle Prise en charge du type dynamique. Si vous êtes inscrit à la règle Prise en charge du type dynamique, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.
Règles contre les contrôles imbriqués
En examinant une amélioration de nos règles, nous avons constaté que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arborescence d'accessibilité. Un bug a été signalé à Apple. (#1110)
Faux positif : Dans Scroll View, ActiveControlName
Nous travaillons activement sur des corrections pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure que les corrections seront publiées.
In Scroll View
Des problèmes peuvent être signalés pour le texte dans les éléments se comportant comme des bannières. Pour rendre ces éléments accessibles à ceux qui nécessitent un texte plus grand, utilisez UILargeContentViewer. (#622)
ActiveControlName
Si un UIImageView a un `accessibilityIdentifier` défini mais n'est pas focalisable par VoiceOver, et qu'il a des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur l'UIImageView. Supprimer le `accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226)
Faux négatif : Nom de vue de l'image, Texte focalisable dans iOS 13 à iOS 14.8.1
Nous travaillons activement sur des corrections pour les faux négatifs suivants et mettrons à jour cette liste au fur et à mesure que les corrections seront publiées.
Image View Name
Si un UIImageView a un `accessibilityIdentifier` défini mais n'est pas focalisable par VoiceOver, ImageViewName peut signaler un faux négatif sur l'UIImageView. Supprimer le `accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1226)
Focusable Text
Les éléments marqués comme éléments non-accessibilité peuvent signaler des résultats incorrects en raison d'un bug dans le framework d'Apple.
Axe DevTools Mobile pour Android
Crash lors de l'utilisation de Proguard
Si votre build de debug ou de test utilise Proguard, suivez les étapes pour ignorer Deque dans vos paramètres Proguard.
Crash lorsque `minifiedEnabled` est réglé sur true
Si vous minifiez votre build, vous verrez un plantage avec un journal d'erreur signalant qu'un adaptateur n'a pas pu être trouvé lors de la tentative de connexion à la bibliothèque Axe DevTools. Désactivez la minification pour vos builds de debug avec Axe DevTools implémenté. (#729)
Les builds avec r8 activé génèrent une erreur
Un build avec r8 activé peut essayer de minifier la bibliothèque axeDevTools, ce qui entraîne une erreur semblable à :
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)To resolve this error add the following line to your ProGuard file to keep axeDevTools classes:
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 à l'API Compose setTestTag.
Tableau de bord Axe DevTools Mobile
Capture d'écran manquante
Si la capture d'écran manque sur la page des détails de l'analyse, il se peut que votre application empêche la prise de captures d'écran. Cela est souvent 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'analyses Android ne sont pas formatés
Certains noms d'analyses Android, par défaut au titre de l'écran, apparaîtront comme le nom complet de la classe incluant l'identifiant du bundle. Dans une future mise à jour, cela sera résolu afin que le titre de l'écran soit formaté dans un nom plus lisible. Comme solution temporaire, vous pouvez définir le nom de l'analyse à 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 le nom de la vue active lors de l'utilisation de la labeledBy propriété pour fournir une étiquette à un élément bouton. Nous explorons des solutions et espérons un correctif dans une future mise à jour.
React Native & .NET MAUI : Étiquette dans le nom & Étiquette au début
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Étiquette dans le nom & Étiquette au début ne peuvent pas s'exécuter pour les applications construites avec React Native. Nous explorons des solutions et espérons un correctif dans une future mise à jour.
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 plus de temps pour se mettre à jour entre les analyses. Si cela se produit, vous verrez la hiérarchie de 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 court 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();
