Référence de l'API C#

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard
Not for use with personal data

Classes C# d'axe DevTools

Cette page documente les classes qui composent axe DevTools C#

class Deque.AxeDevtools.Selenium.AxeSelenium

L'interface à axe. Contient des configurations pour modifier la façon dont axe fonctionne ainsi que la possibilité d'exécuter axe.

Champ statique Type Description
defaultAxeSource string La chaîne axe-core par défaut qui sera utilisée.

AxeSelenium(OpenQA.Selenium.Remote.RemoteWebDriver, ReportConfiguration?, chaîne)

Créez un nouvel objet AxeSelenium pour une page avec une configuration spécifique.

Param Description
webdriver Objet Selenium de la page à tester. Doit être prêt à être testé.
reportConfiguration Configuration de diverses informations spécifiques au rapport. Par défaut à ReportConfiguration.GetDefault()
axeSource source axe-core à utiliser. Par défaut à AxeSelenium.defaultAxeSource

ReportResultsAnalyser()

Exécutez axe sur la page.

Renvoie : Le rapport de l'exécution de axe-core sur la page.

var report = new AxeSelenium(driver).Analyze();

AxeSelenium Configurer(Spec)

Configurer axe Fait via axe.configure

Param Description
spec Objet Spec à passer.

Renvoie : Cet objet pour le chaînage.

var spec = new Spec.Spec {
    Checks = new Spec.Check[] {
        new Spec.Check() {
            Id = "dylang",
            Options = (object) new string[] { "dylan" },
            Evaluate = @"function (node, options) {
              var lang = (node.getAttribute('lang') || '').trim().toLowerCase();
              var xmlLang = (node.getAttribute('xml:lang') || '').trim().toLowerCase();
              var invalid = [];
              (options || []).forEach(function(cc) {
                cc = cc.toLowerCase();
                if (lang && (lang === cc || lang.indexOf(cc.toLowerCase() + '-') === 0)) {
                  lang = null;
                }
                if (xmlLang && (xmlLang === cc || xmlLang.indexOf(cc.toLowerCase() + '-') === 0)) {
                  xmlLang = null;
                }
              });
              if (xmlLang) {
                invalid.push('xml:lang='' + xmlLang + ''');
              }
              if (lang) {
                invalid.push('lang='' + lang + ''');
              }
              if (invalid.length) {
                this.data(invalid);
                return true;
              }
              return false;
            }"
        }
    },
    Rules = new Spec.Rule[] {
        new Spec.Rule() {
            Id = "dylang",
            Selector = "html",
            Tags = new string[] { "wcag2aa" },
            All = new string[0],
            Any = new string[0],
            None = new string[] { "dylang" }
        }
    }
};
var report = new AxeSelenium(driver)
  .Configure(spec)
  .Analyze()

AxeSeleniumDisablingRules(string[])

Désactiver certaines règles lors de l'exécution d'axe.

Param Description
règles Liste des identifiants des règles.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .DisablingRules("html-has-lang", "label")
  .Analyze()

AxeSeleniumExcluant(string[])

Spécifiez la partie de la page à exclure lors de l'exécution d'axe.

Param Description
selector Liste de sélecteurs CSS pour les éléments.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .Excluding(".third-party-ad", ".iframe1")
  .Analyze()

AxeSeleniumIncluant(string[])

Spécifiez la partie de la page sur laquelle exécuter axe.

Param Description
selector Liste de sélecteurs CSS pour les éléments.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .Including(".sidebar", ".some-class")
  .Analyze()

AxeSelenium RunOptions(RunOptions)

Spécifiez RunOptions à transmettre à axe lors de l'appel axe.run.

Param Description
options Objet à passer

Renvoie : Cet objet pour le chaînage.

var options = new RunOptions.RunOptions {
  IFrames = false,
  RunOnly = RunOptions.RunOnly.Tags(RunOptions.TagType.Wcag2a)
};
var report = new AxeSelenium(driver)
  .RunOptions(options)
  .Analyze()

AxeSeleniumWithConfigFile(string)

Définissez où trouver un fichier de configuration. Le chemin par défaut est config/axe-ruleset.json ou $AXE_RULESET_PATH.

Param Description
chemin Chemin vers le fichier de configuration.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .WithConfigFile("path/to/file.json")
  .Analyze();

AxeSeleniumWithRules(string[])

Spécifiez les règles (par identifiant) à utiliser lors de l'exécution d'axe.

