Notes de version Axe DevTools Mobile du 26 novembre 2025

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

26 novembre 2025

Not for use with personal data

Versions des composants

iOS

  • iOS Appium 2 Driver (axe-appium-xcuitest-driver v2.1.1)
    • (Forké à partir de XCUITest v9.10.4)
  • iOS Appium 3 Driver (axe-appium3-xcuitest-driver v1.0.1)
    • (Forké à partir de XCUITest v10.4.3)

Comment mettre à jour : Pilote Appium iOS

Android

  • Android Appium 2 Driver (axe-appium-uiautomator2-driver v2.1.1)
    • (Forké à partir de UiAutomator2 v4.2.8)
  • Android Appium 3 Driver (axe-appium3-uiautomator2-driver v1.0.1)
    • (Forké à partir de UiAutomator2 v5.0.1)

Comment mettre à jour : Pilote Appium Android

Corrections

Pilotes Appium

  • Améliorations de l'expérience d'intégration au Axe Developer Hub pour regrouper automatiquement tous les scans d'une même session de test en un seul rapport.

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 ainsi vous informer une fois résolu ou vous indiquer une solution de contournement si aucune n'est répertoriée.

important
  • Les tests automatisés d'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 stack technologique.
  • Bien que vous puissiez obtenir certains résultats à partir de vues web ou de PDF rendus, nous recommandons vivement de tester avec Axe DevTools for Web ou Axe Monitor pour le test d'accessibilité le plus complet pour le web.

iOS

Incorrect isVisible propriété de XCTest

Les API d'accessibilité d'Apple peuvent signaler incorrectement du contenu web à l'intérieur de WKWebView comme "isVisible", même lorsque la vue web est couverte par des superpositions natives (comme des vues modales, alertes ou autres éléments UI natifs). Cela se produit parce que le système d'accessibilité vérifie si le conteneur WKWebView lui-même est visible, plutôt que si son contenu web est vraiment non obstrué et perceptible par l'utilisateur.

Bug d'accessibilité iOS 26 avec les steppers

iOS 26 contient un bug d'accessibilité où les boutons stepper par défaut n'annoncent pas "atténué" par la Technologie d'Assistance pour indiquer qu'ils ne sont pas activés. En conséquence, les règles iOS voient également ces boutons comme activés même s'ils ne le sont pas. Un rapport de bug a été déposé auprès d'Apple, mais jusqu'à ce que ce soit résolu, les règles suivantes peuvent signaler des résultats sur les boutons stepper désactivés : AssociatedText, InaccessibleAction, et ColorContrast.

Jusqu'à ce qu'Apple corrige ce bug, la solution sera de [ignorer les règles](ios-ignore-rule). Les boutons stepper par défaut ont les identifiants "Decrement" et "Increment", et peuvent être ignorés par identifiant si nécessaire.

Color Contrast rule does not run when text and background colors are the same

Our Color Contrast rule depends on Machine Learning to detect text, which ensures that the text being scanned is visible to users of your application. In cases where the text contained in a view is the same color as the background, our Machine Learning algorithm is unable to detect if any text is present, so the Color Contrast rule does not run on this view.

Impossible d'exécuter des scans sur des appareils physiques avec iOS Analyzer 1.4.7

Un réglage de configuration dans iOS Analyzer 1.4.7 empêche l'exécution des scans, renvoyant le message "Test Failed". Pour exécuter des scans sur un appareil physique, mettez à jour vers le dernier projet iOS Analyzer.

Erreur dans le projet Analyzer et test par ID de package dans 2.8.1

La fonctionnalité de test d'une application par identifiant de package a été rompue dans la version 2.8.1, ce qui a entraîné une erreur intitulée "No target application path specified via test configuration: ...". 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.

Erreur "Could not Serialize AxeResult" dans le projet Analyzer v1.2.0 et SDK v2.12.3

Scanner certaines applications avec cette version de l'analyseur et du SDK entraînerait une "Could not Serialize AxeResult" erreur. Mettez à jour vers la dernière version pour résoudre l'erreur. Mettez à jour vers le dernier projet iOS Analyzer.Mettez à jour vers le dernier SDK iOS.

