Référence API pour Java Playwright
Référence API pour la classe AxePlaywrightBuilder dans l'intégration Axe DevTools pour Web Java Playwright
Ce document fournit une référence API à la classe Java AxePlaywrightBuilder, qui est fournie par l'intégration Java de Playwright.
La plupart des méthodes de la classe AxePlaywrightBuilder renvoient un objet AxePlaywrightBuilder, ce qui vous permet de chaîner facilement plusieurs méthodes. Voir les exemples de code ci-dessous pour des exemples de chaînage de méthodes.
Constructeurs
| Constructeur | Description |
|---|---|
| AxePlaywrightBuilder(Page) | Constructeur standard qui crée un objet AxePlaywrightBuilder. |
| AxePlaywrightBuilder(Page, File) | Créez un objet AxePlaywrightBuilder et spécifiez un fichier JSON contenant des règles personnalisées à utiliser lors de l'analyse. |
| AxePlaywrightBuilder(Page, String) | Créez un objet AxePlaywrightBuilder tout en spécifiant un String JSON contenant des règles personnalisées. |
AxePlaywrightBuilder(Page)
Initialise une nouvelle instance de la classe AxePlaywrightBuilder pour l'objet Page spécifié.
public AxePlaywrightBuilder(Page page);Paramètres
| Nom | Type | Description |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'objet Page à utiliser pour l'analyse d'accessibilité. |
Exemple
L'exemple de code suivant démontre ce constructeur. Il montre également comment créer un objet Page et un objet AxePlaywrightBuilder avec cet objet Page.
// Example Page
Page page = browser.newPage();
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);AxePlaywrightBuilder(Page, File)
Initialise une nouvelle instance de la classe AxePlaywrightBuilder avec l'objet Page spécifié et l'objet File spécifié. Le File contient des règles personnalisées dans un fichier JSON.
public AxePlaywrightBuilder(Page page, File rules);Paramètres
| Nom | Type | Description |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'objet Page requis. |
| règles | File |
Un objet File représentant un fichier JSON de règles d'accessibilité personnalisées. |
Exemple
L'exemple suivant montre comment utiliser ce constructeur.
// Example Page
Page page = browser.newPage();
File customRuleset = new File("somePath/custom-ruleset.json")
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);AxePlaywrightBuilder(Page, String)
Initialise une nouvelle instance de la classe AxePlaywrightBuilder avec l'objet Page spécifié et l'objet String spécifié, qui contient des règles personnalisées sous forme de chaîne JSON.
public AxePlaywrightBuilder(Page page, String rules);Paramètres
| Nom | Type | Description |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'objet Page requis |
| règles | String |
Une chaîne JSON représentant un ensemble de règles d'accessibilité personnalisées. |
Exemple
L'exemple de code suivant illustre ce constructeur.
// Example Page
Page page = browser.newPage();
String customRuleset = "{...}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);Méthodes
| Méthode | Description |
|---|---|
| analyser | Analyse la page Playwright et renvoie un objet AxeResults à partir de l'analyse complète. |
| configurer(Fichier) | Fournit une configuration personnalisée sur la façon dont axe-core est exécuté via un fichier JSON. |
| configurer(String) | Fournit une configuration personnalisée sur la façon dont axe-core est exécuté via une chaîne JSON. |
| désactiverRègles | Empêche les règles spécifiées d'être exécutées pendant l'analyse. |
| exclure(String) | Spécifie un sélecteur CSS unique pour exclure certains contenus HTML lors de l'analyse. |
| exclure(Liste<String>) | Spécifie un sélecteur CSS d'iframe pour exclure certains contenus HTML lors de l'analyse. |
| exclure(DepuisDesCadres) | Exclut un élément à l'intérieur d'un ou plusieurs iframes imbriqués. |
| exclure(DepuisDesShadowDom) | Exclut un élément à l'intérieur d'un ou plusieurs arbres DOM shadow imbriqués. |
| exclure(Objet) | Exclut un sélecteur fourni en tant qu'objet unique. |
| exclure(Objet...) | Exclut un sélecteur qui combine des sélecteurs CSS, le contexte de cadre et le contexte de DOM shadow. |
| inclure(String) | Spécifie un sélecteur CSS unique qui inclut du contenu HTML lors de l'analyse. |
| inclure(Liste<String>) | Spécifie un sélecteur CSS d'iframe qui inclut du contenu HTML lors de l'analyse. |
| inclure(DepuisDesCadres) | Inclut un élément à l'intérieur d'un ou plusieurs iframes imbriqués. |
| inclure(DepuisDesShadowDom) | Inclut un élément à l'intérieur d'un ou plusieurs arbres DOM shadow imbriqués. |
| inclure(Objet) | Inclut un sélecteur fourni en tant qu'objet unique. |
| inclure(Objet...) | Inclut un sélecteur qui combine des sélecteurs CSS, le contexte de cadre et le contexte de DOM shadow. |
| setLegacyMode | Active le mode hérité pour exclure les problèmes d'accessibilité qui peuvent survenir dans les cadres multi-domaine et iframes. |
| withAxeSource(File) | Fournit une version personnalisée de axe-core en utilisant un objet File. |
| avecSourceAxe(String) | Fournit une version personnalisée de axe-core en utilisant un objet String. |
| avecSeulementLesRèglesDeBonnesPratiques | Vérifie l'accessibilité en utilisant uniquement les règles de bonnes pratiques. |
| avecSeulementLesRèglesExpérimentales | Vérifie l'accessibilité en utilisant uniquement les règles expérimentales. |
| avecRègles | Limite les règles d'accessibilité à celles spécifiées. |
| withTags | Limite les règles d'accessibilité vérifiées à la liste spécifiée de tags. |
analyser
Analysez la page Playwright (spécifiée lors de la création de l'objet AxePlaywrightBuilder) et renvoyez un objet AxeResults du résultat de l'analyse terminée.
AxeResults AxePlaywrightBuilder.analyze();Renvoie
AxeResults
Exemple
L'exemple de code suivant montre comment utiliser la méthode analyser.
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);
AxeResults axeResults = axePlaywrightBuilder.analyze();
/* Usage may include:
axeResults.getViolations() - returns only violation results
axeResults.getPasses() - returns only pass results
axeResults.getIncomplete() - returns only incomplete results
*/configurer(Fichier)
Fournissez une configuration personnalisée à axe-core via un fichier JSON.
public AxePlaywrightBuilder configure(File axeConfigure);Pour plus d'informations sur le format du fichier de configuration, voir configuration axe-core.
Paramètres
| Nom | Type | Description |
|---|---|---|
| fichier | File |
Un objet File représentant une configuration axe-core en JSON. |
Exemple
L'exemple suivant montre comment accéder à une configuration et l'utiliser avec un objet AxePlaywrightBuilder.
File myAxeConfigure = new File("./axe-configure.json");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);
configurer(String)
Fournissez une configuration personnalisée à axe-core (la technologie sous-jacente pour analyser l'accessibilité) via une chaîne JSON.
public AxePlaywrightBuilder configure(String axeConfigure);Pour plus d'informations sur le format du fichier de configuration, voir configuration axe-core.
Paramètres
| Nom | Type | Description |
|---|---|---|
| axeConfig | String |
Un objet String représentant une configuration axe-core en JSON. |
Exemple
L'exemple suivant montre comment accéder à une configuration et l'utiliser avec un objet AxePlaywrightBuilder.
String myAxeConfigure = "{..}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);désactiverRègles
Désactiver l'exécution des règles lors de l'analyse.
public AxePlaywrightBuilder disableRules(List<String> rules);Paramètres
| Nom | Type | Description |
|---|---|---|
| règles | Liste<String> | Une liste de chaînes représentant les règles à désactiver lors de l'analyse. |
Renvoie
AxePlaywrightBuilder
Exemple
L'exemple suivant montre comment désactiver la vérification d'accessibilité pour une seule règle en utilisant la méthode singletonList de la classe Collections et pour plusieurs règles en utilisant un List.
// Single Rule
AxePlaywrightBuilder axePlaywrightBuilder1 = new AxePlaywrightBuilder(page)
.disableRules(Collections.singletonList("color-contrast"));
// Multiple Rules
AxePlaywrightBuilder axePlaywrightBuilder2 = new AxePlaywrightBuilder(page)
.disableRules(Arrays.asList("color-contrast", "image-alt"));exclure(String)
Spécifiez un sélecteur CSS unique pour exclure des éléments HTML lors de l'analyse. Pour ignorer plusieurs parties non liées de la page, appelez exclude une fois pour chacune, en passant un sélecteur unique à chaque fois.
public AxePlaywrightBuilder exclude(String selector);Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | String |
Un sélecteur CSS spécifiant les éléments qui ne seront pas inclus dans une analyse d'accessibilité. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment exclure des éléments de l'analyse avec ces attributs :
class="some-class"class="some-other-class"
new AxePlaywrightBuilder(page)
.exclude(".some-class")
.exclude(".some-other-class");exclure(Liste<String>)
Spécifiez un sélecteur CSS d'iframe pour exclure des éléments HTML lors de l'analyse.
public AxePlaywrightBuilder exclude(List<String> excludeCSS);Paramètres
| Nom | Type | Description |
|---|---|---|
| excludeCSS | List<String> |
Un sélecteur CSS d'iframe. Chaque sélecteur sauf le dernier correspond à un niveau d'imbrication d'iframe ; le dernier correspond à l'élément à ignorer à l'intérieur de l'iframe la plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment exclure des éléments en utilisant des sélecteurs CSS d'iframe.
// To exclude everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.exclude(Arrays.asList("#parent-iframe", "#html"))Parce qu'il n'y a pas de surcharge exclude(String...), passer plus d'une chaîne à exclude produit également un seul sélecteur d'iframe plutôt que des exclusions distinctes. L'appel suivant se résout en exclure(Objet...) et signifie la même chose que l'exemple ci-dessus.
new AxePlaywrightBuilder(page)
.exclude("#parent-iframe", "#html")exclure(DepuisDesCadres) exprime la même chose de manière plus explicite et est la forme recommandée pour les nouveaux tests.
exclure(DepuisDesCadres)
Excluez un élément à l'intérieur d'un ou plusieurs iframes imbriqués, en utilisant un sélecteur explicite FromFrames.
public AxePlaywrightBuilder exclude(FromFrames fromFrames);Importez la classe avec import com.deque.html.axecore.args.FromFrames;.
Paramètres
| Nom | Type | Description |
|---|---|---|
| depuisDesCadres | FromFrames |
Un sélecteur construit à partir d'un sélecteur CSS par niveau d'imbrication d'iframe, suivi d'un sélecteur pour l'élément à ignorer à l'intérieur de l'iframe la plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant ignore le formulaire à l'intérieur de l'iframe #payment-frame.
new AxePlaywrightBuilder(page)
.exclude(new FromFrames("#payment-frame", "form"))exclure(DepuisDesShadowDom)
Excluez un élément à l'intérieur d'un ou plusieurs arbres DOM shadow imbriqués, en utilisant un sélecteur explicite FromShadowDom.
public AxePlaywrightBuilder exclude(FromShadowDom fromShadowDom);Importez la classe avec import com.deque.html.axecore.args.FromShadowDom;.
Paramètres
| Nom | Type | Description |
|---|---|---|
| depuisDesShadowDom | FromShadowDom |
Un sélecteur construit à partir d'un sélecteur CSS par hôte shadow, suivi d'un sélecteur pour l'élément à ignorer à l'intérieur de la racine shadow la plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant ignore le formulaire #search à l'intérieur de la racine shadow attachée à .app-header.
new AxePlaywrightBuilder(page)
.exclude(new FromShadowDom(".app-header", "form#search"))exclure(Objet)
Excluez un sélecteur fourni en tant qu'objet unique. Cette surcharge est sélectionnée uniquement lorsque le type statique de l'argument n'est pas l'un des types ci-dessus, comme une variable déclarée en tant que Object. Préférez les surcharges typées.
public AxePlaywrightBuilder exclude(Object selector);Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | Object |
Une chaîne de sélecteur CSS, une liste de chaînes, un sélecteur FromFrames ou un sélecteur FromShadowDom. |
Renvoie
AxePlaywrightBuilder
exclude(Object...)
Exclure un sélecteur qui mélange des sélecteurs CSS simples avec des sélecteurs FromFrames ou FromShadowDom, pour les cas que les autres surcharges ne peuvent exprimer.
public AxePlaywrightBuilder exclude(Object... selector);Cette surcharge est sélectionnée chaque fois que l'appel passe plus d'un argument. Passer un seul FromFrames ou FromShadowDom sélectionne exclude(FromFrames) ou exclude(FromShadowDom) à la place.
Pour atteindre un iframe qui réside à l'intérieur d'une racine de l'ombre, le sélecteur FromShadowDom doit être imbriqué dans le sélecteur FromFrames. L'inverse provoque une erreur.
Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | Object... |
Un ensemble mixte de sélecteurs CSS et d'objets sélecteurs formant un chemin unique vers l'élément à ignorer. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant ignore .target à l'intérieur de la racine de l'ombre attachée à #host, à l'intérieur de l'iframe #frame.
new AxePlaywrightBuilder(page)
.exclude("#frame", new FromShadowDom("#host", ".target"))include(String)
Spécifiez un seul sélecteur CSS à inclure lors de l'analyse. Pour tester plusieurs parties non liées de la page, appelez include une fois pour chacune, en passant un seul sélecteur à chaque fois.
public AxePlaywrightBuilder include(String selector);Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | String |
Un sélecteur CSS spécifiant les éléments qui seront inclus dans une analyse d'accessibilité. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment inclure deux classes différentes dans l'analyse. Notez comment l'exemple utilise l'enchaînement de méthodes pour spécifier plus d'une classe CSS.
new AxePlaywrightBuilder(page)
.include(".some-class")
.include(".some-other-class");include(List<String>)
Spécifiez un sélecteur d'iframe CSS à inclure lors de l'analyse.
public AxePlaywrightBuilder include(List<String> includeCSS);Paramètres
| Nom | Type | Description |
|---|---|---|
| includeCSS | List<String> |
Un sélecteur d'iframe CSS. Chaque sélecteur sauf le dernier correspond à un niveau d'imbrication d'iframe ; le dernier correspond à l'élément à tester à l'intérieur de l'iframe le plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment inclure des éléments en utilisant des sélecteurs CSS d'iframe.
// To include everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.include(Arrays.asList("#parent-iframe", "#html"))Parce qu'il n'y a pas de surcharge include(String...), passer plus d'une chaîne à include produit également un seul sélecteur d'iframe plutôt que des inclusions séparées. L'appel suivant se résout en include(Object...) et signifie la même chose que l'exemple ci-dessus.
new AxePlaywrightBuilder(page)
.include("#parent-iframe", "#html")include(FromFrames) exprime la même chose de manière plus explicite et est la forme recommandée pour les nouveaux tests.
include(FromFrames)
Incluez un élément à l'intérieur d'un ou plusieurs iframes imbriqués, en utilisant un sélecteur FromFrames explicite.
public AxePlaywrightBuilder include(FromFrames fromFrames);Importez la classe avec import com.deque.html.axecore.args.FromFrames;.
Paramètres
| Nom | Type | Description |
|---|---|---|
| fromFrames | FromFrames |
Un sélecteur construit à partir d'un sélecteur CSS par niveau d'imbrication d'iframe, suivi d'un sélecteur pour l'élément à tester à l'intérieur de l'iframe le plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant teste le formulaire à l'intérieur de l'iframe #payment-frame.
new AxePlaywrightBuilder(page)
.include(new FromFrames("#payment-frame", "form"))include(FromShadowDom)
Incluez un élément à l'intérieur d'un ou plusieurs arbres DOM ombrés imbriqués, en utilisant un sélecteur FromShadowDom explicite.
public AxePlaywrightBuilder include(FromShadowDom fromShadowDom);Importez la classe avec import com.deque.html.axecore.args.FromShadowDom;.
Paramètres
| Nom | Type | Description |
|---|---|---|
| fromShadowDom | FromShadowDom |
Un sélecteur construit à partir d'un sélecteur CSS par hôte ombré, suivi d'un sélecteur pour l'élément à tester à l'intérieur de la racine de l'ombre la plus interne. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant teste le formulaire #search à l'intérieur de la racine de l'ombre attachée à .app-header.
new AxePlaywrightBuilder(page)
.include(new FromShadowDom(".app-header", "form#search"))include(Object)
Incluez un sélecteur fourni comme un seul objet. Cette surcharge est sélectionnée uniquement lorsque le type statique de l'argument n'est pas l'un des types ci-dessus, comme une variable déclarée en tant que Object. Préférez les surcharges typées.
public AxePlaywrightBuilder include(Object selector);Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | Object |
Une chaîne de sélecteur CSS, une liste de chaînes, un sélecteur FromFrames ou un sélecteur FromShadowDom. |
Renvoie
AxePlaywrightBuilder
include(Object...)
Incluez un sélecteur qui mélange des sélecteurs CSS simples avec des sélecteurs FromFrames ou FromShadowDom, pour les cas que les autres surcharges ne peuvent exprimer.
public AxePlaywrightBuilder include(Object... selector);Cette surcharge est sélectionnée chaque fois que l'appel passe plus d'un argument. Passer un seul FromFrames ou FromShadowDom sélectionne include(FromFrames) ou include(FromShadowDom) à la place.
Pour atteindre un iframe qui réside à l'intérieur d'une racine de l'ombre, le sélecteur FromShadowDom doit être imbriqué dans le sélecteur FromFrames. L'inverse provoque une erreur.
Paramètres
| Nom | Type | Description |
|---|---|---|
| sélecteur | Object... |
Un ensemble mixte de sélecteurs CSS et d'objets sélecteurs formant un chemin unique vers l'élément à tester. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant teste .target à l'intérieur de la racine de l'ombre attachée à #host, à l'intérieur de l'iframe #frame.
new AxePlaywrightBuilder(page)
.include("#frame", new FromShadowDom("#host", ".target"))setLegacyMode
Exclut les problèmes d'accessibilité susceptibles de se produire dans les frames et iframes interdomaines.
public AxePlaywrightBuilder setLegacyMode(boolean legacyMode);Cette API devrait être retirée dans la prochaine version d'Axe DevTools.
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant active le mode hérité.
new AxePlaywrightBuilder(page)
.setLegacyMode(true);withAxeSource(File)
Fournir une version personnalisée de axe-core en utilisant l'objet File de Java
public AxePlaywrightBuilder withAxeSource(File file);Paramètres
| Nom | Type | Description |
|---|---|---|
| fichier | File |
Un fichier contenant JavaScript qui implémente axe-core. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment utiliser un fichier différent pour axe-core au lieu de la version fournie. Vous ne devriez avoir besoin de faire cela que dans des cas spécialisés.
File axeLegacySource = new File("somepath/axe-core@legacy.js");
new AxePlaywrightBuilder(page)
.withAxeSource(axeLegacySource);avecSourceAxe(String)
Fournir une version personnalisée de axe-core en utilisant une source déjà analysée
public AxePlaywrightBuilder withAxeSource(String src);Paramètres
| Nom | Type | Description |
|---|---|---|
| src | String |
Le fichier source JavaScript représenté comme un String. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment lire un fichier dans un String et l'utiliser comme fichier source avec withAxeSource.
String source = IOUtils.toString(somepPath.toURI(), StandardCharsets.UTF_8);
new AxePlaywrightBuilder(page)
.withAxeSource(source);avecSeulementLesRèglesDeBonnesPratiques
Vérifier les problèmes d'accessibilité avec uniquement le jeu de règles de bonnes pratiques activé.
public AxePlaywrightBuilder withOnlyBestPracticeRules();Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment activer l'analyse de l'accessibilité en utilisant uniquement les règles de bonnes pratiques.
new AxePlaywrightBuilder(page)
.withOnlyBestPracticeRules();
avecSeulementLesRèglesExpérimentales
Vérifier les problèmes d'accessibilité avec uniquement le jeu de règles expérimentales activé
public AxePlaywrightBuilder withOnlyExperimentalRules();Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre comment activer l'analyse de l'accessibilité en utilisant uniquement les règles expérimentales.
new AxePlaywrightBuilder(page)
.withOnlyExperimentalRules();
avecRègles
Limiter les règles à exécuter lors de l'analyse d'accessibilité à celles spécifiées.
public AxePlaywrightBuilder exclude(List<String> rules);Paramètres
| Nom | Type | Description |
|---|---|---|
| règles | List<String> |
Une liste de règles à utiliser pour l'analyse d'accessibilité. |
Renvoie
AxePlaywrightBuilder
Exemples
L'exemple suivant montre deux manières différentes d'utiliser la méthode withRules. La première crée un List avec une règle, contraste de couleur. La seconde crée un List contenant les règles contraste de couleur et alternative de l'image.
// Single Rule
new AxePlaywrightBuilder(page)
.withRules(Collections.singletonList("color-contrast"));
// Multiple Rules
new AxePlaywrightBuilder(page)
.withRules(Arrays.asList("color-contrast", "image-alt"));withTags
Limite l'analyse d'accessibilité aux ensembles de règles ou aux ensembles de règles appartenant aux balises spécifiées.
public AxePlaywrightBuilder withTags(List<String> tags);Paramètres
| Nom | Type | Description |
|---|---|---|
| balises | List<String> |
Une liste de balises comprenant les règles que vous souhaitez inclure dans l'analyse d'accessibilité. |
Renvoie
AxePlaywrightBuilder
Exemples
Cet exemple montre comment limiter l'analyse d'accessibilité aux règles appartenant aux balises spécifiées. Le premier extrait de code montre comment limiter l'analyse aux règles faisant partie de la spécification wcag21aa. Le second extrait montre comment limiter l'analyse à la spécification wcag21aa et aux règles best-practice.
// Single tag
new AxePlaywrightBuilder(page)
.withTags(Collections.singletonList("wcag21aa"));
// Multiple tags
new AxePlaywrightBuilder(page)
.withTags(Arrays.asList("wcag21aa", "best-practice"));