Notes de version Axe DevTools Mobile du 26 juin 2024
26 juin 2024
Versions des composants
- Plugin Appium (v2.2.0)
- iOS SDK & Analyseur (axeDevToolsXCUI v2.12.0)
- Android SDK (axe-devtools-android v5.5.1)
- Analyseur Android (Axe Accessibility Analyzer v1.8.1)
Comment mettre à jour : SDK iOS, Analyseur iOS, SDK Android, Analyseur Android
Quoi de neuf ?
Appium
- Nouvelles règles : Nous avons ajouté le support de la WCAG 2.2 avec la règle sur l'espacement des cibles tactiles pour iOS et Android. Nous avons également ajouté la règle Éditer la valeur du texte pour Android.
- Plus de prise en charge des types de contrôles dans les règles sur iOS : Nous prenons désormais en charge les contrôles au-delà des boutons pour toutes les règles.
- Service d'utilisation : Si votre équipe utilise le service d'utilisation pour suivre l'utilisation de l'outil Axe DevTools Mobile, les données Appium seront désormais incluses.
iOS
- La version minimum d'iOS supportée a été augmentée à iOS 15.
- Après les avis de dépréciation précédents, la règle des contrôles en collision ne sera plus exécutée en faveur de la règle d'espacement des cibles tactiles qui couvre à la fois les contrôles en collision et la taille des cibles.
Corrections
Android
- Améliorations et perfectionnements pour accroître la précision et réduire les faux positifs dans les règles suivantes : Nom de la vue active, Taille de la cible tactile, Libellé dans le nom et Libellé en tête.
- Amélioration de l'identification et des résultats des règles pour les vues hors écran ou partiellement hors écran.
iOS
- Amélioration de la règle Nom du contrôle actif pour garantir une meilleure expérience d'accessibilité pour vos utilisateurs finaux lors de l'utilisation du contrôle du sélecteur.
- Améliorations et perfectionnements pour accroître la précision et réduire les faux positifs et négatifs dans les règles suivantes : Nom du contrôle actif, Nom de la vue de l'image et Libellé en tête.
Appium
- La règle de la taille de la cible tactile sur Android s'exécutera désormais sur tout élément cliquable, peu importe sa capacité à être focalisé.
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 proposer une solution de contournement identifiée si aucune n'est listée.
- Les tests automatisés d'Axe DevTools Mobile fonctionnent 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 certains résultats des vues web ou des PDF rendus, nous recommandons fortement de tester en utilisant Axe DevTools pour le Web ou Axe Monitor pour un test d'accessibilité web le plus complet possible.
Axe DevTools Mobile pour iOS
Erreur dans le projet Analyseur et Test par ID de bundle en 2.8.1
La fonctionnalité avec test d'une application par identifiant de bundle a été rompue 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 cette erreur. Mettez à jour vers la dernière version au sein du projet Analyseur iOS.
Les vues hors écran peuvent afficher des résultats pour les applications SwiftUI testées sous iOS 17
Avec la version 2.8.0 (Consulter les notes de version), les résultats ne sont plus rapportés pour les vues qui ne sont pas visibles, y compris celles hors écran ou cachées par une autre vue. Nous avons découvert que dans les applications SwiftUI testées sous iOS 17, certains résultats s'affichent encore. (#1383)
La règle de support du type dynamique ne fonctionne pas avec le simulateur iOS 15 Pro
Il y a un problème affectant le simulateur iPhone 15 Pro qui empêche l'exécution de la règle de support du type dynamique. Si vous avez opté pour la règle de support du 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
Tout en examinant une amélioration pour nos règles, nous avons constaté que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arbre d'accessibilité. Un bug a été signalé à Apple. (#1110)
La règle du nom de la vue d'image nécessite une révision des résultats pour les applications UIKit
Dans les applications UIKit, une image sans `accessibilityLabel` n'est pas focalisable par défaut avec la technologie d'assistance.
Les propriétés que nous utilisons chez Apple pour vérifier la focalisation peuvent être inexactes lorsqu'un `accessibilityIdentifier` est défini sur l'image. En raison de ce comportement inattendu, les résultats pour les problèmes de nom de vue d'image dans les applications UIKit seront rapportés comme nécessitant une révision. Un rapport de bug a été déposé auprès d'Apple. (#1633)
Faux positif : Dans la vue de défilement, Libellé dans le nom, Libellé en tête, et Nom de la vue d'image & Nom du contrôle actif v2.11.0
Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure de la publication des correctifs.
In Scroll View
Peut signaler des problèmes 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)
v2.11.0 Image View Name & ActiveControlName
Si un UIImageView a un `accessibilityIdentifier` défini mais n'est pas focalisable par VoiceOver, et qu'il contient des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur l'UIImageView. Supprimer l'`accessibilityIdentifier` résout le problème. Un bug a été signalé à Apple. (#1633)
Label In Name and Label At Front
Ces deux règles recherchent l'étiquette visible d'un contrôle parmi les éléments proches pour aider à déterminer le statut de la règle. Dans certaines hiérarchies d'affichage, le texte proche incorrect peut être détecté, ce qui provoque l'échec de ces règles. (#1622)
Axe DevTools Mobile pour Android
Crash lorsque `minifiedEnabled` est défini sur true
Si vous minimisez votre build, vous verrez un crash avec un journal d'erreurs indiquant qu'un adaptateur n'a pas pu être trouvé lors de la tentative de connexion à la bibliothèque Axe DevTools. Désactivez la minimisation pour vos builds de débogage avec Axe DevTools implémenté. (#729)
Les builds avec r8 activé génèrent une erreur
Un build avec r8 activé peut tenter de minimiser 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)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 à Compose setTestTag API.
Tableau de bord Axe DevTools Mobile
Capture d'écran manquante
Si la capture d'écran est manquante sur la page de détails de l'analyse, il se peut que votre application empêche la prise de captures d'écran. Souvent, cela est pour 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 d'analyse Android qui sont par défaut le titre de l'écran apparaîtront sous forme de nom de classe complet incluant l'identifiant du bundle. Dans une future version, cela sera résolu afin que le titre de l'écran soit formaté dans un nom plus lisible. Comme solution provisoire, vous pouvez définir le nom de l'analyse à partir du tableau de bord ou des frameworks. (#1643)
Axe DevTools Mobile pour Appium
Faux positifs : Nom de la vue active, Espacement de la cible tactile
Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure de la publication des correctifs.
Active View Name
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 propriété labeledBy pour fournir une étiquette à un élément de bouton.
Touch Target Spacing on iOS platform for SwiftUI & React Native apps
Les contrôles plus grands peuvent échouer l'Espacement de la cible tactile lorsqu'ils dépassent les exigences minimales de 24pt x 24pt. (#411)
Faux négatif : Action inaccessible sur Android React Native
Vous pouvez voir des résultats contradictoires pour cette nouvelle règle lors de l'analyse d'applications React Native sur la plateforme Android. Certaines vues auront un élément de bouton imbriqué entraînant un échec pour le bouton parent, mais un succès pour le bouton enfant. (#407)
React Native : Étiquette dans le nom & Étiquette en tête
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Étiquette dans le nom & Étiquette en tête 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 version.
React Native & .NET MAUI : Inspecter la hiérarchie de vue affichant l'écran précédent
Parfois, la propriété Appium page source a besoin de plus de temps pour se mettre à jour entre les analyses. Si cela se produit, vous verrez la hiérarchie de vue de l'écran précédent lorsque vous utilisez la fonction d'inspection sur le tableau de bord. Pour résoudre cela, ajoutez un court délai avant d'appeler l'API de la source de la page pour lancer l'analyse d'accessibilité. Exemple :
await driver.pause(1000);
const result = await driver.getPageSource();
Limitation : Nom de vue d'image pour les images décoratives sur Android
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que la règle Nom de vue d'image ne peut pas tester avec précision pour les critères de réussite des images décoratives sur Android. Les résultats pour les images sans nom accessible s'afficheront comme "À vérifier" dans le tableau de bord pour une analyse plus approfondie.