Faux positif : LabelInName et LabelAtFront dans les applications SwiftUI & multiplateformes

Certains écrans peuvent signaler de 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

Un problème affecte le simulateur iPhone 15 Pro, empêchant la règle Supports Dynamic Type de s'exécuter. Si vous avez opté pour la règle Supports Dynamic Type, vous ne pourrez pas la tester en utilisant un simulateur pour 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 découvert que dans XCTest, les contrôles imbriqués ne sont pas renvoyés dans l'arbre d'accessibilité. Un bug a été signalé à Apple. (#1110)

La règle ImageView Name nécessite un examen des résultats pour les applications UIKit

Dans les applications UIKit, une image sans un accessibilityLabel n'est pas focalisable par défaut avec les technologies 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 des problèmes d'ImageView Name 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 : Dans Scroll View, Label In Name, Label at Front, et Image View Name & ActiveControlName v2.11.0

Nous travaillons activement à résoudre les faux positifs suivants et mettrons à jour cette liste au fur et à mesure que des correctifs seront publiés.

In Scroll View
Peut signaler des problèmes pour le texte dans les éléments agissant comme des bannières. Pour rendre ces éléments disponibles pour 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 a des contrôles focalisables imbriqués, ActiveControlName peut signaler un faux positif sur le UIImageView. Supprimer 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 l'é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 vue, le texte incorrect à proximité peut être détecté, causant l'échec de ces règles. (#1622)

Android

La règle de Contraste des Couleurs ne fonctionne pas lorsque les couleurs du texte et de l'arrière-plan sont identiques

Notre règle de Contraste des Couleurs dépend de l'apprentissage automatique pour détecter le texte, ce qui garantit que le texte scanné est visible pour les utilisateurs de votre application. Dans les cas où le texte contenu dans une vue est de la même couleur que l'arrière-plan, notre algorithme d'apprentissage automatique ne peut pas détecter si un texte est présent, de sorte que la règle de Contraste des Couleurs ne s'exécute pas sur cette vue.

EditTextName sur Android 7 (SDK 24-25)

Les applications écrites en XML qui utilisent la fonctionnalité de texte d'indication peuvent voir des faux positifs avec la règle EditTextName . Le texte d'indication n'a été introduit qu'avec Android 8 (SDK 26). Utiliser cet élément dans votre application XML attribuera le texte d'indication à la valeur du champ de saisie de texte. Les versions plus récentes d'Android sont mieux équipées pour rendre cette expérience accessible.

Pour surmonter ce problème, notre première recommandation est de lancer vos tests sur des versions plus récentes d'Android. Cependant, si l'accessibilité de l'application sur d'anciennes versions d'Android est importante, vous pourriez envisager d'éviter d'utiliser la fonctionnalité hintText , car elle n'est pas officiellement prise en charge.

Vues cachées Android retournant des résultats

Vous pouvez voir des résultats pour des vues qui sont cachées derrière d'autres vues sur l'écran. Ces vues cachées ne sont pas disponibles pour les technologies d'assistance, mais Axe DevTools Mobile les signale quand même comme des problèmes.

Nous travaillons sur un correctif pour ce problème complexe. En attendant, si TalkBack ne peut pas atteindre ces vues, vous pouvez ignorer les problèmes correspondants. Ils ne nécessitent pas de correctif pour assurer l'accessibilité.

Erreur lors de l'exécution de la détection de texte ML Kit

La détection de texte ML Kit est requise dans de nombreuses règles d'Axe DevTools Mobile pour garantir l'exactitude des résultats. La bibliothèque ML Kit devrait être automatiquement importée lors de la référence d'Axe DevTools Mobile dans vos tests automatisés Espresso ou UIAutomator. Cependant, dans certains cas, l'importation automatique ne se fait pas et vous verrez l'erreur suivante dans le logcat :

Axe DevTools Android: Error while running mlKit Text Detection: MlKitContext has not been initialized.

Pour surmonter ce problème, vous devez importer manuellement la bibliothèque ML Kit dans votre projet. Dans le fichier de votre application build.gradle , ajoutez ce qui suit sous les dépendances :

implementation 'com.google.mlkit:text-recognition:16.0.1'
Espacement des cibles tactiles et Jetpack Compose

La règle d'espacement des cibles tactiles ne fonctionne actuellement sur aucun composant de curseur écrit en Jetpack Compose. Aucune action ne peut être entreprise pour le moment. Cependant, un correctif est bientôt disponible !

Erreur lors de l'enregistrement des résultats localement sur l'API 30

Sur Android API 30, l'un des emplacements où nous tentons d'enregistrer les résultats localement a une erreur de permissions. Le résultat sera toujours enregistré sous forme de fichier JSON malgré l'affichage de cette erreur. L'erreur peut être supprimée en commentant le code dans le bloc suivant :
def clearDirectoryTask = task('clearDirectoryTask', type: Exec, group: 'reporting') {
executable "${android.getAdbExecutable().toString()}"
args 'shell', 'rm', '-r', '/storage/emulated/0/Documents/AxeTestCases'
// finalizedBy {
// fetchAndroidFolderAxeReportsTask
// }
}

Veuillez noter que ce code ne doit être commenté que pour l'API 30 car il entraînera des problèmes lors de l'enregistrement local pour d'autres niveaux d'API.

Détection du défilement sur les applications hybrides et multiplateformes

Dans certaines applications hybrides et multiplateformes, nous pouvons obtenir des résultats inattendus lorsque des éléments dans une vue déroulante sont partiellement hors écran. Pour tester l'accessibilité d'un élément, assurez-vous qu'il est entièrement à l'écran avant d'effectuer l'analyse.

Application 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, veuillez vous assurer que ce paramètre n'est pas activé. Si vous avez choisi de l'utiliser pour ses améliorations de sécurité, nous vous recommandons de le laisser désactivé pour les versions de test internes où vous pouvez utiliser en toute sécurité les 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é affectées.

Capture d'écran manquante (boîte noire) dans le tableau de bord

Pour débloquer toutes les fonctionnalités de 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 test ou de débogage de votre application qui utilise des données simulées 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 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, 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)
ou : No View initialized, did you call AxeDevToolsCompose.setComposeTestRule()?

