Utilisation avancée de l'API avec Ruby
Utilisation avancée d'Axe DevTools pour le Web avec Ruby, y compris les règles personnalisées, les options de rapport et le service d'utilisation
Ce document aborde les règles personnalisées, les options de rapport et le service d'utilisation avec Ruby.
Règles personnalisées
Vous pouvez spécifier des règles axe personnalisées dans un fichier JSON.
Si vous n'avez pas encore de règles personnalisées et souhaitez commencer avec un ensemble de règles vide, créez un fichier axe-ruleset.json dans le répertoire local avec un objet JavaScript vide, par exemple : {}.
Configurer les règles personnalisées via une variable d'environnement
La configuration par défaut attend que l'emplacement du fichier des règles personnalisées soit config/axe-ruleset.json, relatif au répertoire de travail actuel.
Vous pouvez remplacer cet emplacement avec la variable d'environnement AXE_RULESET_PATH ou manuellement via la configuration Axe DevTools.
Définissez la variable d'environnement AXE_RULESET_PATH pour changer l'emplacement de votre axe-ruleset.json :
AXE_RULESET_PATH=/path/to/your/axe-ruleset.jsonConfiguration des règles personnalisées via la configuration Axe DevTools
Un objet de configuration est disponible pour définir un emplacement de règle personnalisée en utilisant la méthode AxeDevTools.configure si vous ne souhaitez pas travailler avec la variable d'environnement AXE_RULESET_PATH.
Tous les paramètres ci-dessous sont facultatifs. Vous pouvez omettre l'invocation de AxeDevTools.configure pour utiliser les valeurs par défaut d'origine.
AxeDevTools.configure do |config|
# path to json configuration providing custom rules and checks
# set defaults to "config/axe-ruleset.json"
config.axe_ruleset_path = "config/axe-ruleset.json"
# Configure user pre-defined standard rule sets. Custom
# rules override these rule sets. See https://github.com/dequelabs/axe-core/blob/develop/doc/rule-descriptions.md
config.rule_set_id = '508'
endOptions de rapport
Configuration des options de rapport avec la configuration Axe DevTools
Les gems axe-devtools-* permettent d'enregistrer les résultats des tests. Utilisez l'invocation AxeDevTools.Configure pour configurer une configuration globale pour les rapports :
AxeDevTools.configure do |config|
config.output_directory: 'my-results',
config.test_machine: 'my-server',
config.test_suite_name: 'Accessibility Tests For Application',
config.user_agent: 'Headless Chrome'
end
expect(page).to be_audited_for_accessibility.logging_results({
ui_state: 'Landing Page Load',
})La configuration des rapports peut prendre les propriétés suivantes :
| Attribut | Valeur par défaut | Description |
|---|---|---|
| ui_state (Obligatoire) | Attribut à passer dans l'objet options. |
|
| output_directory (Optionnel) | axe-reports |
Nom du répertoire dans lequel les rapports doivent être générés. |
| test_machine (Optionnel) | Valeur pour indiquer où le test est exécuté. Par ex., CircleCI, TesterMachine01 |
|
| test_suite_name (Optionnel) | axe-a11yCheck |
Nom de la suite pour les tests. Par ex., My Module Test Suite |
| user_agent (Optionnel) | null | Passez un agent utilisateur cible. Par ex., chrome. |
| verbose (Optionnel) | false | drapeau pour activer/désactiver la journalisation détaillée de la trace de pile et des messages. |
Notez également que toutes les options ci-dessus pour AxeDevTools.configure peuvent être passées lors de la configuration du WebDriver de votre choix. Par exemple :
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.axe_config_path = 'config/my-ruleset.json'
endVoir aussi
- Télécharger les résultats d'accessibilité JSON vers Axe Reports décrit comment télécharger vos résultats vers Axe Reports.
- Obtenir une clé API pour Axe Reports explique comment obtenir une clé API pour commencer à utiliser Axe Reports.
- Création et filtrage des rapports montre comment vous pouvez créer des rapports d'accessibilité en CSV, XML ou HTML à partir de vos résultats d'accessibilité JSON. Vous pouvez également filtrer votre sortie par gravité à l'aide de cet outil.
- Comment les résultats JSON sont stockés sur le disque décrit les conventions de nommage des fichiers pour les résultats d'accessibilité JSON.
- Utiliser la CLI pour envoyer des résultats d'accessibilité à Axe Developer Hub montre comment vous pouvez télécharger vos fichiers de résultats
.jsonvers Axe Developer Hub.
Service d'utilisation
Vous pouvez obtenir un aperçu des tendances d'utilisation d'Axe DevTools au sein de votre organisation avec le service d'utilisation.
Par défaut, le service d'utilisation est activé, et l'URL de suivi est https://usage.deque.com.
Dans l'API Ruby, utilisez la propriété de configuration enableTracking décrite ci-dessous pour désactiver le suivi d'utilisation, plutôt que la variable d'environnement AXE_TRACK_USAGE. Si vos événements d'utilisation n'atteignent pas Deque, définissez explicitement l'URL de suivi avec setTrackingUrl.
Configuration des options du service d'utilisation avec la configuration AxeDevTools
Les gems axe-devtools-* permettent de configurer le service d'utilisation via une configuration globale :
AxeDevTools.configure do |config|
config.setTrackingUrl: 'https://usage.deque.com',
endLes propriétés spécifiques de configuration du service d'utilisation sont :
| Attribut | Valeur par défaut | Description |
|---|---|---|
| enableTracking | true | Option pour activer le suivi de l'utilisation. |
| setTrackingUrl | https://usage.deque.com |
Option de remplacer l'URL de suivi. |
De plus, notez que toutes les options ci-dessus pour AxeDevTools.configure peuvent également être transmises lors de la configuration du WebDriver de votre choix. Par exemple, pour Capybara :
require 'axe-devtools-capybara'
AxeCapybara.configure do |config|
config.enableTracking = false
endConfigurer les options du service d'utilisation avec des variables d'environnement
En outre, les options du service d'utilisation peuvent être configurées via des variables d'environnement.
| 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 |
