Analyse Automatique

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

Identifiez automatiquement les problèmes d'accessibilité pendant que vos tests d'interface existants interagissent avec votre application

Not for use with personal data

Aperçu

L'Analyse Automatique identifie automatiquement les problèmes d'accessibilité pendant que vos tests Espresso ou UIAutomator existants interagissent avec votre application, sans avoir besoin d'ajouter des appels de scan individuels ou de modifications à vos tests. L'Analyse Automatique surveille les changements d'écran et analyse chaque écran unique automatiquement.

tip

Si vous avez besoin d'un contrôle plus précis dans vos tests, consultez Tests Ciblés.

Comment ça fonctionne

Notre plugin Gradle remplacera votre runner d'instrumentation JUnit par notre runner personnalisé. Cela nous permet d'observer votre suite de tests et de traiter vos résultats au moment approprié. Obtenez le plugin Gradle AxeDevToolsMobile. Lorsque le test est terminé, Auto Scan traite vos résultats et enregistre un résultat JSON pour chaque écran ainsi qu'un rapport HTML autonome dans AxeDevToolsMobileResults, et télécharge éventuellement les résultats sur Developer Hub.

Commencer

  1. Quelques valeurs doivent être définies pour configurer et authentifier les utilisateurs. Nous recommandons d'ajouter celles-ci comme variables d'environnement sur votre ordinateur et sur vos pipelines CI/CD pour garder vos clés sécurisées.

    Groovy (build.gradle) :

    axeDevTools {
        axeMobileApiKey = ''
        axeAutoScanMode = true
        axeProjectId = ''
    }

    Kotlin DSL (build.gradle.kts) :

    axeDevTools {
        axeMobileApiKey = ""
        axeAutoScanMode = true
        axeProjectId = ""
    }
  2. Si vous utilisez nos outils et préférez obtenir les résultats en mode hors ligne, vous définirez une valeur pour le axeOfflineLicenseKey à la place de axeMobileApiKey et axeProjectId.

    Groovy (build.gradle) :

    axeDevTools {
        axeOfflineLicenseKey = ''
        axeAutoScanMode = true
    }

    Kotlin DSL (build.gradle.kts) :

    axeDevTools {
        axeOfflineLicenseKey = ""
        axeAutoScanMode = true
    }

Interprétation des Résultats

Résumé de la Console

Une fois la suite de tests terminée, vous pouvez voir un post-traitement dans vos journaux Gradle, suivi d'un résumé.

HTML rule report written to: /Users/user/Documents/workspace/android/project-name/app/build/reports/AxeDevToolsMobileResults/AxeDevToolsMobile_1773882427726.html
---- Axe DevTools Mobile Accessibility Summary ----
Scan 1:
  Screen: Home Page
  Issues: 6
  Issues by rule:
    - TouchSizeWcag: 3
    - LabelAtFront: 1
    - LabelInName: 1
    - FocusableText: 1
    
Scan 35:
  Screen: Wikipedia Alpha
  Issues: 5
  Issues by rule:
    - LabelAtFront: 1
    - LabelInName: 1
    - TouchTargetSpacing: 1
    - TouchSizeWcag: 1
    - ColorContrast: 1
    
Total Scans: 35
❌ Total Issues: 123
---------------------------------------------------

Fichiers de Sortie

Auto Scan génère un rapport HTML autonome avec des captures d'écran, des données de hiérarchie de vue et des informations détaillées sur les problèmes. Les résultats JSON individuels sont enregistrés dans le répertoire axe-test-data. Tous les fichiers sont enregistrés dans le répertoire app/build/reports/AxeDevToolsMobileResults.

Fichier Format
AxeDevToolsReport.html Rapport HTML interactif avec problèmes par écran, détails des éléments, niveaux d'impact
<timestamp>-axe-node-hierarchy.json Résultat JSON individuel - 1 pour chaque analyse effectuée
note

Si vous préférez enregistrer vos résultats dans un répertoire spécifique, vous pouvez l'indiquer dans le bloc de configuration du plugin de votre fichier build.gradle.