Param Description
règles Liste des identifiants des règles.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .WithRules("document-title", "label")
  .WithRules("html-has-lang")
  .Analyze()

AxeSeleniumWithRuleset(string, bool)

Utilisez un ensemble de règles spécifiques (c'est-à-dire wcag2.1, 508).

Param Description
rulesetId Id du jeu de règles à utiliser.
enableBestPractices Si on doit activer ou non les règles balisées best-practice. Par défaut à false

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .WithRuleset("508", true)
  .Analyze()

AxeSelenium WithTags(TagType[])

Spécifiez les règles (par étiquette) à utiliser lors de l'exécution d'axe.

Param Description
tags Liste des tags de règles.

Renvoie : Cet objet pour le chaînage.

var report = new AxeSelenium(driver)
  .WithTags(RunTagType.BestPractice)
  .Analyze()

Variables d'environnement

Cette méthode permet aux utilisateurs de modifier des valeurs spécifiques du service d'utilisation via des variables d'environnement

Variable d'environnement Type
AXE_IS_LOGGED_IN Booléen
AXE_KEYCLOAK_ID Chaîne
AXE_USER_ID Chaîne
AXE_SESSION_ID Chaîne
AXE_STATUT_UTILISATEUR Chaîne
AXE_RÔLE_PROFESSIONNEL_UTILISATEUR Chaîne
AXE_DISTINCT_ID Chaîne
AXE_IS_DEV_INSTANCE Booléen
AXE_ORGANISATION Chaîne
AXE_APPLICATION Chaîne
AXE_METRICS_URL Chaîne
AXE_TRACK_USAGE Booléen

AxeSeleniumEnableTracking(bool)

Acceptez ou refusez l'envoi de données au service d'utilisation.

Paramètre Description
état Si le suivi est activé

Renvoie : Cet objet pour le chaînage.

AxeSeleniumSetTrackingUrl(string)

Définissez où les données des mesures d’utilisation sont envoyées. Par défaut à https://usage.deque.com

Param Description
url URL où il sera envoyé

Renvoie : Cet objet pour le chaînage.

AxeSeleniumSetDistinctId(string)

Définissez un identifiant distinct utilisé lors de l’envoi de métriques d’utilisation.

Param Description
id UUID à envoyer comme identifiant distinct

Renvoie : Cet objet pour le chaînage.

class Deque.AxeDevtools.Selenium.ReportConfiguration

Configure les informations spécifiques au rapport, telles que le nom de la suite de tests ou les informations de l'agent utilisateur

Champ statique Type Description
TIMESTAMP_FORMAT string Format des horodatages dans les rapports.

static ReportConfigurationGetDefault()

Récupère la configuration par défaut actuelle. Notez que la valeur par défaut peut être modifiée.

Renvoie : la valeur par défaut actuelle.

static void ResetDefault()

Réinitialise la valeur par défaut à son état initial.

void SetAsDefault()

Définit cet objet comme objet par défaut.

ReportConfiguration.GetDefault()
  .TestSuiteName("my-tests")
  .UIState("home-page")
  .SetAsDefault();

ReportConfigurationTestMachine(chaîne)

Définit la machine sur laquelle ces tests ont été exécutés.

Param Description
testMachine Identifiant de la machine.

Renvoie : Cet objet pour le chaînage.

ReportConfigurationTestSuiteName(chaîne)

Définit le nom de la suite de tests.

Param Description
nom Nom.

Renvoie : Cet objet pour le chaînage.

ReportConfigurationUIState(chaîne)

Spécifiez l'état de l'interface utilisateur pour cet ensemble de tests. Utilisé comme identifiant.

Param Description
id Identifiant d'état.

Renvoie : Cet objet pour le chaînage.

ReportConfigurationUserAgent(chaîne)

Définissez l'agent utilisateur utilisé lors des tests.

Param Description
userAgent User agent string.

Renvoie : Cet objet pour le chaînage.

class Deque.AxeDevtools.Selenium.Results.Check

Le résultat de l'exécution d'un test axe.

Champ Type Description
Données objet Informations supplémentaires spécifiques au type de contrôle qui sont facultatives. Par exemple, une vérification du contraste des couleurs inclurait la couleur de premier plan, la couleur d'arrière-plan, le rapport de contraste, etc.
Id string Identifiant unique pour ce contrôle. Les identifiants de contrôle peuvent être identiques aux identifiants de règle.
Impact string Quelle est la gravité de ce contrôle particulier. Il peut s'agir de « mineur », « modéré », « grave » ou « critique ». Chaque vérification faisant partie d'une règle peut avoir des impacts différents. L'impact le plus élevé de tous les tests qui échouent est signalé pour la règle.
Message string Description de la raison pour laquelle cette vérification a réussi ou échoué.
RelatedNodes List<Node> Tableau facultatif d'informations sur d'autres nœuds liés à cette vérification. Par exemple, une violation de vérification d'identifiant en double répertorierait les autres sélecteurs qui avaient ce même identifiant en double.

class Deque.AxeDevtools.Selenium.Results.CheckedNode

Un nœud HTML qui a été vérifié par une règle.

Champ Type Description
Tous liste<Vérification> Tableau de vérifications qui ont été effectuées et où toutes doivent avoir réussi.
N'importe lequel liste<Vérification> Tableau de vérifications qui ont été effectuées et dont au moins une doit avoir réussi.
Impact chaîne Quelle est la gravité de la violation. Peut être « mineur », « modéré », « grave » ou « critique » si le test a échoué ou nul si le contrôle a réussi.
Aucun liste<Vérification> Tableau de vérifications qui ont été effectuées et qui n'ont pas toutes réussi.

class Deque.AxeDevtools.Selenium.Results.Node

Spécifie un nœud HTML spécifique.

Champ Type Description
Html string Fragment de HTML de l'élément.
Cible object tableau de chaînes ou tableaux de chaînes. Si l'élément du tableau est une chaîne, il s'agit alors d'un sélecteur CSS. S'il y a plusieurs éléments dans le tableau, chaque élément correspond à un niveau d'iframe ou de frame. S'il y a un iframe ou un cadre, il doit y avoir deux entrées dans l'objectif. S'il y a trois niveaux d'iframe, il devrait y avoir quatre entrées dans l'objectif. Si l'élément du tableau est un tableau de chaînes, il pointe alors vers un élément dans un DOM shadow et chaque élément (sauf le n-1) dans ce tableau est un sélecteur vers un élément DOM avec un DOM shadow. Le dernier élément du tableau pointe vers le nœud shadow DOM final.

class Deque.AxeDevtools.Selenium.Results.Platform

La plate-forme sur laquelle un test a été exécuté.

Champ Type Description
TestMachine string Id de la machine sur laquelle le test a été exécuté.
UserAgent string User agent sur lequel le test a été exécuté.

class Deque.AxeDevtools.Selenium.Results.ReportResults

Résultats d'un test compatibles avec le format du générateur de rapport.

var axe = new AxeSelenium(driver, ReportConfiguration.GetDefault().UIState("UIState"));
var res = axe.Analyze();
File.WriteAllText(reportPath, JsonConvert.SerializeObject(res));
Champ Type Description
EndTime string Quand le test était terminé.
Résultats TestResults Résultats de l'Axe.
Id string Id pour l'exécution du test.
Nom chaîne Nom de l'exécution du test.
Plateforme Plateforme Informations sur la plateforme sur laquelle le test a été exécuté.
TestSubject TestSubject Information sur l'endroit où le test a été exécuté (par exemple, l'URL de la page Web).
Type chaîne Type de rapport. Il s'agit toujours d'un « attestement-résultat ».

