Notes de version Axe DevTools Mobile du 28 octobre 2024
28 octobre 2024
Versions des composants
- SDK iOS (axeDevToolsXCUI v2.12.6)
- Analyseur iOS (axe-devtools-mobile-analyzer v1.4.4)
- Driver Appium iOS (axe-appium-xcuitest-driver v1.0.1)
Comment mettre à jour : SDK iOS, Analyseur iOS, Driver Appium iOS
Corrections
- La commande
appium driver axexcuitest open-wdafonctionne désormais correctement pour aider avec configuration d'appareil réel pour le driver Appium XCUITest - Correction d'un problème entraînant le non-fonctionnement correct de Supports Dynamic Type sur iOS 18
- Améliorations de toutes les règles pour réduire le nombre de résultats envoyés à Besoin de Révision
- Optimisation des propriétés de Contraste des couleurs pour améliorer la précision
- Amélioration de la détection hors écran pour les éléments SwiftUI
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 sera résolu ou d'une solution de contournement identifiée si aucune n'est listée.
- Les tests automatisés Axe DevTools Mobile fonctionnent sur les applications iOS natives, 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 à partir des vues Web ou des PDF rendus, nous recommandons fortement d'utiliser Axe DevTools pour le Web ou Axe Monitor pour obtenir les tests d'accessibilité les plus complets pour le Web.
iOS
Erreur dans le projet Analyzer & Test par identifiant de bundle en 2.8.1
La fonctionnalité de 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 "Aucun 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 iOS Analyzer.
Faux positif : LabelInName et LabelAtFront dans SwiftUI & Applications multiplateformes
Certaines écrans peuvent signaler des faux positifs avec LabelInName et LabelAtFront en raison d'une propriété associatedText incorrecte (#1622)
Règle Supports Dynamic Type ne fonctionne pas avec le simulateur iOS 15 Pro
Un problème affecte le simulateur iPhone 15 Pro et empêche la règle Supports Dynamic Type de fonctionner. Si vous êtes inscrit à la règle Supports Dynamic Type, vous ne pourrez pas la tester avec 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)
Résultats à réviser pour la règle ImageView Name 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 pour vérifier la focalisation 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 ImageView Name dans les applications UIKit seront signalés comme Besoin de Révision. Un rapport de bug a été envoyé à Apple. (#1633)
Faux positif : Dans la vue défilante, étiquette dans le nom, étiquette au début, et nom de vue d'image v2.11.0 & ActiveControlName
Nous travaillons activement sur les correctifs pour les faux positifs suivants et mettrons à jour cette liste à mesure que les correctifs seront publiés.
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 & Active Control Name
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 le 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 le libellé visible d'un contrôle parmi les éléments voisins pour aider à déterminer le statut de la règle. Dans certaines hiérarchies de vues, le texte incorrect voisin peut être détecté, causant l'échec de ces règles. (#1622)
Android
Appli Analyzer : le bouton d'action flottant disparaît
Introduite avec l'API 31 (Android 12), la possibilité de masquer les superpositions non système. Pour utiliser l'application Axe Analyzer, assurez-vous que ce paramètre n'est pas activé. Si vous avez choisi d'utiliser cette fonction pour ses améliorations de sécurité, nous recommandons de la désactiver pour les versions de test internes où vous pouvez utiliser en toute sécurité des données de test et éliminer ainsi les préoccupations de sécurité. Note: this setting does not affect Google's accessibility scanner app as it's considered a system overlay.
Pour utiliser l'application Axe Accessibility Analyzer, mettez à jour tous les appels à la méthode setHideOverlayWindows(true) à setHideOverlayWindows(false) sur les fenêtres d'activité concernées.
Capture d'écran manquante (boîte noire) sur 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 recommandons d'activer les captures d'écran sur une version de débogage ou de test de votre application qui utilise des données simulées afin d'éviter les préoccupations de sécurité. Consultez notre guide pour activation des 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 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 minification 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 minifier la bibliothèque axeDevTools, résultant en 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()?
Les APIs de Compose sont obsolètes, veuillez utiliser les APIs indépendantes de la mise en page pour continuer à recevoir des mises à jour. Si vous continuez à utiliser les APIs Compose et 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 journal :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 affecté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 sera indiquée comme nécessitant une révision dans le tableau de bord lorsqu'un échec est suspecté pour la version SDK 5.5.0 et suivantes. Veuillez confirmer manuellement le comportement correct pour ce cas.
Android natif : Dialogues/cadres modaux personnalisés
Lorsqu'un vous implémentez des dialogues ou cadres 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 plutôt de les vérifier manuellement pour assurer qu'ils se comportent avec la technologie d'assistance comme souhaité.
Tableau de bord Web
Capture d'écran manquante
Si la capture d'écran manque sur la page de détails d'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 un plein fonctionnement dans le tableau de bord mobile Axe DevTools.
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, y compris l'identifiant du bundle. Dans une future version, cela sera résolu afin que le titre de l'écran soit formaté en un nom plus lisible. En tant que solution temporaire, vous pouvez définir le nom d'analyse depuis le tableau de bord ou les frameworks. (#1643)