axeDevTools {
    axeMobileApiKey = "AXE_API_KEY"
    axeProjectId = "DEVHUB_PROJECT_ID"
    axeAutoScanMode = true
    axeHtmlReportPath = 
        "User/Desktop/reports/AxeDevToolsMobileResults"
    axeAccountUrl = "https://axe.deque.com"

Support d'Analyse Automatique

Règles

Auto Scan exécute l'ensemble de règles complet d'Axe à l'exception de ScreenOrientation et de toutes les règles expérimentales (par ex. NestedActiveControl, NestedElementName, InaccessibleAction). Trouvez des informations détaillées sur ce que nous vérifions dans le Vue d'ensemble des règles pour Android.

Centre de développement

Auto Scan télécharge automatiquement vos résultats sur Axe Developer Hub. Si vous souhaitez uniquement enregistrer les résultats localement, réglez axeUploadResults sur false.

Référence de configuration

Propriétés

Propriété Type Requis Détails
axeAutoScanMode Booléen Requis Par défaut sur false. Doit être réglé sur true pour activer l'analyse automatique.
axeMobileApiKey Chaîne Requis* Une clé API Axe DevTools Mobile de axe.deque.com est requis si axeUploadResults=true
axeOfflineLicenseKey Chaîne Requis* Requis uniquement pour mode hors ligne, lorsque axeUploadResults=false
axeUploadResults Booléen Optionnel Par défaut sur true. Régler sur false uniquement pour les résultats locaux.
axeProjectId Chaîne Optionnel Un ID de projet de Developer Hub est requis si axeUploadResults=true
axeServerUrl (Obsolète) Chaîne Optionnel URL de backend personnalisé (par ex. axe.company.com), uniquement pour sur site/nuage privé
axeAccountUrl Chaîne Optionnel URL de backend personnalisé (par ex. axe.company.com), uniquement pour sur site/nuage privé
axeHtmlReportPath Chaîne Optionnel Répertoire de sortie configurable par l'utilisateur pour le rapport HTML et le résumé. Par défaut sur build/reports/AxeDevToolsMobileResults
axeOfflineLicenseKey Chaîne Optionnel Requis uniquement pour mode hors ligne, lorsque axeUploadResults=false

* Remarque : Vous devez définir soit le axeMobileApiKey soit le axeOfflineLicenseKey dans votre configuration. La clé API est requise sauf en mode hors ligne. La clé de licence hors ligne est requise uniquement pour le mode hors ligne.

Meilleures Pratiques

Désactiver les Animations

Obtenez les résultats les plus précis et complets avec Auto Scan en désactivant l'animation. Cela garantira que les écrans sont entièrement rendus lorsqu'ils sont capturés. Si les animations ne sont pas désactivées, vous pouvez remarquer :

  • Des numérisations en double que vous pensez avoir dû être éliminées
  • Des numérisations avec des captures d'écran montrant un état transitoire
  • Un taux de capture d'écran significativement inférieur à ce que vous pourriez attendre

Dépannage

Si vous ne voyez pas apparaître de numérisations dans Developer Hub, vous devriez vérifier vos journaux pour trouver des indices de ce qui pourrait mal fonctionner ou passer en revue cette liste de vérification.

  • Vérifiez que axeAutoScanMode=true dans votre bloc de configuration axeDevTools
  • Vérifiez que vous avez pu obtenir notre dépendance depuis Maven Central
  • Assurez-vous d'utiliser la bonne variable pour votre clé API/licence et ID de projet
  • Vérifiez la taille de vos fichiers de sortie. Le téléversement vers Developer Hub échoue si la taille d'un fichier de résultat dépasse 20 Mo, bien que tous les résultats soient toujours enregistrés localement et affichés dans le rapport HTML local.

Et ensuite ?

Vous pouvez consulter vos résultats dans Axe Developer Hub. Apprenez comment intégrer Axe DevTools Mobile dans votre pipeline CI/CD. Utilisez-vous une plateforme de test basée sur le cloud ? Vous pouvez toujours utiliser Axe DevTools Mobile pour rechercher des problèmes d'accessibilité : Intégrer avec des plateformes cloud.