Référence de l'API C#
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. |