Référence API WebdriverIO pour Axe DevTools pour le Web
Référence pour les API du package @axe-devtools/webdriverio
Constructeur
Dans la configuration standard, le seul argument requis pour le constructeur de WebdriverIO est l'instance WebdriverIO. Si vous souhaitez utiliser une version différente de axe-core que celle initialement incluse ou un jeu de règles personnalisé, vous pouvez passer ces options dans le constructeur.
Vous ne pouvez pas sélectionner une version non standard de axe-core et un ensemble de règles personnalisé.
AxeDevToolsWebdriverIO(options: Options)L'interface Options est un objet qui contient les propriétés suivantes :
client(obligatoire) : Un client WebdriverIOaxeSource(optionnel) : une chaîne de code source axe-corerulesetID(optionnel) : un ID de jeu de règles ('wcag2', 'wcag2.1', 'wcag2.2', 'wcag2aaa', 'wcag2.1aaa', 'wcag2.2aaa', '508', 'en301549', 'rgaav4', 'ttv5')
Vous ne pouvez pas fournir à la fois axeSource et rulesetID. Les deux sont mutuellement exclusifs.
Définir la version axe-core
Par défaut, @axe-devtools/webdriverio utilisera la dernière version disponible de axe-core. Pour configurer une autre version de axe-core, utilisez l'option axeSource. Toutes les versions de axe-core peuvent être récupérées depuis npm ou via unpkg en visitant http://unpkg.com/axe-core@<version>/axe.js (remplacez <version> par le numéro de version). Toutes les versions de axe-core à partir de 2.1.0 sont prises en charge.
Voici un exemple d'initialisation de Axe DevTools WebdriverIO avec axe-core 2.3.0 à partir d'un fichier situé dans le répertoire parent du fichier de test.
const axeSource = require('../axe-core-3.5.0').source;
const axeDevTools = new AxeDevToolsWebdriverIO({ client, axeSource });Méthode analyze
Cette méthode exécute l'analyse et finalement renvoie les résultats du scan d'accessibilité.
analyze(client: webdriverio.Client): Promise<axe.AxeResults>Effectuez une analyse en utilisant la configuration par défaut sur le client donné. Un Promise est retourné, qui se résout avec l'ensemble de résultats retournés par axe-core.
Règles personnalisées
Pour des informations sur l'utilisation de règles personnalisées avec Axe DevTools, lisez le guide sur la génération et l'intégration d'ensembles de règles personnalisées dans le guide CLI.
Méthode analyzeUniversal
Effectue une analyse et retourne les résultats dans le Axe Universal. La méthode analyze() existante reste inchangée.
analyzeUniversal(): Promise<UniversalExport>Options de chaîne
Plusieurs options existent pour définir la portée de vos analyses Axe DevTools. Vous pouvez inclure ou exclure des sélecteurs CSS spécifiques et/ou ignorer les iframes. Les méthodes de chaîne (ci-dessous) sur le constructeur rendent cela possible.
disableFrame
AxeDevToolsWebdriverIO.disableFrame(selector: string): AxeDevToolsWebdriverIODésactive l'injection de axe-core dans les cadres correspondant au sélecteur CSS donné. Cette méthode peut être appelée un nombre quelconque de fois.
include
AxeDevToolsWebdriverIO.include(selector: string): AxeDevToolsWebdriverIOSélecteur à inclure dans l'analyse. Cela peut être appelé un nombre quelconque de fois.
exclude
AxeDevToolsWebdriverIO.exclude(selector: string): AxeDevToolsWebdriverIOSélecteur à exclure de l'analyse. Cela peut être appelé un nombre quelconque de fois.
Configuration des règles
Ces options modifient la configuration des règles pour le jeu de règles choisi. Ces options remplacent la configuration standard des règles et modifieront vos résultats. Des appels supplémentaires de ces méthodes remplaceront les appels précédents.
withRules
AxeDevToolsWebdriverIO.withRules(rules: RuleID[]): AxeDevToolsWebdriverIOLimitez l'analyse aux seules règles spécifiées. Ne peut pas être utilisé avec AxeDevToolsWebdriverIO.withTags().
withTags
AxeDevToolsWebdriverIO.withTags(tags: axe.TagValue[]): AxeDevToolsWebdriverIOLimitez l'analyse aux seuls tags spécifiés. Ne peut pas être utilisé avec AxeDevToolsWebdriverIO.withRules().
disableRules
AxeDevToolsWebdriverIO.disableRules(rules: RuleID[]): AxeDevToolsWebdriverIODéfinissez la liste des règles à ignorer lors de l'exécution d'une analyse.
Options de axe-core
Ces options accèdent à la configuration axe-core sous-jacente. Pour plus d'informations sur ces options, consultez le documentation de axe-core.
configurer
AxeDevToolsWebdriverIO.configure(config: axe.Spec): AxeDevToolsWebdriverIODéfinissez la configuration pour axe-core. Cette valeur est transmise directement à axe.configure().
options
AxeDevToolsWebdriverIO.options(runOptions: axe.RunOptions): AxeDevToolsWebdriverIOLe runOptions à transmettre directement à axe.run(). Voir le documentation de axe-core pour utilisation. Remplacera toutes les autres options configurées, y compris les appels à AxeDevToolsWebdriverIO.withRules() et AxeDevToolsWebdriverIO.withTags().
Service d'utilisation
Le service d'utilisation vous permet d'obtenir un aperçu des tendances d'utilisation d'Axe DevTools au sein de votre organisation.
Par défaut, le service d'utilisation est activé, et l'URL par défaut est https://usage.deque.com. Définissez la variable d'environnement AXE_TRACK_USAGE sur false pour le désactiver.
Variables d'environnement
Ces variables d'environnement vous permettent de configurer le service d'utilisation et de modifier les propriétés des événements signalés.
| Nom | Type | Peut remplacer | Description |
|---|---|---|---|
AXE_DISTINCT_ID |
Chaîne de caractères | — | Un identifiant UUID qui reste le même pour l'utilisateur connecté (sauf s'il est régénéré). En Ruby, cette variable est nommée DEQUE_DISTINCT_ID. |
AXE_INCLUDE_TEST_RESULTS |
Booléen | — | Définir sur true pour inclure les résultats complets de axe-core dans l'objet testResults de chaque événement (la valeur par défaut est false). Pris en charge uniquement par la CLI et les API Node.js. |
AXE_METRICS_URL |
Chaîne de caractères | — | L'URL du point de terminaison de l'utilisation REST (la valeur par défaut est https://usage.deque.com) |
AXE_TRACK_USAGE |
Booléen | — | Définir sur false pour désactiver le rapport de service d'utilisation. Le rapport est activé par défaut. |
AXE_APPLICATION |
Chaîne de caractères | faux | L'application qui a été utilisée pour vérifier les erreurs d'accessibilité |
AXE_DEV_INSTANCE |
Booléen | vrai | Indique si cet événement provient d'actions d'un développeur logiciel. Utile pour marquer et supprimer ensuite les événements enregistrés pendant le développement ou les tests. |
AXE_DEPARTMENT |
Chaîne de caractères | vrai | Le département de l'utilisateur au sein de l'organisation |
AXE_KEYCLOAK_ID |
Chaîne de caractères | faux | L'ID Keycloak de l'utilisateur |
AXE_LOGGED_IN |
Booléen | faux | Enregistre si l'utilisateur est connecté à l'application en test |
AXE_ORGANIZATION |
Chaîne de caractères | vrai | L'organisation de l'utilisateur. Pour que votre utilisation apparaisse dans Axe Reports, définissez ceci sur l'ID de votre organisation (contactez Deque pour l'obtenir). |
AXE_SESSION_ID |
Chaîne de caractères | faux | Un UUID identifiant la session de l'utilisateur |
AXE_USER_ID |
Chaîne de caractères | faux | L'identité d'un utilisateur spécifique, telle qu'une adresse e-mail, un nom ou un identifiant de connexion. Axe Reports compte les utilisateurs uniques à partir de cette valeur. |
AXE_USER_JOB_ROLE |
Chaîne de caractères | faux | Le rôle professionnel de l'utilisateur |
AXE_USER_STATUS |
Chaîne de caractères | faux | Informations de statut que vous souhaitez associer à l'utilisateur |
activerSuivi
Cette méthode permet aux utilisateurs d'accepter ou de refuser l'envoi de données au service d'utilisation. L'envoi est activé par défaut.
.enableTracking(state: boolean): AxeDevToolsWebdriverIOdéfinirUrlSuivi
Cette méthode permet aux utilisateurs de changer l'endroit où les données des métriques d'utilisation sont envoyées
.setTrackingUrl(url: string): AxeDevToolsWebdriverIOdéfinirIdDistinct
Cette méthode permet aux utilisateurs de changer l'id distinct stocké/utilisé
.setDistinctId(distinctId: string): AxeDevToolsWebdriverIO