Notes de version d'Axe DevTools Mobile du 20 février 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

20 février 2025

Not for use with personal data

Versions des composants

  • iOS SDK (axeDevToolsXCUI v2.14.0)
  • iOS Analyzer (axe-devtools-mobile-analyzer v1.4.8)
  • iOS Appium Driver (axe-appium-xcuitest-driver v1.2.0)

Comment mettre à jour : iOS SDK, iOS Analyzer, iOS Appium Driver

Quoi de neuf ?

iOS Appium Driver

La fonctionnalité des règles d'ignorance est maintenant disponible pour le pilote iOS Appium ! Référez-vous à notre Documentation des règles d'ignorance pour Appium pour plus d'informations sur la mise en œuvre. Pour en savoir plus sur la manière d'ignorer les règles lors de vos analyses d'accessibilité, consultez notre Documentation de configuration d'Appium.

iOS SDK

Nous avons rendu les messages de journalisation réseau plus descriptifs. Auparavant, tous les journaux de succès comprenaient uniquement le message 200 OK. Désormais, vous verrez des messages plus descriptifs, tels que DEQUE LOG: 200 OK - User verified. Successfully logged in., imprimés dans la console.

Correctifs iOS

  • Améliorations de la précision des règles suivantes : Contraste des couleurs, Texte associé, Étiquette dans le nom, et Étiquette à l'avant

Problèmes connus

Si vous rencontrez un des problèmes ci-dessous, veuillez nous contacter à helpdesk@deque.com ou support.deque.com. Nous pourrons ainsi vous informer dès qu'il est résolu ou qu'une solution de contournement a été identifiée si aucune n'est listée.

important
  • 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é adaptées à votre technologie.
  • Bien que vous puissiez obtenir certains résultats à partir de vues Web ou de PDF rendus, nous recommandons vivement de tester en utilisant Axe DevTools for Web ou Axe Monitor pour des tests d'accessibilité web les plus complets.

iOS

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

Un paramètre de configuration dans l'iOS Analyzer 1.4.7 empêche l'exécution des analyses, renvoyant le message "Test Failed". Pour exécuter des analyses sur un appareil physique, mettez à jour vers la dernière version du projet iOS Analyzer.

Erreur dans le projet Analyzer et test par ID de bundle dans 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 "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 "Impossible de sérialiser 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 erreur "Impossible de sérialiser AxeResult". Mettez à jour vers la dernière version pour résoudre l'erreur. Mettez à jour vers la dernière version du projet iOS Analyzer.Mettez à jour vers la dernière version du SDK iOS.

Faux positif : LabelInName et LabelAtFront dans SwiftUI et applications multiplateformes

Certaines écrans peuvent signaler des faux positifs avec LabelInName et LabelAtFront en raison d'une propriété associatedText incorrecte trouvée (#1622)

Règle de prise en charge du type dynamique non fonctionnelle avec le simulateur iOS 15 Pro

Il y a un problème affectant le simulateur iPhone 15 Pro qui empêche la règle de prise en charge du type dynamique de s'exécuter. Si vous êtes inscrit à la règle de prise en charge du type dynamique, vous ne pourrez pas la tester en utilisant un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.

Règles contre les contrôles imbriqués

En cherchant à améliorer nos règles, nous avons trouvé 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)

Règle du nom d'ImageView nécessite une révision 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 focalisabilité depuis 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 une révision. Un rapport de bug a été envoyé à Apple. (#1633)

Faux positif : dans la vue défilante, Label In Name, Label à l'avant, et v2.11.0 Image View Name & ActiveControlName

Nous travaillons activement sur des 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 d'é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 a des contrôles focalisables imbriqués en son sein, ActiveControlName peut signaler un faux positif sur l'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 le label 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, un texte incorrect à proximité peut être détecté, ce qui entraîne l'échec de ces règles. (#1622)

Android

Espacement de la cible tactile et Jetpack Compose

La règle sur l'espacement de la cible tactile n'est actuellement pas appliquée aux composants de curseur écrits en Jetpack Compose. Aucune action ne peut être entreprise pour le moment. Cependant, une solution sera bientôt disponible !

Erreur lors de la sauvegarde des résultats localement sur API 30

Sur Android API 30, l'un des emplacements où nous essayons de sauvegarder les résultats localement rencontre une erreur de permissions. Le résultat sera tout de même 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
//    }
}

Please note that this code should only be commented out for API 30 as it will cause problems when saving locally for other API levels.

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 de défilement sont partiellement hors écran. Pour tester un élément en termes d'accessibilité, assurez-vous qu'il est complètement à l'écran avant de procéder au scan.

Analyzer App : le bouton flottant disparaît

Introduite avec l'API 31 (Android 12) est la capacité 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 fonctionnalité pour ses améliorations de sécurité, nous recommandons de la désactiver pour les builds de test internes où vous pouvez utiliser des données de test en toute sécurité et éliminer ainsi les problèmes 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 les appels à la méthode setHideOverlayWindows(true) vers setHideOverlayWindows(false) sur les fenêtres d'activité concernées.

Capture d'écran manquante (boîte noire) 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 recommandons d'activer les captures d'écran sur une version de débogage ou de test de votre application qui utilise des données fictives afin d'éviter les problèmes de sécurité. Consultez notre guide pour activer les captures d'écran dans les applications Android.

Crash lorsque `minifiedEnabled` est défini sur true

Si vous minifiez votre build, vous verrez un crash avec un journal d'erreur signalant 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 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 API Compose sont obsolètes, veuillez utiliser les API agnostiques de disposition pour continuer à recevoir des mises à jour. Si vous continuez à utiliser les API 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 à API Compose setTestTag.

Message de journal :MlKitContext has not been initialized

Si vous rencontrez ce message, certains résultats de règles peuvent ne pas revenir 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 de texte modifiable

En raison des limitations de l'architecture des applications MAUI dans l'écosystème Android, la règle de nom de texte modifiable s'affichera comme nécessitant un examen dans le tableau de bord lorsqu'une défaillance est suspectée pour la version SDK 5.5.0 et plus. Veuillez confirmer le bon comportement manuellement pour ce cas.

Android natif : boîtes de dialogue / modales personnalisées

Lorsque vous implémentez des boîtes de dialogue ou modales personnalisées qui n'étendent pas les contrôles natifs, vous pouvez obtenir des résultats pour les vues situées derrière le modale. Dans ce cas, nous recommandons de ne pas exécuter notre outil sur ces modales ou dialogues personnalisés et plutôt de les vérifier manuellement pour s'assurer qu'ils se comportent correctement avec les technologies d'assistance souhaitées.

Tableau de bord Web

Capture d'écran manquante

Si la capture d'écran est manquante dans la page de détails du scan, votre application peut empêcher 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 la pleine fonctionnalité du tableau de bord mobile Axe DevTools.

Certains noms de scan Android ne sont pas formatés

Certains noms de scan Android par défaut au titre de l'écran apparaîtront sous forme de nom de classe complet incluant l'identifiant de bundle. Dans une future version, cela sera résolu afin que le titre de l'écran soit formaté de manière plus lisible. En guise de solution temporaire, vous pouvez définir le nom du scan depuis le tableau de bord ou les frameworks. (#1643)