Les APIs Compose sont obsolètes, veuillez utiliser les APIs agnostiques à la disposition 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 être retournés comme prévu lorsque cette règle utilise l'intelligence artificielle. Les règles concernées incluent le Contraste des Couleurs, le Texte Focusable et le Nom de l'Élément Enfoui. (#841)

MAUI : Règle du Nom de l'Éditeur de Texte

En raison des limitations de l'architecture des applications MAUI s'exécutant dans l'écosystème Android, la règle du Nom de l'Éditeur de Texte apparaîtra comme « À Examiner » dans le tableau de bord lorsqu'une défaillance est suspectée pour la version 5.5.0 du SDK et ultérieure. Veuillez confirmer manuellement le comportement correct 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 pourriez obtenir des résultats pour les vues situées derrière le modal. Dans ce cas, nous vous recommandons de ne pas utiliser notre outil sur ces modaux ou dialogues personnalisés et de vérifier manuellement qu'ils se comportent comme souhaité avec les technologies d'assistance.

Tableau de Bord Web

Capture d'écran manquante

Si la capture d'écran est absente de la page de 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 version de test afin de permettre une pleine fonctionnalité dans le Tableau de Bord Mobile Axe DevTools.

Certains noms d'analyse Android ne sont pas formatés

Certains noms d'analyse Android qui par défaut utilisent le titre de l'écran apparaîtront comme le nom de la classe complète, y compris l'identifiant du bundle. Dans une prochaine version, cela sera résolu pour que le titre de l'écran soit formaté en un nom plus lisible. Comme solution de contournement, vous pouvez définir le nom de l'analyse depuis le tableau de bord ou les frameworks. (#1643)