Configuration Globale
Cet article décrit comment la configuration globale d'Axe Configuration fonctionne avec Axe Developer Hub
Vue d'ensemble de la Configuration Globale
Le panneau Globale de Axe Configuration offre un moyen centralisé de gérer et de contrôler les paramètres de test d'accessibilité dans toute votre organisation. Cette fonctionnalité puissante permet aux administrateurs d'entreprise d'établir des normes de test cohérentes tout en offrant aux équipes et aux développeurs individuels la flexibilité nécessaire pour travailler efficacement.
Qu'est-ce que la Configuration Globale ?
La configuration globale (l'onglet Globale d'Axe Configuration) est un ensemble de contrôles qui déterminent comment Axe Watcher fonctionne lors des tests d'accessibilité. Ces paramètres incluent :
- Les normes d'accessibilité à tester (telles que WCAG 2.1 AA ou EN 301 549)
- Si nous devons inclure des vérifications de meilleures pratiques
- Si nous devons activer règles expérimentales
- Quelle version de axe-core utiliser pour les tests
Ces paramètres peuvent être gérés au niveau de l'entreprise ainsi qu'au niveau des utilisateurs individuels, créant ainsi un environnement de test flexible mais contrôlé.
Pourquoi utiliser la Configuration Globale ?
La configuration globale résout plusieurs défis courants dans les tests d'accessibilité en entreprise :
- Cohérence : Assurez-vous que toutes les équipes testent selon les mêmes normes d'accessibilité
- Conformité : Imposez des exigences de test spécifiques dans toute votre organisation
- Flexibilité : Permet aux équipes de personnaliser leur approche de test dans des paramètres approuvés
- Gestion des versions : Gérez quelles versions de axe-core peuvent être utilisées à travers les projets
- Assurance qualité : Maintenez des normes de test tout en permettant des optimisations spécifiques à l'équipe
Comment fonctionne la Configuration Globale
Administrateurs
Les administrateurs définissent les paramètres par défaut de l'organisation et déterminent quels paramètres les utilisateurs peuvent modifier via la propriété configurationOverrides (JavaScript/TypeScript) ou la méthode AxeWatcherOptions.setConfgurationOverrides() (Java). Ces paramètres établissent la base des tests Axe Watcher au sein de l'organisation. Ces paramètres sont modifiés dans le panneau Globale de Axe Configuration.
Tous les paramètres du panneau Globale ne s'appliquent pas actuellement à Axe Developer Hub (ou Axe Watcher). Les paramètres qui s'appliquent incluent :
- Norme d'Accessibilité par Défaut
- Version axe-core par Défaut
- Meilleures Pratiques par Défaut
- Règles Expérimentales par Défaut
- Contrôle d'Accès aux Rapports Partagés
Utilisateurs
Les utilisateurs individuels personnalisent Axe Watcher en modifiant ou en ajoutant l'option configurationOverrides dans leur code de configuration de test pour choisir des valeurs différentes de celles configurées par l'administrateur de l'organisation (mais uniquement pour les paramètres où l'administrateur a coché la case Permettre aux utilisateurs de changer).
L'option configurationOverrides interagit avec les paramètres du panneau Globale comme défini dans le tableau en Scénarios Courants de Configuration Globale et de Dérogation des Configurations.
Les références API incluent plus d'informations sur (JavaScript/TypeScript) configurationOverrides ou (Java) ConfigurationsOverrides et ses propriétés.
Scénarios courants de configuration globale et de substitution de configuration
Lorsqu'un test est exécuté, Axe Developer Hub fusionne les paramètres d'entreprise et ceux des utilisateurs pour créer la configuration de test finale. Cela garantit que toutes les personnalisations restent dans les limites approuvées tout en offrant aux utilisateurs la flexibilité nécessaire.
Le tableau suivant illustre des scénarios courants que vous rencontrerez en travaillant avec des configurations globales. Chaque scénario montre comment les paramètres d'entreprise interagissent avec la configuration de votre projet.
| Scénario | Ce que vous souhaitez faire | Configuration globale | Votre code de configuration | Résultat |
|---|---|---|---|---|
| Utilisation de base | Utiliser la norme par défaut | WCAG 2.0 AA (inchangé dans la configuration globale) | Aucune configuration spécifiée | ✅ Les tests sont exécutés en utilisant WCAG 2.0 AA |
| Substitution permise | Utiliser une autre norme autorisée | WCAG 2.0 AA, possibilité d'utiliser 2.1 AA | configurationOverrides: { accessibilityStandard: 'WCAG 2.1 AA'} |
✅ Les tests sont exécutés en utilisant WCAG 2.1 AA |
| Substitution non autorisée | Utiliser une norme non autorisée | WCAG 2.0 AA uniquement | configurationOverrides: { accessibilityStandard: 'WCAG 2.1 AA' } |
❌ Erreur : Norme non autorisée |
| Activer les meilleures pratiques | Inclure les vérifications des meilleures pratiques | Meilleures pratiques autorisées | configurationOverrides: { bestPractices: true } |
✅ Les tests incluent les meilleures pratiques |
| Configuration mixte | Utiliser des règles personnalisées avec la norme | WCAG 2.0 AA (inchangé) | runOptions: { rules: { 'color-contrast': { enabled: false } } } |
⚠️ Fonctionne mais affiche un avertissement |
| Configuration héritée | Utiliser une configuration de style ancien | N'importe laquelle | runOptions: { runOnly: { type: 'tag', values: ['WCAG 2.0 A'] } } |
⚠️ Fonctionne mais affiche un avertissement |
| Combinaison invalide | Mélanger anciennes et nouvelles configurations | N'importe laquelle | Utilisation à la fois de configurationOverrides et de runOptions.runOnly |
❌ Erreur : Impossible d'utiliser les deux |
Utiliser ancestry |
Besoin d'utiliser sélecteurs dynamiques | N'importe laquelle | Utilisation à la fois de configurationOverrides et de runOptions.ancestry = true |
✅ Fonctionne tant que runOptions.runOnly et runOptions.rules ne sont pas définis. |
Comprendre les résultats
- ✅ Succès : La configuration fonctionne comme prévu
- ⚠️ Avertissement : La configuration fonctionne mais n'est pas recommandée
- ❌ Erreur : La configuration échouera
Recommandations
- Toujours préférer
configurationOverridesàrunOptions. - Vérifiez vos paramètres d'entreprise avant de configurer des dérogations.
- N'outrepassez les paramètres que lorsque c'est nécessaire.
- Utilisez la configuration la plus simple qui répond à vos besoins.
Exemple de dérogation de configuration
Voici un exemple de configuration qui démontre des dérogations pour suivre WCAG 2.1 AA, définir axe-core à la version 4.9.1, et permettre règles expérimentales et meilleures pratiques :
const config = {
axe: {
apiKey: 'YOUR_API_KEY',
projectId: 'YOUR_PROJECT_ID',
configurationOverrides: {
accessibilityStandard: 'WCAG 2.1 AA',
axeCoreVersion: '4.9.1',
experimentalRules: true,
bestPractices: true
}
};Voir (JavaScript/TypeScript) ConfigurationOverrides Interface ou (Java) ConfigurationOverrides Classe pour une explication des propriétés.
Erreurs et avertissements
Erreurs
Norme non permise
Si vous essayez d'utiliser une norme qui n'est pas permise, vous recevrez un code de réponse du serveur 422, Contenu non traitable. Message d'exemple :
Error: Server responded to https://axe.deque.com/api-pub/watcher/sessions with status code 422: "error": "Invalid accessibility standard: WCAG 2.0 AA. Allowed options: EN 301 549, Trusted Tester v5"Utilisation de runOptions.runOnly avec configurationOverrides
Si vous utilisez à la fois runOptions.runOnly avec configurationOverrides, vos tests échoueront immédiatement.
Avertissements
Utilisation de runOptions avec runOnly ou rules
Si vous définissez les propriétés runOnly ou rules sur l'objet runOptions, vous recevrez ce message :
This scan was created using runOptions. This may not be aligned with your organization's global configurations.L'utilisation de runOnly ou rules pourrait permettre à votre code d'utiliser des règles d'accessibilité qui ne sont pas autorisées par la configuration globale utilisée par votre organisation.
Si vous utilisez uniquement la propriété ancestry (en définissant sa valeur à true) avec runOptions (sans définir les propriétés rules ou runOnly), vous ne verrez pas cet avertissement.
@axe-core/watcher sans support de configuration globale
Si vous utilisez une version de @axe-core/watcher qui est trop ancienne pour prendre en charge la configuration globale, vous recevrez ce message :
Voir aussi
- Configuration Axe
- (JavaScript/TypeScript) référence
configurationOverrides - (Java)
ConfigurationOverridesClasse

