Notes de version d'Axe DevTools Mobile du 14 août 2024
14 août 2024
Versions des composants
- iOS SDK (axeDevToolsXCUI v2.12.3)
- Analyseur iOS (axe-devtools-mobile-analyzer v1.2.0)
- SDK Android (axe-devtools-android v5.5.2)
- Analyseur Android (Axe Accessibility Analyzer v1.8.4)
Comment mettre à jour : SDK iOS, Analyseur iOS, SDK Android, Analyseur Android
Quoi de neuf ?
Tableau de bord
Écrans de scan et de détail des problèmes améliorés
Nous avons mis à jour les écrans de scan et de détail des problèmes dans le tableau de bord d'Axe DevTools Mobile pour les rendre plus faciles à utiliser et préparer le terrain pour de futures améliorations. Bien que les écrans aient une apparence différente, les fonctionnalités importantes restent disponibles. Des commentaires ? Faites-le nous savoir en envoyant un e-mail à mobile-feedback@deque.com
iOS
Moteur de règles intégré dans le projet Analyseur
Nous avons supprimé la dépendance sur le Swift Package Manager pour récupérer axeDevToolsXCUI dans le projet Xcode de l'analyseur iOS. La dernière version du cadre XCUI est désormais intégrée dans l'Analyseur pour chaque version. Ce changement facilitera la mise à jour du projet Analyseur et garantira que vous disposez du dernier moteur de règles.
Corrections
Android
- Correction d'un problème où l'application Analyseur se plantait lorsque l'appareil redémarrait sur Android API niveau 34
- Améliorations et perfectionnements pour augmenter la précision et réduire les faux positifs pour les règles de Contraste de Couleur et de Taille de Cible Tactile
- Les données d'utilisation sont désormais disponibles dans Axe Reports
iOS
- Amélioration de notre détection de la visibilité des vues SwiftUI pour l'utilisateur, réduisant ainsi les faux positifs et améliorant la précision pour diverses règles
- Améliorations et perfectionnements pour augmenter la précision et réduire les faux positifs dans les règles suivantes : Action inaccessible, Texte focalisable, Titre d'écran, Nom des éléments imbriqués
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 lorsque cela sera résolu ou d'une solution de contournement identifiée si aucune n'est listée.
- Les tests automatisés d'Axe DevTools Mobile s'exécutent sur des applications iOS natives, Android natives et React Native. Veuillez contacter votre représentant Deque pour des solutions de test d'accessibilité sur votre ensemble technologique.
- Bien que vous puissiez obtenir certains résultats à partir de vues Web ou de PDF rendus, nous recommandons fortement d'utiliser 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 Analyseur et test par ID de paquet dans 2.8.1
Une fonctionnalité de test d'une application par identifiant de paquet était défaillante dans la version 2.8.1, résultant en une erreur intitulée "Pas de chemin d'application cible spécifié via la configuration du 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 projet Analyseur iOS.
Faux positif : LabelInName et LabelAtFront dans SwiftUI & Apps multiplateformes
Certaines écrans peuvent signaler des faux positifs avec LabelInName et LabelAtFront en raison d'une propriété associatedText incorrecte trouvée (#1622)
La règle Supports Dynamic Type 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 Supports Dynamic Type. Si vous êtes inscrit à la règle Supports Dynamic Type, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bug a été soumis à Apple.
Règles contre les contrôles imbriqués
En cherchant à améliorer nos règles, nous avons découvert que dans XCTest, les contrôles imbriqués ne sont pas retournés dans l'arborescence d'accessibilité. Un bug a été soumis à Apple. (#1110)
La règle de nom de ImageView nécessite un examen des résultats pour les applications UIKit
Dans les applications UIKit, une image sans `accessibilityLabel` n'est pas focalisable avec la technologie d'assistance par défaut.
Les propriétés que nous utilisons pour vérifier la focalisation provenant d'Apple 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 d'ImageView dans les applications UIKit seront signalés comme nécessitant un examen. Un rapport de bug a été déposé auprès d'Apple. (#1633)
Faux positif : In Scroll View, Label In Name, Label at Front, et v2.11.0 Image View Name & ActiveControlName
Nous travaillons activement sur les corrections des faux positifs suivants et mettrons à jour cette liste au fur et à mesure que les corrections seront publiées.
In Scroll View
Peut signaler des problèmes pour le texte au sein des éléments se comportant comme des bannières. Pour rendre ces éléments disponibles à 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 rapporter un faux positif sur l'UIImageView. Enlever le `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 une étiquette visible d'un contrôle parmi les éléments à proximité pour aider à déterminer le statut de la règle. Dans certaines hiérarchies de vues, un texte incorrect à proximité peut être détecté, causant l'échec de ces règles. (#1622)
Axe DevTools Mobile pour Android
La capture d'écran s'affiche comme un carré noir dans le tableau de bord
Pour débloquer toutes les fonctionnalités d'Axe DevTools pour Mobile, assurez-vous que les captures d'écran sont activées. Nous vous recommandons d'activer les captures d'écran sur une version de test de votre application qui utilise des données fictives pour éviter les problèmes de sécurité. Consultez notre guide pour activer les captures d'écran dans les applications Android.
Crash lorsque `minifiedEnabled` est réglé sur true
Si vous minifiez votre build, vous verrez un crash avec un log d'erreur indiquant qu'un adaptateur ne peut pas être trouvé lors de la tentative de connexion à la bibliothèque Axe DevTools. Désactivez la minification pour vos versions de débogage avec Axe DevTools implémenté. (#729)
Les builds avec r8 activé provoquent une erreur
Un build avec r8 activé peut tenter de minifier la bibliothèque axeDevTools, entraînant 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.
Message de log :MlKitContext has not been initialized
Si vous rencontrez ce message, certains résultats de règles peuvent ne pas retourner comme prévu lorsque cette règle utilise l'intelligence artificielle. Les règles concernées incluent Contraste des couleurs, Texte focalisable et Nom d'élément imbriqué. (#841)
MAUI : Règle de Nom d'Édition de Texte
En raison des limitations de l'architecture des applications MAUI dans l'écosystème Android, la règle de Nom d'Édition de Texte s'affichera comme Nécessitant une révision dans le tableau de bord lorsqu'un échec est suspecté pour les versions SDK 5.5.0 et ultérieures. Veuillez confirmer le comportement correct manuellement pour ce cas.
Android Natif : Dialogues / Modaux Personnalisés
Lorsque vous implémentez des dialogues ou modaux personnalisés qui n'étendent pas les contrôles natifs, vous pouvez obtenir des résultats pour les vues derrière le modal. Dans ce cas, nous recommandons de ne pas exécuter notre outil contre ces modaux ou dialogues personnalisés et de les vérifier manuellement pour s'assurer qu'ils fonctionnent avec la technologie d'assistance comme souhaité.
Tableau de bord Axe DevTools Mobile
Capture d'écran manquante
Si la capture d'écran est absente de la page de détails du scan, 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 le plein fonctionnement du tableau de bord Axe DevTools Mobile.
Certains noms de scan Android sont non formatés
Certains noms de scan Android qui sont par défaut le titre de l'écran apparaîtront comme le nom de classe complet incluant l'identifiant du bundle. Dans une version future, cela sera résolu afin que le titre de l'écran soit formaté dans un nom plus lisible. En attendant, vous pouvez définir le nom du scan depuis le tableau de bord ou les frameworks. (#1643)
Axe DevTools Mobile pour Appium
Faux positifs : Nom de vue active, Espacement de la cible tactile
Nous travaillons activement à corriger les faux positifs suivants et mettrons à jour cette liste lorsque des correctifs seront publiés.
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 labeledBy propriété pour fournir une étiquette pour 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 l'exigence minimale 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 des 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 une réussite pour le bouton enfant. (#407)
React Native : Étiquette dans le Nom & Étiquette à l'avant
En raison des limitations des informations disponibles via la plateforme Appium, nous avons identifié que les règles Étiquette dans le Nom & Étiquette à l'avant ne peuvent pas s'exécuter pour les applications construites avec React Native. Nous explorons des solutions et nous attendons à une correction lors d'une prochaine version.
React Native & .NET MAUI : Inspection de la hiérarchie des vues affichant l'écran précédent
Parfois, la propriété de source de page Appium nécessite plus de temps pour se mettre à jour entre les scans. Si cela se produit, vous verrez la hiérarchie des vues de l'écran précédent lorsque vous utilisez la fonctionnalité d'inspection sur le tableau de bord. Pour y remédier, ajoutez un petit délai avant d'appeler l'API source de page pour inciter le scan d'accessibilité. Exemple:
await driver.pause(1000);
const result = await driver.getPageSource();
Limitation : Nom de vue d'image pour les images décoratives dans 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 les critères de réussite des images décoratives dans Android. Les résultats pour les images sans nom accessible s'afficheront comme 'Nécessitant une révision' dans le tableau de bord pour une analyse plus approfondie.
