axe DevTools Mobile Notes de version du 13 décembre 2023
13 décembre 2023
Versions des composants
- axeDevToolsXCUI v2.8.2
- axe-devtools-android v5.0.0
Quoi de neuf ?
Android
- Vous pouvez désormais ajouter des balises à vos analyses depuis l'application Mobile Analyzer. Optimisez votre processus en ajoutant des balises avant de scanner, plutôt que d'ajouter des balises après coup à partir du tableau de bord mobile.
- Pour les mises en page Jetpack Compose, nous reconnaîtrons désormais la valeur d'un « onClickLabel » comme description du contenu d'une vue. Cela signifie que les règles nécessitant une description de contenu, telle que le nom de la vue active, n'échoueront pas en l'absence d'une description de contenu si un onClickLabel est présent.
- Changement incompatible - Nous avons supprimé le bouton d'action flottant (FAB) de la bibliothèque Android.
- Si vous utilisez le bouton d'action flottant intégré pour les tests manuels, continuez à utiliser axe-devtools-android version 4.3.0 ou inférieure, ou passez à Mobile Analyzer pour tester votre application sans intégrer de code et avoir accès au jeu de règles le plus récent.
- Si vous utilisez le bouton d'action flottant intégré pour les tests automatisés avec Appium, veuillez continuer à utiliser axe-devtools-android version 4.3.0 ou inférieure. Nous publierons bientôt un plugin Appium, moment auquel vous n'aurez plus besoin d'intégrer le bouton d'action flottant dans votre application pour effectuer des tests avec Appium.
Corrections de bugs
iOS
- Correction d'un problème où Mobile Analyzer plantait lorsqu'il était utilisé avec la version 2.8.1 du framework XCUI.
- Correction de la règle Étiquette dans le nom afin qu'elle ne s'exécute plus sur les vues sans texte visible, telles que les boutons contenant uniquement une icône.
Android
- Correction d'un problème d'accessibilité avec un bouton dans le Mobile Analyzer qui était trop petit.
Tableau de bord
- Corrections d'accessibilité pour le contraste des couleurs, le texte superposé/coupé, une étiquette de groupe de cases à cocher manquante, des boutons avec le même nom mais des actions différentes et des liens avec le même texte mais des destinations différentes.
- Vous pouvez désormais mettre en surbrillance et copier le texte affiché dans la hiérarchie des vues lorsque vous utilisez la fonction Inspecter sur la page des détails de l'analyse.
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)
Erreurs de compilation avec le projet Java8 et axe DevTools Android 3.1.0
Essayez les importations suivantes :
implementation 'androidx.core:core-ktx:1.9.0' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.4' implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4'Après avoir importé la bibliothèque ci-dessus, si vous voyez des erreurs liées à la version minSDK pour la bibliothèque core-ktx, essayez ce qui suit dans le manifeste Android de votre projet :
<uses-sdk tools:overrideLibrary="androidx.core" />
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)
Si vous rencontrez une erreur du type `Expected exactly '1' node but found '2' nodes that satisfy: (isRoot)`, veuillez nous contacter à helpdesk@deque.com ou support.deque.com pour obtenir de l'aide. Dans certaines conditions, deux nœuds racine Compose peuvent exister en même temps.
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)