class Deque.AxeDevtools.Selenium.Results.Rule

Résultat pour une seule règle.

Champ Type Description
CreatedDate string La date et l'heure auxquelles l'analyse de l'accessibilité a été terminée.
Description chaîne Chaîne de texte qui décrit ce que fait la règle.
Aide chaîne Texte d’aide décrivant le test d'accessibilité qui a été effectué.
HelpUrl string URL qui fournit plus d’informations sur les spécificités de la violation. Liens vers une page sur le site de Deque University.
Id string Identifiant unique de la règle.
Impact chaîne Quelle est la gravité de la violation. Peut être « mineur », « modéré », « grave » ou « critique » si la règle a échoué ou nul si le test a réussi.
Nodes List<CheckedNode> Tableau de tous les éléments testés par la règle.
Tags Liste<string> Tableau de balises auxquelles cette règle est attribuée. Ces balises peuvent être utilisées dans la structure des options pour sélectionner les règles à exécuter.
Url string L'URL de la page qui a été testée.

class Deque.AxeDevtools.Selenium.Results.TestEngine

Informations sur le moteur axe-core sur lequel le test a été exécuté.

Champ Type Description
Nom chaîne Nom du moteur.
Version string Numéro de version du moteur.

class Deque.AxeDevtools.Selenium.Results.TestEnvironment

