Utilisation du connecteur Axe DevTools Linter
Options de ligne de commande, variables d'environnement, informations de configuration et fichier de configuration pour le connecteur Axe DevTools Linter
Le connecteur Axe DevTools Linter (également connu sous le nom de le Connecteur) est un outil en ligne de commande pour Linux, macOS et Windows. Il fournit une interface en ligne de commande pour analyser vos fichiers afin que vous puissiez automatiser votre vérification d'accessibilité. Vous pouvez, par exemple, l'utiliser pour le scripting et le CI/CD (intégration et déploiement continus). Le connecteur doit envoyer vos fichiers à une instance du serveur Axe Linter, que ce soit hébergé par Deque (SaaS) ou par votre organisation (sur site ou en local), ou vous pouvez analyser les fichiers localement sans envoyer le contenu de vos fichiers à un serveur en utilisant l'option --local (voir Analyse Locale ci-dessous).
Cas d'utilisation du Connecteur
Le connecteur Axe DevTools peut
- Vérifier l'accessibilité dans le cadre des builds Jenkins. Pour plus d'informations, voir Utilisation d'Axe DevTools Linter avec Jenkins.
- Analyser vos fichiers et envoyer des informations sur les défauts d'accessibilité à SonarQube. Voir Utilisation d'Axe DevTools Linter avec SonarQube pour savoir comment le configurer.
- Être utilisé dans un script de pré-commit GitHub pour bloquer les commits contenant des erreurs d'accessibilité. Voir Utilisation d'un hook de pré-commit Git avec Axe DevTools Linter.
- Fournir une base pour vérifier votre code à la recherche de défauts d'accessibilité pour des services tels que :
- Bitbucket
- CircleCI
- GitLab
- Azure DevOps Services
Analyse Locale
Le connecteur vous permet d'éviter d'envoyer vos fichiers à un serveur en utilisant l'analyse locale avec l'option --local de ligne de commande.
L'analyse locale contacte toujours les serveurs distants lors de l'utilisation d'une clé API (l'option --api-key ) à ces fins :
- Pour l'authentification
- Pour capturer des informations d'utilisation
Vous pouvez utiliser la variable d'environnement AXE_SERVICE_URL pour spécifier un serveur autre que celui par défaut pour authentifier votre clé API. L'utilisation d'une clé de licence (l'option
) évite toute activité de réseau. --license-key Avantages de l'analyse locale
-
Beaucoup plus rapide que l'utilisation du serveur.
- Beaucoup moins susceptible de rencontrer des problèmes de réseau ou de charge du serveur. Particulièrement efficace pour analyser un grand nombre de fichiers.
- Inconvénients de l'analyse locale
-
Nécessite plus de ressources de la machine locale.
- Les mises à jour du connecteur Axe DevTools Linter nécessitent de télécharger et d'installer une nouvelle version depuis Agora.
- Updates to the Axe DevTools Linter Connector require a new version to be downloaded from Agora and installed.
- Aucun suivi d'utilisation (si vous utilisez une clé de licence au lieu d'une clé API).
Si la machine que vous utilisez dispose d'au moins 2 Go de mémoire, Deque recommande fortement d'utiliser l' --local option. Cela rendra l'analyse beaucoup plus rapide, surtout lorsqu'il s'agit d'un grand nombre de fichiers.
Clés de licence comparées aux clés API
L'analyse locale nécessite soit une clé API, soit une clé de licence. Vous pouvez gérer vos clés API dans le cadre de votre compte Axe (ce qui leur confère une certaine flexibilité). Cependant, vous devez demander une clé de licence auprès du service d'assistance de Deque. L'utilisation de l'analyse locale avec des clés de licence ne suit pas l'utilisation de vos utilisateurs (lignes de code analysées), mais les clés de licence ne nécessitent pas non plus d'authentification à distance.
Options d'installation
Il existe deux options pour installer le connecteur Axe DevTools Linter :
- Configurer un registre npm Agora et utiliser l'infrastructure fournie par NodeJS et npm pour installer, exécuter et mettre à jour le connecteur. Voir Installation du connecteur Axe DevTools Linter en tant que package npm pour plus d'informations.
- L'autre option est de télécharger manuellement le binaire du connecteur pour l'architecture de votre ordinateur et de le préparer à l'utilisation en définissant son bit d'exécution (Linux et macOS) et en supprimant tout attribut de quarantaine étendu (macOS). Voir la page de téléchargements.
Variables d'environnement
Le connecteur reconnaît les variables d'environnement suivantes :
AXE_LINTER_SERVER_URL et AXE_LINTER_SERVER_PORT
AXE_LINTER_SERVER_URL définit l'URL de votre instance de serveur Axe DevTools Linter. (Vous pouvez également définir l'URL du serveur avec les -u ou les --url options de ligne de commande.) AXE_LINTER_SERVER_PORT spécifie le port sur lequel le serveur écoute, généralement le port 3000.
Si aucune variable d'environnement n'est définie, le connecteur utilise par défaut une URL serveur de http://localhost sur le port 3000 (http://localhost:3000).
Il est peu probable que vous ayez besoin de changer le port de sa valeur par défaut de 3000. Si vous utilisez la version SaaS de l'Axe DevTools Linter hébergée par Deque, vous ne devriez pas définir le port.
Voir Configuration de l'Axe DevTools Linter pour plus d'informations sur la configuration de votre serveur, et voir Référence rapide des URL pour l'URL à utiliser avec la version SaaS de l'Axe DevTools Linter. (Vous n'avez pas besoin de spécifier un port lorsque vous utilisez la version SaaS de l'Axe DevTools Linter.)
L'exemple suivant montre comment définir les variables d'environnement pour l'Axe DevTools Linter fonctionnant sur la machine locale sous Linux ou macOS (bien qu'aucune des variables d'environnement ne soit requise ici car ce sont les valeurs par défaut) :
export AXE_LINTER_SERVER_URL=http://localhost
export AXE_LINTER_SERVER_PORT=3000Alternativement, sous Linux et macOS, vous pouvez également définir les variables d'environnement sur la même ligne de commande que la axe-linter-connector commande. L'exemple ci-dessous montre cette utilisation. (Cependant, comme ce sont les valeurs par défaut pour le serveur et le port, vous n'avez pas besoin de les définir.)
AXE_LINTER_SERVER_PORT=3000 AXE_LINTER_SERVER_URL=http://localhost axe-linter-connector -s . -d .AXE_SERVICE_URL
La AXE_SERVICE_URL variable d'environnement vous permet de spécifier un serveur alternatif pour valider votre clé API. Cette variable d'environnement est utile pour les organisations qui utilisent une instance de serveur privée pour la validation des clés API. La valeur par défaut est https://axe.deque.com.
Pour plus d'informations sur l'utilisation de serveurs alternatifs pour la validation des clés API, contactez le service d'assistance de Deque.
Cette variable d'environnement est utilisée uniquement lorsque vous utilisez l' --local option (analyse locale).
DEBUG
La variable d'environnement DEBUG vous permet de consigner des informations détaillées de débogage pour diagnostiquer les échecs de linting. Définissez la variable d'environnement DEBUG sur axe-devtools-linter:* pour activer la journalisation du débogage, comme indiqué ci-dessous :
DEBUG=axe-devtools-linter:* axe-linter-connector -s . -d .Options de ligne de commande
Options de ligne de commande requises
Le connecteur Axe DevTools Linter nécessite les deux options suivantes:
-s, --source répertoire-ou-fichier
Indique un fichier ou un répertoire contenant des fichiers à vérifier pour des erreurs d'accessibilité. Les sous-répertoires sont également recherchés. Pour exclure des fichiers du linting, consultez l'option exclude dans le Fichier de configuration .
-d, --destination répertoire
Le répertoire où le connecteur écrira le rapport d'accessibilité.
-u, --url URL
Spécifie le serveur à utiliser. Le défaut est http://localhost. Pour utiliser le serveur SaaS, spécifiez --url https://axe-linter.deque.com/
Options de ligne de commande facultatives
Plusieurs options peuvent être requises en fonction du serveur auquel vous vous connectez et des autres fonctionnalités ou formats de rapport que vous souhaitez utiliser.
--additional-properties propriété
Ajoute des propriétés supplémentaires aux problèmes dans le rapport d'accessibilité pour les violations trouvées sur les composants mappés sur mesure. La seule valeur actuellement prise en charge est customName. Lorsqu'elle est spécifiée, chaque problème impliquant un composant mappé sur mesure obtient une propriété customName dans le rapport dont la valeur est le nom de balise du composant personnalisé qui a déclenché la violation. Les problèmes provenant de composants qui ne font pas partie d'un mappage personnalisé n'auront pas de propriété customName .
axe-linter-connector -s . -d . --additional-properties customNamePar exemple, si <MyButton> est un composant mappé sur mesure et déclenche une violation button-name , le problème dans le rapport ressemblera à :
{
"engineId": "axe-linter-jsx",
"ruleId": "button-name (https://dequeuniversity.com/rules/axe/4.11/button-name?application=axe-linter)",
"customName": "MyButton",
"severity": "MAJOR",
"type": "BUG",
"primaryLocation": {
"filePath": "/path/to/app.jsx",
"message": "Buttons must have discernible text",
"textRange": {
"startLine": 7,
"endLine": 7,
"startColumn": 12,
"endColumn": 20
}
}
}--api-key clé API
Spécifie la clé API pour autoriser le linting avec l'instance SaaS Axe DevTools Linter ou pour utiliser le linting local. Consultez Obtention d'une clé API SaaS Axe DevTools Linter pour plus d'informations.
--config nom de fichier
Spécifie le nom d'un fichier YAML contenant des informations de configuration. Vous pouvez également utiliser cette option sans nom de fichier, et le connecteur Axe DevTools suivra les étapes de l'ordre de recherche Fichier de configuration pour localiser le fichier de configuration. Pour des informations sur le fichier de configuration, consultez Fichier de configuration.
--filename nom de fichier
Spécifie le nom du rapport SonarQube, par défaut : axe-linter-report.json
--issue-type type
Utilisé pour indiquer le type de problème pour SonarQube, par défaut : BUG, valeurs autorisées : VULNERABILITY, CODE_SMELL, ou BUG
--license-key clé
Spécifie la clé de licence à utiliser pour l'authentification. Contactez le service d'assistance Deque pour plus d'informations sur l'obtention d'une clé de licence. Cette option nécessite également l'option --local .
--local
Active l'analyse locale, qui utilise la machine sur laquelle le connecteur Axe DevTools est exécuté pour analyser vos fichiers au lieu d'envoyer les fichiers à un serveur. Nécessite une clé API (--api-key) ou une clé de licence (--license-key). Voir Analyse Locale.
Si vous utilisez l'option --api-key (l'option recommandée) avec --local, vous devez spécifier le serveur, comme indiqué ci-dessous :
axe-linter-connector -s . -d . --api-key 1234 --local --url https://axe-linter.deque.com/-R, --reporter rapporteur
Spécifie le rapporteur à utiliser, par défaut : sonarqube
--retry-backoff-limit limite de recul
Spécifie le maximum de temps en millisecondes que le connecteur attendra avant de réessayer la connexion au serveur en cas d'erreur. La valeur par défaut est de 30 000 millisecondes (30 secondes).
--retry-count réessais
Spécifie le nombre de fois où la connexion au serveur sera réessayée après avoir rencontré une erreur de connexion. Le connecteur doublera le temps entre les essais (en commençant à 500 millisecondes soit 0,5 seconde) jusqu'à atteindre la limite de recul (spécifiée avec --retry-backoff-limit), et la conservera jusqu'à ce qu'elle atteigne le nombre spécifié de réessais (et échoue) ou se connecte au serveur sans erreur.
--severity niveau
Définit le niveau de gravité pour SonarQube, par défaut : MAJOR, valeurs autorisées : BLOCKER, CRITICAL, MAJOR, MINOR, ou INFO.
Fichier de Configuration
Vous pouvez utiliser un fichier de configuration YAML avec l'option --config .
Ce qui suit montre un exemple de fichier de configuration :
rules:
image-alt: false
exclude:
- meta-refresh.html
tags:
- wcag2aDans l'exemple ci-dessus, la règle image-alt sera ignorée, et le fichier meta-refresh.html ne sera pas analysé. Les règles dans le tag wcag2a seront utilisées, comme spécifié dans la section tags . (Voir Tags pour plus d'informations.)
La valeur exclude permet les valeurs de type glob (*) et globstar (**), donc ce qui suit est autorisé :
exclude:
- tmp/**/*.htmlL'exemple ci-dessus exclut tous les fichiers HTML dans le tmp répertoire et ses sous-répertoires.
Pour plus d'informations sur les options de configuration autorisées, consultez Configuration d'Axe DevTools Linter.
Exemple d'utilisation
Pour utiliser le connecteur avec le serveur SaaS Axe DevTools Linter, vous pouvez utiliser l' --api-key option comme indiqué ci-dessous :
axe-linter-connector -s . -d . --api-key 83cc5831-a35b-4a2d-9c2b-84fd2eec0a4d --url https://axe-linter.deque.com/Pour effectuer tous les lintings localement sur l'ordinateur exécutant Axe DevTools Connector, utilisez l' --local option :
axe-linter-connector -s . -d . --api-key b5a34bba-7b0f-4ccb-9eb2-195ac6c56aee --local --url https://axe-linter.deque.com/Vous devez spécifier l' --url option avec le serveur car, bien que le linting local n'envoie aucun contenu de fichier au serveur, il doit néanmoins suivre l'utilisation et s'authentifier via le serveur.
