Référence de l'API WebDriverJS pour Axe DevTools pour le Web
Référence pour les API dans le package @axe-devtools/webdriverjs
Constructeur
Dans la configuration standard, le seul argument requis à passer au constructeur d'Axe DevTools est l'instance de WebDriverJS. Si vous souhaitez utiliser une version différente d'axe-core que celle initialement incluse ou un jeu de règles personnalisé, vous pouvez passer ces options au constructeur.
Vous ne pouvez pas sélectionner une version non standard de axe-core et un ensemble de règles personnalisé.
Constructeur Axe DevTools WebDriverJS :
AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))Vous devez passer une instance de Selenium WebDriver comme premier argument. Le second argument optionnel peut être soit un ID d'ensemble de règles, soit un objet axe. Si vous ne fournissez pas de second argument, vous devez configurer le fichier de configuration des règles personnalisées de @axe-devtools/script-builder, ou le constructeur lancera une exception.
Ces exemples montrent comment utiliser le constructeur :
// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder(driver, '508');
// or with a specific axe instance
const axe = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder(driver, axe);Règles personnalisées
Pour obtenir des informations sur l'utilisation des règles personnalisées avec Axe DevTools pour le Web, lisez le guide sur la génération et l'intégration des ensembles de règles personnalisées dans le guide CLI.
analyser
La méthode analyze() exécute l'analyse et retourne les résultats du scan d'accessibilité.
analyze(): Promise<axe.AxeResults>Exécutez 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 d'accessibilité retourné par axe-core.
analyserUniversel
La méthode analyzeUniversal() exécute l'analyse et retourne les résultats dans le Axe Universal Format. La méthode analyze() existante reste inchangée.
analyzeUniversal(): Promise<UniversalExport>Options de Chaînage
Deux options existent pour définir le périmètre de vos analyses Axe DevTools. Vous pouvez choisir d'inclure ou d'exclure des étendues CSS spécifiques. Les méthodes de chaînage (ci-dessous) sur le constructeur rendent cela possible.
inclure
new AxeDevToolsBuilder(driver).include('<CSS-Selector>');Ajoute un sélecteur CSS à la liste des éléments à inclure dans l'analyse. Les éléments en dehors de la portée passée à include() ne seront pas scannés.
exclure
new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');Ajoutez un sélecteur CSS à la liste des éléments à exclure de l'analyse. Seuls les éléments en dehors de la portée passée à exclude() seront scannés.
Ces méthodes peuvent être chaînées pour affiner davantage le périmètre de l'analyse, comme montré ci-dessous :
new AxeDevToolsBuilder(driver).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');Dans cet exemple, tous les éléments à l'intérieur de <CSS-Selector> seraient scannés, excepté pour les éléments à l'intérieur de <Inner-CSS-Selector>.
Configuration des Règles
Les méthodes de configuration des règles remplacent la configuration standard des règles. Les appels supplémentaires avec ces méthodes remplaceront les appels précédents.
avecRègles
La méthode withRules() limite l'analyse uniquement à ces règles avec les IDs de règles spécifiés. Elle accepte une chaîne pour un seul ID de règle ou un tableau de plusieurs IDs de règles.
Ces exemples montrent l'utilisation de withRules avec un seul ID de règle et un tableau d'IDs de règles :
//with a single rule ID
AxeDevToolsBuilder(driver).withRules('html-lang');
//with an array of rule IDs
AxeDevToolsBuilder(driver).withRules(['html-lang', 'image-alt']);avecTags
La méthode withTags() limite l'analyse uniquement aux règles associées à l'étiquette fournie. Accepte une seule étiquette ou un tableau d'étiquettes, comme indiqué ci-dessous :
//with a single tag
AxeDevToolsBuilder(driver).withTags('wcag2a');
//with an array of tags
AxeDevToolsBuilder(driver).withTags(['wcag2a', 'wcag2aa']);désactiverRègles
AxeDevToolsBuilder.disableRules(rules: RuleID[]): AxeDevToolsBuilderLa méthode disableRules() entraîne le saut de l'exécution des règles fournies lors de l'analyse.
options axe-core
options
.options(options: Axe.RunOptions)La méthode options spécifie les options à utiliser par axe.run. Elle remplacera toutes les autres options configurées, y compris les appels à withRules et withTags. Voir le documentation de l'API axe-core pour plus d'informations.
new AxeDevToolsBuilder(page).options({
checks: { 'valid-lang': ['orcish'] }
});configurer
.configure(config: Axe.Spec)La méthode configure injecte un objet de configuration axe pour modifier l'ensemble des règles avant une analyse. Les appels suivants à cette méthode invalideront les précédents en appelant axe.configure() et en remplaçant l'objet de configuration. Voir documentation de l'API axe-core pour la structure de l'objet.
L'exemple suivant crée une nouvelle configuration axe-core et l'envoie à Axe DevTools pour être utilisée lors de la numérisation :
const config = {
checks: [Object],
rules: [Object]
};
const results = await new AxeDevToolsBuilder(page).configure(config).analyze();Service d'utilisation
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 à 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 de choisir d'envoyer ou non des données au service d'utilisation. L'envoi est activé par défaut.
.enableTracking(state: boolean)AxeDevToolsBuilder(driver).enableTracking(true)définirUrlSuivi
Cette méthode permet aux utilisateurs de changer où les données des métriques d'utilisation sont envoyées.
.setTrackingUrl(url: string)AxeDevToolsBuilder(driver).setTrackingUrl('https://foobar.biz')définirIdDistinct
Cette méthode permet aux utilisateurs de changer l'ID distinct qui est stocké ou utilisé.
.setDistinctId(distinctId: string)AxeDevToolsBuilder(driver).setDistinctId('foobar')