Informations sur l'environnement dans lequel le test a été réalisé.

Champ Type Description
OrientationAngle double? Angle d'orientation de l'écran. (par exemple 0)
OrientationType string Type d'orientation de l'écran. (par exemple "landscape-primary")
UserAgent string Agent utilisateur du navigateur dans lequel le test a été exécuté.
WindowHeight int Hauteur de la fenêtre.
WindowWidth int Largeur de la fenêtre.

class Deque.AxeDevtools.Selenium.Results.TestResults

Résultats renvoyés en exécutant axe sur la page.

Champ Type Description
Inapplicable Liste<Règle> Ces résultats ont été abandonnés et nécessitent des tests supplémentaires. Cela peut se produire soit en raison de restrictions techniques sur ce que la règle peut tester, soit parce qu'une erreur JavaScript s'est produite.
Incomplete Liste<Règle> Ces résultats indiquent quelles règles n'ont pas été exécutées car aucun contenu correspondant n'a été trouvé sur la page. Par exemple, sans vidéo, ces règles ne s'appliqueront pas.
Passes Liste<Règle> Ces résultats indiquent quels éléments ont réussi les règles.
TestEngine TestEngine Informations sur le moteur axe-core utilisé dans le test.
TestEnvironment TestEnvironment Informations sur l'environnement dans lequel le test a été effectué.
TestRunner TestRunner Nom de l'exécuteur de tests.
Horodatage string La date et l'heure auxquelles l'analyse a été terminée.
ToolOptions object Options appliquées lors du test.
Url string L'URL de la page qui a été testée.
Violations Liste<Règle> Ces résultats indiquent quels éléments n'ont pas respecté les règles.

class Deque.AxeDevtools.Selenium.Results.TestRunner

Nom de l'exécuteur de tests.

Champ Type Description
Nom chaîne Le nom.

class Deque.AxeDevtools.Selenium.Results.TestSubject

Informations sur ce qui est testé.

Champ Type Description
FileName string Nom de fichier du site en cours de test. (Peut être une URL.)
LineNum int Numéro de ligne du test.
État string État du fichier.

class Deque.AxeDevtools.Selenium.RunOptions.Context

Précisez quel élément doit et lequel ne doit pas être testé.

void Excluding(string[])

Ajoutez un ensemble de sélecteurs pour les éléments qui ne doivent pas être testés.

Param Description
exclude Ensemble de sélecteurs CSS.

void Including(string[])

Ajoutez un ensemble de sélecteurs pour les éléments qui doivent être testés.

Param Description
include Ensemble de sélecteurs CSS.

enum Deque.AxeDevtools.Selenium.RunOptions.ResultGroup

  • Réussites
  • Infractions
  • Incomplet
  • Inapplicable

class Deque.AxeDevtools.Selenium.RunOptions.RuleStatus

Active ou désactive une règle.

Champ Type Description
Activé bool Qu'il soit activé ou non.

class Deque.AxeDevtools.Selenium.RunOptions.RunOnly

Limiter les règles exécutées, en fonction des noms ou des balises.

static RunOnlyRègles(string[])

Construisez un limiteur pour les règles basées sur les identifiants.

Param Description
règles Liste des identifiants des règles à utiliser.

Renvoie : L'objet RunOnly .

Statique RunOnly Tags(TagType[])

Construire un limiteur pour les règles basées sur des balises.

Param Description
types Liste des tags à utiliser.

Renvoie : L'objet RunOnly .

enum Deque.AxeDevtools.Selenium.RunOptions.RunOnlyType

  • Règle
  • Règles
  • Tag
  • Balises

class Deque.AxeDevtools.Selenium.RunOptions.RunOptions

Une configuration flexible pour le fonctionnement de axe.

Champ Type Description
ElementRef bool? Renvoyer les références d'élément en plus de la cible.
IFrames bool? Dire à axe de s'exécuter à l'intérieur des iframes.
ResultTypes ResultGroup[] Limiter les types de résultats traités et agrégés
Règles Dictionnaire<string, RuleStatus> Permet de personnaliser les propriétés d'une règle (y compris { enable: false }).
RunOnly RunOnly Limitez les règles exécutées, en fonction des noms ou des balises.
Sélecteurs bool? Renvoie les sélecteurs xpath pour les éléments.

