axe DevTools Mobile Notes de version du 30 août 2023

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

30 août 2023

Not for use with personal data

Versions des composants

  • axeDevToolsXCUI v2.7.0
  • axe-devtools-android v4.1.0
  • axe DevTools Reporter CLI v4.7.0

Quoi de neuf ?

WCAG 2.2 est actuellement au statut de recommandation proposée. Les résultats de la règle WCAG 2.2, « Espacement des cibles tactiles », seront marqués comme expérimentaux jusqu'à ce que WCAG 2.2 atteigne le statut de recommandation. Cela signifie que les résultats de cette règle apparaîtront désormais dans vos décomptes de résultats d'échec, de réussite et de révision nécessaire sous l'intitulé Expérimental. (Cette règle apparaissait auparavant dans le décompte des éléments ignorés.) Vous pouvez également désactiver les règles expérimentales, si vous préférez. En savoir plus sur expérimentales règles.

Android

  • Vous pouvez désormais ignorer les règles dans vos tests d'interface utilisateur automatisés (Espresso ou UI Automator) à l'aide du nom de ressource d'ID de vue. Utilisez cette option pour ignorer les règles lors de la transmission dans le registre d'instrumentation.

iOS

Reporter CLI

  • Vous pouvez désormais enregistrer des rapports au format CSV et JUnit XML en plus du format HTML. En savoir plus sur axe DevTools Reporter CLI.

Corrections de bugs

iOS

  • Précision des résultats améliorée lorsque les contrôles sont désactivés.
  • Mise à jour de la règle « Contraste des couleurs » pour garantir qu'elle ne s'exécute pas sur des vues grisées derrière une fenêtre modale.
  • Combinaison des appels de mise à jour du nom d'analyse et de la balise en une seule requête réseau pour améliorer les performances.

Android

  • Les tests UI Automator attendront désormais la fin de la mise à jour de la fenêtre avant de procéder à l'analyse pour éviter de capturer une capture d'écran obsolète.
  • Correction d'un faux positif dans la règle « Modifier le nom du texte » pour Compose. Cette règle ne signalera plus d’échec lorsqu’un champ de texte Compose contient une étiquette.
  • Correction de la règle « Modifier la valeur du texte » pour qu'elle s'applique à tous les éléments Compose TextField.
  • Correction d'un problème de calcul avec la règle « Espacement des cibles tactiles ».

Tableau de bord

  • Résolution d'un problème de la dernière version qui entraînait une modification de l'ordre des problèmes dans les analyses.

Mises à jour

Rappel : à compter du 16 août 2023, nous avons cessé de publier des mises à jour du framework UIKit pour les tests automatisés sur les applications iOS. Nous continuerons à proposer ce framework dans un avenir prévisible, mais nous n'effectuerons plus de corrections de bugs ni de mises à jour. Nous vous encourageons à passer au framework XCUI qui sera mis à jour avec de nouvelles règles et améliorations à l'avenir. Si vous utilisez actuellement le framework UIKit pour les tests unitaires ou d'interface utilisateur automatisés et que vous souhaitez bénéficier d'une assistance pour la transition vers le framework XCUI, veuillez nous le faire savoir. Soumettez une demande à support.deque.com ou envoyez un e-mail à helpdesk@deque.com.

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.

important
  • Les tests automatisés axe DevTools Mobile s'exécutent sur les applications natives iOS, natif Android et React Native. Veuillez contacter votre représentant Deque pour des solutions de test d'accessibilité sur votre pile technologique.
  • Pour vous aider à obtenir des résultats précis et des conseils de correction applicables, les règles axe DevTools Mobile ne s'exécutent pas dans les vues Web ou les PDF rendus. Pour tester le contenu HTML, veuillez utiliser axe DevTools pour le Web. axe Monitor prend en charge la numérisation des PDF pour l'accessibilité.

axe DevTools Mobile pour iOS

axeDevToolsUIKit.xcframework

Les vues créées avec SwiftUI ne peuvent pas être testées à l'aide de ce framework pour les tests automatisés.

Utilisez le framework axeDevToolsXCUI dans UITesting pour les vues SwiftUI.

La prise en charge des règles personnalisées n'est disponible que dans Swift

L'API de règle personnalisée n'est pas ouverte à Objective-C.

Faux positifs : DansScrollView, SupportsTypeDynamique, Vues en Collision

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.

InScrollView
InScrollView 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.

SupportsDynamicType
Vous pouvez voir des faux positifs dans les scénarios suivants :

  • Si vous utilisez la UIContentSizeCategoryDidChange notification, le framework peut signaler à tort que le texte ne répond pas à Dynamic Type dans UITests.
  • Si vous utilisez NotificationCenter.default.addObserver(forName:.., object:.., queue:.., using:..) pour répondre à la UIContentSizeCategoryDidChange notification.
  • Si vous utilisez traitCollectionDidChange sur la vue parent ou le contrôleur de vue d'un texte pour répondre à Dynamic Type.
Vues en conflit
Lorsqu'une sous-vue déroulante contient du texte et que cette sous-vue ne s'étend pas jusqu'au bord des limites de l'écran, vous verrez des erreurs pour le texte situé dans les limites de la vue.

axeDevToolsXCUI.xcframework

Picker SwiftUI et Picker UIKit

Les vues Picker dans SwiftUI et UIKit peuvent entraîner le blocage du framework sur les simulateurs ou les appareils. (#636)

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. (#1178)

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. (#1188) 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

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)