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 d'axe-core et un jeu de règles personnalisé.
Constructeur Axe DevTools WebDriverJS :
AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))Vous devez passer une instance de Selenium WebDriver en tant que premier argument. Le deuxième argument optionnel peut être soit un ID de jeu de règles, soit un axe objet. Si vous ne fournissez pas de second argument, vous devez configurer le fichier de configuration de règles personnalisées @axe-devtools/script-builder, sinon le constructeur lèvera 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 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 jeux de règles personnalisés dans le guide CLI.
analyser
La méthode analyze() effectue l'analyse et renvoie les résultats du scan d'accessibilité.
analyze(): Promise<axe.AxeResults>Effectuez une analyse en utilisant la configuration par défaut sur le client donné. Un Promise est retourné, lequel se résout avec l'ensemble de résultats d'accessibilité retournés par axe-core.
analyserUniversel
La méthode analyzeUniversal() effectue l'analyse et renvoie les résultats au format Axe Universal Format. La méthode existante analyze() 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 l'étendue 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 l'étendue 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, sauf 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 aux règles avec les identifiants de règles spécifiés. Elle accepte une chaîne pour un seul identifiant de règle ou un tableau de plusieurs identifiants de règles.
Ces exemples montrent l'utilisation de withRules avec un seul identifiant de règle et un tableau d'identifiants 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. Elle accepte une seule étiquette ou un tableau d'étiquettes, comme montré 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() méthode fait en sorte que le tableau de règles fourni soit ignoré lors de l'exécution d'une analyse.
options axe-core
options
.options(options: Axe.RunOptions)La options méthode spécifie les options à utiliser par axe.run. Elle remplacera toutes les autres options configurées, y compris les appels à withRules et withTags. Voir la documentation de l'API axe-core pour plus d'informations.
new AxeDevToolsBuilder(page).options({
checks: { 'valid-lang': ['orcish'] }
});configurer
.configure(config: Axe.Spec)La configure méthode injecte un objet de configuration axe pour modifier l'ensemble de règles avant une analyse. Les appels ultérieurs à cette méthode invalideront les précédents en appelant axe.configure() et en remplaçant l'objet de configuration. Voir la 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 désactivé et l'URL par défaut est https://usage.deque.com.
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é) |
AXE_METRICS_URL |
Chaîne de caractères | — | L'URL du point d'accès REST pour l'utilisation |
AXE_TRACK_USAGE |
Booléen | — | Active le rapport de service d'utilisation (par défaut est false) |
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 |
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é spécifique de l'utilisateur, comme le nom ou l'ID de connexion |
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 des données au service d'utilisation.
.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')