Notes de version d'Axe DevTools Mobile du 21 janvier 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

21 janvier 2025

Not for use with personal data

Quoi de neuf ?

Score d'accessibilité

Nous avons modifié l'algorithme de calcul du score d'accessibilité pour Axe DevTools Mobile afin de l'aligner avec notre produit web. Le tableau de bord a un nouveau look, n'affichant plus de graphique, de décompte total des problèmes ou de score d'accessibilité. Ce score considérait précédemment chaque problème et sa gravité respective. Désormais, les utilisateurs peuvent obtenir un score pour chaque analyse. Le problème le plus grave sur cet écran détermine le score. La fonction de groupe d'analyses inclut désormais un score d'accessibilité calculé à partir de la moyenne des scores de chacune des analyses incluses dans ce groupe. Vous pouvez toujours cliquer sur les analyses individuelles pour voir tous les problèmes trouvés dans chaque analyse.

Corrections

  • Plusieurs améliorations pour l'accessibilité sur le tableau de bord Axe DevTools Mobile
  • Correction d'un problème avec la mauvaise analyse affichée dans la fonction de groupes d'analyses

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 est résolu ou vous fournir une solution de contournement identifiée si aucune n'est listé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 environnement technologique.
  • Bien que vous puissiez obtenir certains résultats à partir de vues web ou de fichiers PDF rendus, nous recommandons fortement d'utiliser Axe DevTools pour le Web ou Axe Monitor pour les tests d'accessibilité les plus complets pour le web.

iOS

Erreur dans le projet Analyzer & test par identifiant de bundle dans la version 2.8.1

La fonctionnalité de test d'une application par identifiant de bundle était cassée dans la version 2.8.1, ce qui a entraîné une erreur intitulée "Chemin de l'application cible non 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. Mettre à jour vers la dernière version dans le projet Analyzer iOS.

Erreur "Impossible de sérialiser AxeResult" dans le projet Analyzer v1.2.0 & SDK v2.12.3

Analyser certaines applications avec cette version du projet Analyzer et SDK entraînerait une erreur "Impossible de sérialiser AxeResult". Mettez à jour vers la dernière version pour résoudre l'erreur. Mettre à jour vers le dernier projet Analyzer iOS.Mettre à jour vers le dernier SDK iOS.

Faux positif : LabelInName et LabelAtFront dans les applis SwiftUI et 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

Il existe un problème affectant le simulateur iPhone 15 Pro qui empêche 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 avec un simulateur iPhone 15 Pro. Un bug a été signalé à Apple.

Règles contre les contrôles imbriqués

En examinant une amélioration pour nos règles, nous avons découvert 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)

La règle du nom 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 par défaut avec les technologies d'assistance.
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 des problèmes de nom ImageView dans les applications UIKit seront signalés comme nécessitant une révision. Un rapport de bug a été signalé à Apple. (#1633)

Faux positif : Dans la vue déroulante, Label In Name, Label at Front, et le nom de l'image de vue & ActiveControlName v2.11.0

Nous travaillons activement sur des correctifs pour les faux positifs suivants et mettrons à jour cette liste au fur et à mesure des publications de correctifs.

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 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 l'étiquette visible d'un contrôle parmi les éléments à proximité pour aider à déterminer l'état de la règle. Dans certaines hiérarchies de vue, le texte incorrect à proximité peut être détecté, ce qui fait échouer ces règles. (#1622)

Android

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

Sur Android API 30, l'un des emplacements où nous tentons de sauvegarder les résultats localement présente 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 de défilement sur applis hybrides et multiplateformes

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

Application Analyzer : Bouton d'action flottant disparaît

Introduite avec l'API 31 (Android 12), la capacité de masquer les superpositions non système est en place. Afin d'utiliser l'application Axe Analyzer, veuillez vous assurer 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 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) vers setHideOverlayWindows(false) sur les fenêtres d'activité affectées.

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

Pour déverrouiller 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 utilisant 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 défini 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)
    
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 indépendantes de la mise en page pour continuer à recevoir des mises à jour. Si vous continuez à utiliser les API Compose et que vous 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 consulter l'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 apparaître comme prévu lorsque cette règle utilise l'intelligence artificielle. Les règles affectées incluent le Contraste des couleurs, Texte focalisable et Nom de l'élément imbriqué. (#841)

MAUI : Règle du Nom du Texte Modifiable

En raison des limitations de l'architecture des applications MAUI dans l'écosystème Android, la règle du Nom du Texte Modifiable apparaîtra comme "À revoir" dans le tableau de bord lorsqu'une défaillance est suspectée pour les versions SDK 5.5.0 et plus. 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 n'étendant 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 sur ces modaux ou dialogues personnalisés et plutôt de les vérifier manuellement pour s'assurer qu'ils fonctionnent correctement avec la technologie d'assistance comme souhaité.

Tableau de bord Web

Capture d'écran manquante

Si la capture d'écran est manquante de la page de détails de l'analyse, votre application peut empêcher les captures d'écran d'être prises. Souvent, c'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 une fonctionnalité complète 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 comme le 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é dans un nom plus lisible. En attendant, vous pouvez définir le nom de l'analyse depuis le tableau de bord ou les frameworks. (#1643)