enum Deque.AxeDevtools.Selenium.RunOptions.TagType

  • Wcag2a
  • Wcag2aa
  • Wcag2aaa
  • Wcag21a
  • Wcag21aa
  • Wcag21aaa
  • Wcag22a
  • Wcag22aa
  • Wcag22aaa
  • Section 508
  • TTv5
  • EN301549
  • Meilleures pratiques

class Deque.AxeDevtools.Selenium.Spec.Check

Utilisé pour ajouter des vérifications à la liste des vérifications utilisées par les règles, ou pour remplacer les propriétés des vérifications existantes.

Champ Type Description
Après string Il s'agit de la fonction qui est appelée pour les vérifications qui fonctionnent au niveau de la page, pour traiter les résultats des iframes.
Enabled bool? Ceci est utilisé pour indiquer si le test est activé ou désactivé par défaut. Les tests désactivés ne sont pas évalués, même lorsqu'ils sont inclus dans une règle. La surcharge de cette option est un moyen courant de désactiver une vérification particulière sur plusieurs règles.
Evaluate string Il s'agit de la fonction qui implémente la fonctionnalité de vérification.
Id string Ceci identifie le contrôle de manière unique. Si la vérification existe déjà, toutes les propriétés de vérification fournies seront remplacées.
Correspond string Un sélecteur CSS de filtrage qui exclura les éléments qui ne correspondent pas au sélecteur CSS.
Options objet Il s'agit de la structure d'options qui est transmise à la fonction d'évaluation et qui est destinée à être utilisée pour configurer les vérifications. Il s’agit de la propriété la plus courante qui est destinée à être remplacée pour les contrôles existants.

class Deque.AxeDevtools.Selenium.Spec.Rule

Utilisé pour ajouter des règles à l'ensemble de règles existant ou pour remplacer les propriétés des règles existantes.

Champ Type Description
All string[] Il s'agit d'une liste de vérifications qui, si l'une d'entre elles « échoue », générera une infraction.
Any string[] Il s'agit d'une liste de vérifications qui, si aucune n'est « réussie », générera une infraction.
Activé booléen ? Si la règle est activée. Il s'agit d'un attribut courant pour la surcharge.
ExcludeHidden bool? Cela indique si les éléments masqués à tous les utilisateurs doivent être transmis à la règle d'accessibilité pour évaluation.
Id string Cela identifie la règle de manière unique. Si la règle existe déjà, elle sera remplacée par n'importe lequel des attributs fournis.
Correspondances chaîne Un sélecteur CSS de filtrage qui exclura les éléments qui ne correspondent pas au sélecteur CSS.
None string[] Il s'agit d'une liste de vérifications qui, si l'une d'entre elles « réussit », généreront une violation.
PageLevel bool? Lorsqu'il est défini sur true, cette règle n'est appliquée que lorsque la page entière est testée. Les résultats des nœuds sur différents cadres sont combinés en un seul résultat.
Sélecteur chaîne Un sélecteur CSS utilisé pour identifier les éléments qui sont passés dans la règle pour évaluation.
Tags string[] Une liste des tags qui « classent » la règle. En pratique, vous devez fournir des tags valides, sinon l'évaluation par défaut n'invoquera pas la règle. La convention doit inclure la norme (WCAG 2, section 508, Trusted Tester v5 ou EN 301 549), le niveau WCAG 2, le paragraphe Section 508 et les critères de réussite WCAG 2. Les balises sont construites en convertissant toutes les lettres en minuscules, en supprimant les espaces et les points et en concaténant le résultat. Par exemple, le critère de réussite WCAG 2 A 1.1.1 deviendrait [ "wcag2a" , "wcag111" ]

class Deque.AxeDevtools.Selenium.Spec.Spec

Configure le format des données utilisées par axe. Cela peut être utilisé pour ajouter de nouvelles règles, qui doivent être enregistrées auprès de la bibliothèque pour être exécutées.

Champ Type Description
Branding Branding Utilisé pour définir le branding des URLs d'aide.
Contrôles Contrôle[] Utilisé pour ajouter des contrôles à la liste des contrôles utilisés par les règles, ou pour remplacer les propriétés des contrôles existants.
Locale Locale Un objet de paramètres régionaux à appliquer (au moment de l'exécution) à toutes les règles et contrôles.
ReporterVersion ReporterVersion? Utilisé pour définir le format de sortie que la fonction axe.run renverra.
Règles Règle[] Utilisé pour ajouter des règles à l'ensemble de règles existant ou pour remplacer les propriétés des règles existantes.