Référence de l'API Playwright pour Axe DevTools pour le Web
Référence pour les API du package @axe-devtools/playwright
Constructeur
Dans la configuration standard, le seul argument requis à passer au constructeur est l'instance Playwright. Si vous souhaitez utiliser une version différente de axe-core que celle incluse par défaut ou un ensemble de règles personnalisé, vous pouvez également passer ces options au constructeur.
Vous ne pouvez pas sélectionner une version non standard d'axe-core et un ensemble de règles personnalisé simultanément.
Constructeur Axe DevTools Playwright :
AxeDevToolsBuilder({ page: PlaywrightPage, source: string, rulesetId: AxeDevtoolsRulesetID})Vous devez passer une instance de PlaywrightPage en tant que premier argument. Le deuxième argument peut être soit un identifiant de jeu de règles soit un objet axe. Si vous ne fournissez pas de deuxième argument, vous devez configurer le fichier de configuration des règles personnalisées de @axe-devtools/script-builder, sinon le constructeur lèvera une exception. Doit être appelé avec le mot-clé new.
// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder({ page, rulesetId: '508' });
// or with a specific axe instance
const { source } = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder({ page, source });Règles Personnalisées
Pour des informations sur l'utilisation des règles personnalisées avec Axe DevTools, lisez le guide sur la génération et l'intégration de jeux de règles personnalisés dans le guide CLI
analyze
AxeDevToolsBuilder.analyze(): Promise<axe.Results | Error>Réalise une analyse et transmet l'objet résultant ainsi que toutes les erreurs.
new AxeDevToolsBuilder({ page })
.analyze()
.then(results => {
console.log(results);
})
.catch(e => {
// Do something with error
});analyzeUniversal
AxeDevToolsBuilder.analyzeUniversal(): Promise<UniversalExport>Effectue une analyse et renvoie les résultats dans le Axe Universal Format. La méthode existante analyze() reste inchangée.
new AxeDevToolsBuilder({ page })
.analyzeUniversal()
.then(results => {
console.log(results);
})
.catch(e => {
// Do something with error
});Options de Chaînage
Deux options existent pour déterminer la portée de vos analyses Axe DevTools. Vous pouvez choisir d'inclure ou d'exclure des portées CSS spécifiques. Les méthodes de chaîne ci-dessous rendent cela possible. Ces méthodes peuvent être enchaînées pour créer des analyses complexes et ciblées.
inclure
AxeDevToolsBuilder.include(selector: String | String[])Ajoute un sélecteur CSS à la liste des éléments à inclure dans l'analyse. Les éléments en dehors du périmètre passé à .include() ne seront pas analysés.
new AxeDevToolsBuilder({ page }).include('<CSS-Selector>');exclure
AxeDevToolsBuilder.exclude(selector: String | String[])Ajoutez un sélecteur CSS à la liste des éléments à exclure de l'analyse. Seuls les éléments en dehors du périmètre passé à .exclude() seront analysés.
Ces méthodes peuvent être enchaînées pour affiner davantage la portée de l'analyse.
new AxeDevToolsBuilder({ page }).exclude('<CSS-Selector>');Dans cet exemple, tous les éléments à l'intérieur de <CSS-Selector> seraient analysés, sauf pour les éléments à l'intérieur de <Inner-CSS-Selector> :
new AxeDevToolsBuilder({ page }).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');Configuration des Règles
Ces options modifient la configuration des règles pour l'ensemble de règles choisi. Ces options remplacent la configuration standard des règles et modifieront vos résultats. Des appels supplémentaires avec ces méthodes écraseront les appels précédents.
withRules
AxeDevToolsBuilder.withRules(rules: String|Array)Limite l'analyse uniquement à ceux ayant les identifiants de règle spécifiés. Accepte une chaîne contenant un seul identifiant de règle ou un tableau de plusieurs identifiants de règle.
//with a single rule ID
AxeDevToolsBuilder({ page }).withRules('html-lang');
//with an array of rule IDs
AxeDevToolsBuilder({ page }).withRules(['html-lang', 'image-alt']);withTags
AxeDevToolsBuilder.withTags(tags: String|Array)Limite l'analyse uniquement aux règles étiquetées avec l'étiquette fournie. Accepte une étiquette unique ou un tableau d'étiquettes.
//with a single tag
AxeDevToolsBuilder({ page }).withTags('wcag2a');
//with an array of tags
AxeDevToolsBuilder({ page }).withTags(['wcag2a', 'wcag2aa']);disableRules
AxeDevToolsBuilder.disableRules(rules: String|Array)Ignore la vérification des règles fournies. Accepte une chaîne représentant un seul ID de règle ou un tableau de plusieurs IDs de règles. Les appels suivants à AxeDevToolsBuilder.options(), AxeDevToolsBuilder.disableRules() remplaceront les options spécifiées.
new AxeDevToolsBuilder({ page }).disableRules('color-contrast');Options axe-core
Ces options accèdent à la configuration sous-jacente d'axe-core. Pour plus d'informations sur ces options, voir le documentation axe-core.
configuration
AxeDevToolsBuilder.configure(config: axe.Spec): AxeDevToolsBuilderDéfinit la configuration pour axe-core. Cette valeur est transmise directement à axe.configure().
options
AxeDevToolsBuilder.options(runOptions: axe.RunOptions): AxeDevToolsBuilderOptions à passer directement à axe.run(). Consultez le documentation axe-core pour l'utilisation. Remplacera toute autre option configurée, y compris les appels à AxeDevToolsBuilder.withRules() et AxeDevToolsBuilder.withTags().
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 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 rapporté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({ page }).enableTracking(true)définirUrlSuivi
Cette méthode permet aux utilisateurs de changer l'endroit où les données de mesures d'utilisation sont envoyées.
.setTrackingUrl(url: string)AxeDevToolsBuilder({ page }).setTrackingUrl('https://foobar.biz')définirIdDistinct
Cette méthode permet aux utilisateurs de changer quel ID distinct est stocké ou utilisé.
.setDistinctId(distinctId: string)AxeDevToolsBuilder({ page }).setDistinctId('foobar')