Riferimento API per Java Playwright
Riferimento API per la classe AxePlaywrightBuilder nell'integrazione Axe DevTools per Web Java Playwright
Questo documento fornisce un riferimento API per la classe AxePlaywrightBuilder Java, che è fornita dall'integrazione Java di Playwright.
La maggior parte dei metodi nella classe AxePlaywrightBuilder restituisce un oggetto AxePlaywrightBuilder, il che consente di concatenare facilmente diversi metodi insieme. Vedere gli esempi di codice qui sotto per esempi di concatenazione di metodi.
Costruttori
| Costruttore | Descrizione |
|---|---|
| AxePlaywrightBuilder(Page) | Costruttore standard che crea un oggetto AxePlaywrightBuilder. |
| AxePlaywrightBuilder(Page, File) | Crea un oggetto AxePlaywrightBuilder e specifica un file JSON contenente regole personalizzate da utilizzare durante l'analisi. |
| AxePlaywrightBuilder(Page, String) | Crea un oggetto AxePlaywrightBuilder specificando un String JSON contenente regole personalizzate. |
AxePlaywrightBuilder(Page)
Inizializza una nuova istanza della classe AxePlaywrightBuilder per l'oggetto Page specificato.
public AxePlaywrightBuilder(Page page);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'oggetto Page da utilizzare per l'analisi dell'accessibilità. |
Esempio
Il seguente esempio di codice dimostra questo costruttore. Mostra anche come creare un oggetto Page e un oggetto AxePlaywrightBuilder con quell'oggetto Page.
// Example Page
Page page = browser.newPage();
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);AxePlaywrightBuilder(Page, File)
Inizializza una nuova istanza della classe AxePlaywrightBuilder con l'oggetto Page specificato e l'oggetto File specificato. L'oggetto File contiene regole personalizzate in un file JSON.
public AxePlaywrightBuilder(Page page, File rules);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'oggetto Page richiesto. |
| regole | File |
Un oggetto File che rappresenta un file JSON di regole di accessibilità personalizzate. |
Esempio
Il seguente esempio mostra come utilizzare questo costruttore.
// Example Page
Page page = browser.newPage();
File customRuleset = new File("somePath/custom-ruleset.json")
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);AxePlaywrightBuilder(Page, String)
Inizializza una nuova istanza della classe AxePlaywrightBuilder con l'oggetto Page specificato e l'oggetto String specificato, che contiene regole personalizzate in una stringa JSON.
public AxePlaywrightBuilder(Page page, String rules);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| page | com.microsoft.Playwright.Page |
L'oggetto Page richiesto |
| regole | String |
Una stringa JSON che rappresenta un insieme di regole di accessibilità personalizzate. |
Esempio
Il seguente esempio di codice dimostra questo costruttore.
// Example Page
Page page = browser.newPage();
String customRuleset = "{...}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);Metodi
| Metodo | Descrizione |
|---|---|
| analizzare | Analizza la pagina Playwright e restituisce un oggetto AxeResults dall'analisi completata. |
| configura(File) | Fornisci una configurazione personalizzata su come axe-core è eseguito tramite un file JSON. |
| configura(String) | Fornisci una configurazione personalizzata su come axe-core è eseguito tramite una stringa JSON. |
| disabilitaRegole | Impedisce l'esecuzione delle regole specificate durante l'analisi. |
| exclude(String) | Specifica un singolo selettore CSS per escludere alcuni contenuti HTML durante l'analisi. |
| exclude(List<String>) | Specifica un selettore CSS iframe per escludere alcuni contenuti HTML durante l'analisi. |
| exclude(FromFrames) | Esclude un elemento all'interno di uno o più iframe annidati. |
| exclude(FromShadowDom) | Esclude un elemento all'interno di uno o più alberi di shadow DOM annidati. |
| exclude(Object) | Esclude un selettore fornito come singolo oggetto. |
| exclude(Object...) | Esclude un selettore che combina selettori CSS, contesto dei frame e contesto del shadow DOM. |
| include(String) | Specifica un singolo selettore CSS che include contenuto HTML durante l'analisi. |
| include(List<String>) | Specifica un selettore CSS iframe che include contenuto HTML durante l'analisi. |
| include(FromFrames) | Include un elemento all'interno di uno o più iframe annidati. |
| include(FromShadowDom) | Include un elemento all'interno di uno o più alberi di shadow DOM annidati. |
| include(Object) | Include un selettore fornito come singolo oggetto. |
| include(Object...) | Include un selettore che combina selettori CSS, contesto dei frame e contesto del shadow DOM. |
| impostaModalitàLegacy | Imposta la modalità legacy per escludere problemi di accessibilità che possono verificarsi in frame e iframe cross-domain. |
| conAxeSource(File) | Fornisci una versione personalizzata di axe-core utilizzando un oggetto File. |
| withAxeSource(String) | Fornisci una versione personalizzata di axe-core utilizzando un oggetto String. |
| withOnlyBestPracticeRules | Verifica l'accessibilità usando solo le regole migliori pratiche. |
| withOnlyExperimentalRules | Verifica l'accessibilità usando solo le regole sperimentali. |
| withRules | Limita le regole di accessibilità a quelle specificate. |
| conTag | Limita le regole di accessibilità controllate alla lista specificata di etichette. |
analizzare
Analizza la pagina di Playwright (specificata quando è stato creato l'oggetto AxePlaywrightBuilder) e restituisci un oggetto AxeResults dall'analisi completata.
AxeResults AxePlaywrightBuilder.analyze();Restituisce
AxeResults
Esempio
Il seguente esempio di codice dimostra come usare il metodo di analisi.
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
*/configura(File)
Fornisci una configurazione personalizzata ad axe-core tramite un file JSON.
public AxePlaywrightBuilder configure(File axeConfigure);Per ulteriori informazioni sul formato del file di configurazione, vedi configurazione axe-core.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| file | File |
Un oggetto File che rappresenta una configurazione axe-core in JSON. |
Esempio
Il seguente esempio mostra come accedere a una configurazione e usarla con un oggetto AxePlaywrightBuilder.
File myAxeConfigure = new File("./axe-configure.json");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);
configura(String)
Fornisci una configurazione personalizzata ad axe-core (la tecnologia sottostante per analizzare l'accessibilità) eseguita tramite una stringa JSON.
public AxePlaywrightBuilder configure(String axeConfigure);Per ulteriori informazioni sul formato del file di configurazione, vedi configurazione axe-core.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| axeConfig | String |
Un oggetto String che rappresenta una configurazione axe-core in JSON. |
Esempio
Il seguente esempio mostra come accedere a una configurazione e usarla con un oggetto AxePlaywrightBuilder.
String myAxeConfigure = "{..}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);disabilitaRegole
Disabilita le regole dall'esecuzione durante l'analisi.
public AxePlaywrightBuilder disableRules(List<String> rules);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| regole | List<String> | Un elenco di stringhe che rappresentano le regole da disabilitare durante l'analisi. |
Restituisce
AxePlaywrightBuilder
Esempio
Il seguente esempio mostra come disabilitare il controllo dell'accessibilità per una singola regola usando il metodo singletonList della classe Collections e per più regole usando una 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"));exclude(String)
Specifica un singolo selettore CSS per escludere elementi HTML durante l'analisi. Per saltare diverse parti non correlate della pagina, chiama exclude una volta per ciascuna, passando un singolo selettore ogni volta.
public AxePlaywrightBuilder exclude(String selector);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | String |
Un selettore CSS che specifica gli elementi che non saranno inclusi in un'analisi di accessibilità. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come escludere elementi dall'analisi con questi attributi:
class="some-class"class="some-other-class"
new AxePlaywrightBuilder(page)
.exclude(".some-class")
.exclude(".some-other-class");exclude(List<String>)
Specifica un selettore CSS iframe per escludere elementi HTML durante l'analisi.
public AxePlaywrightBuilder exclude(List<String> excludeCSS);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| excludeCSS | List<String> |
Un selettore CSS iframe. Ogni selettore, tranne l'ultimo, corrisponde a un livello di annidamento degli iframe; l'ultimo corrisponde all'elemento da saltare all'interno dell'iframe più interno. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come escludere elementi utilizzando selettori CSS per iframe.
// To exclude everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.exclude(Arrays.asList("#parent-iframe", "#html"))Poiché non esiste un sovraccarico exclude(String...), il passaggio di più di una stringa a exclude produce anche un singolo selettore iframe piuttosto che esclusioni separate. La seguente chiamata si risolve in exclude(Object...) e significa la stessa cosa dell'esempio sopra.
new AxePlaywrightBuilder(page)
.exclude("#parent-iframe", "#html")exclude(FromFrames) esprime la stessa cosa in modo più esplicito ed è la forma raccomandata per i nuovi test.
exclude(FromFrames)
Escludi un elemento all'interno di uno o più iframe annidati, utilizzando un selettore FromFrames esplicito.
public AxePlaywrightBuilder exclude(FromFrames fromFrames);Importa la classe con import com.deque.html.axecore.args.FromFrames;.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| daIframe | FromFrames |
Un selettore costruito da un selettore CSS per livello di annidamento degli iframe, seguito da un selettore per l'elemento da saltare all'interno dell'iframe più interno. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio salta il modulo all'interno dell'iframe #payment-frame.
new AxePlaywrightBuilder(page)
.exclude(new FromFrames("#payment-frame", "form"))exclude(FromShadowDom)
Escludi un elemento all'interno di uno o più alberi di shadow DOM annidati, utilizzando un selettore FromShadowDom esplicito.
public AxePlaywrightBuilder exclude(FromShadowDom fromShadowDom);Importa la classe con import com.deque.html.axecore.args.FromShadowDom;.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| daShadowDom | FromShadowDom |
Un selettore costruito da un selettore CSS per ogni host dello shadow, seguito da un selettore per l'elemento da saltare all'interno della radice shadow più interna. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio salta il modulo #search all'interno della radice shadow collegata a .app-header.
new AxePlaywrightBuilder(page)
.exclude(new FromShadowDom(".app-header", "form#search"))exclude(Object)
Escludi un selettore fornito come singolo oggetto. Questo sovraccarico viene selezionato solo quando il tipo statico dell'argomento non è uno dei tipi sopra elencati, come una variabile dichiarata come Object. Preferisci i sovraccarichi tipizzati.
public AxePlaywrightBuilder exclude(Object selector);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | Object |
Una stringa di selettori CSS, un elenco di stringhe, un selettore FromFrames o un selettore FromShadowDom. |
Restituisce
AxePlaywrightBuilder
exclude(Object...)
Escludere un selettore che mescola selettori CSS semplici con selettori FromFrames o FromShadowDom, per casi che gli altri overload non possono esprimere.
public AxePlaywrightBuilder exclude(Object... selector);Questo overload viene selezionato ogni volta che la chiamata passa più di un argomento. Passando un singolo FromFrames o FromShadowDom si seleziona invece exclude(FromFrames) o exclude(FromShadowDom).
Per raggiungere un iframe che vive all'interno di una radice shadow, il selettore FromShadowDom deve essere annidato all'interno del selettore FromFrames. Il contrario causa un errore.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | Object... |
Un insieme misto di selettori CSS e oggetti selettori che formano un unico percorso verso l'elemento da saltare. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio salta .target all'interno della radice shadow collegata a #host, all'interno dell'iframe #frame.
new AxePlaywrightBuilder(page)
.exclude("#frame", new FromShadowDom("#host", ".target"))include(String)
Specificare un singolo selettore CSS da includere durante l'analisi. Per testare diverse parti non correlate della pagina, chiamare include una volta per ciascuna, passando ogni volta un singolo selettore.
public AxePlaywrightBuilder include(String selector);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | String |
Un selettore CSS che specifica gli elementi che verranno inclusi in un'analisi di accessibilità. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come includere due classi diverse nell'analisi. Nota come l'esempio utilizza il metodo chaining per specificare più di una classe CSS.
new AxePlaywrightBuilder(page)
.include(".some-class")
.include(".some-other-class");include(List<String>)
Specificare un selettore CSS di iframe da includere durante l'analisi.
public AxePlaywrightBuilder include(List<String> includeCSS);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| includeCSS | List<String> |
Un selettore di iframe CSS. Ogni selettore tranne l'ultimo corrisponde a un livello di annidamento di iframe; l'ultimo corrisponde all'elemento da testare all'interno dell'iframe più interno. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come includere elementi utilizzando selettori CSS per iframe.
// To include everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.include(Arrays.asList("#parent-iframe", "#html"))Poiché non esiste un overload include(String...), passando più di una stringa a include si produce un singolo selettore di iframe anziché includerle separatamente. La seguente chiamata si risolve in include(Object...) e significa la stessa cosa dell'esempio sopra.
new AxePlaywrightBuilder(page)
.include("#parent-iframe", "#html")include(FromFrames) esprime la stessa cosa in modo più esplicito ed è la forma consigliata per i nuovi test.
include(FromFrames)
Includere un elemento all'interno di uno o più iframe annidati, utilizzando un selettore esplicito FromFrames.
public AxePlaywrightBuilder include(FromFrames fromFrames);Importare la classe con import com.deque.html.axecore.args.FromFrames;.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| fromFrames | FromFrames |
Un selettore costruito con un selettore CSS per ogni livello di annidamento di iframe, seguito da un selettore per l'elemento da testare all'interno dell'iframe più interno. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio testa il modulo all'interno dell'iframe #payment-frame.
new AxePlaywrightBuilder(page)
.include(new FromFrames("#payment-frame", "form"))include(FromShadowDom)
Includere un elemento all'interno di uno o più alberi di shadow DOM annidati, utilizzando un selettore esplicito FromShadowDom.
public AxePlaywrightBuilder include(FromShadowDom fromShadowDom);Importare la classe con import com.deque.html.axecore.args.FromShadowDom;.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| fromShadowDom | FromShadowDom |
Un selettore costruito con un selettore CSS per ogni host shadow, seguito da un selettore per l'elemento da testare all'interno della radice shadow più interna. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio testa il #search modulo all'interno della radice shadow collegata a .app-header.
new AxePlaywrightBuilder(page)
.include(new FromShadowDom(".app-header", "form#search"))include(Object)
Includere un selettore fornito come singolo oggetto. Questo overload viene selezionato solo quando il tipo statico dell'argomento non è uno dei tipi sopra, come una variabile dichiarata come Object. Preferire gli overload tipizzati.
public AxePlaywrightBuilder include(Object selector);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | Object |
Una stringa di selettori CSS, un elenco di stringhe, un selettore FromFrames o un selettore FromShadowDom. |
Restituisce
AxePlaywrightBuilder
include(Object...)
Includere un selettore che mescola selettori CSS semplici con selettori FromFrames o FromShadowDom, per casi che gli altri overload non possono esprimere.
public AxePlaywrightBuilder include(Object... selector);Questo overload viene selezionato ogni volta che la chiamata passa più di un argomento. Passando un singolo FromFrames o FromShadowDom si seleziona invece include(FromFrames) o include(FromShadowDom).
Per raggiungere un iframe che vive all'interno di una radice shadow, il selettore FromShadowDom deve essere annidato all'interno del selettore FromFrames. Il contrario causa un errore.
Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| selettore | Object... |
Un insieme misto di selettori CSS e oggetti selettori che formano un unico percorso verso l'elemento da testare. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio testa il .target all'interno della radice shadow collegata a #host, all'interno dell'#frame iframe.
new AxePlaywrightBuilder(page)
.include("#frame", new FromShadowDom("#host", ".target"))impostaModalitàLegacy
Esclude i problemi di accessibilità che possono verificarsi nei frame e iframe cross-domain.
public AxePlaywrightBuilder setLegacyMode(boolean legacyMode);Si prevede che questa API venga rimossa nella prossima versione di Axe DevTools.
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio attiva la modalità legacy.
new AxePlaywrightBuilder(page)
.setLegacyMode(true);conAxeSource(File)
Fornisce una versione personalizzata di axe-core utilizzando l'oggetto File di Java
public AxePlaywrightBuilder withAxeSource(File file);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| file | File |
Un file contenente JavaScript che implementa axe-core. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come utilizzare un file diverso per axe-core invece della versione fornita. Avresti bisogno di farlo solo in casi specializzati.
File axeLegacySource = new File("somepath/axe-core@legacy.js");
new AxePlaywrightBuilder(page)
.withAxeSource(axeLegacySource);withAxeSource(String)
Fornire una versione personalizzata di axe-core utilizzando una sorgente già analizzata
public AxePlaywrightBuilder withAxeSource(String src);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| src | String |
Il file sorgente JavaScript rappresentato come un String. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come leggere un file in un String e utilizzarlo come file sorgente con withAxeSource.
String source = IOUtils.toString(somepPath.toURI(), StandardCharsets.UTF_8);
new AxePlaywrightBuilder(page)
.withAxeSource(source);withOnlyBestPracticeRules
Controllare i problemi di accessibilità con solo il set di regole best-practice abilitato.
public AxePlaywrightBuilder withOnlyBestPracticeRules();Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come abilitare l'analisi dell'accessibilità utilizzando solo le regole di best practice.
new AxePlaywrightBuilder(page)
.withOnlyBestPracticeRules();
withOnlyExperimentalRules
Controllare i problemi di accessibilità con solo il set di regole sperimentali abilitato
public AxePlaywrightBuilder withOnlyExperimentalRules();Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra come abilitare l'analisi dell'accessibilità utilizzando solo le regole sperimentali.
new AxePlaywrightBuilder(page)
.withOnlyExperimentalRules();
withRules
Limitare le regole da eseguire durante l'analisi dell'accessibilità a quelle specificate.
public AxePlaywrightBuilder exclude(List<String> rules);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| regole | List<String> |
Una lista di regole da utilizzare per l'analisi dell'accessibilità. |
Restituisce
AxePlaywrightBuilder
Esempi
Il seguente esempio mostra due diversi modi di utilizzare il metodo withRules. Il primo crea un List con una regola, contrasto dei colori. Il secondo crea un List contenente le regole contrasto dei colori e alt dell'immagine.
// Single Rule
new AxePlaywrightBuilder(page)
.withRules(Collections.singletonList("color-contrast"));
// Multiple Rules
new AxePlaywrightBuilder(page)
.withRules(Arrays.asList("color-contrast", "image-alt"));conTag
Limita l'analisi dell'accessibilità al set di regole o ai set di regole appartenenti ai tag specificati.
public AxePlaywrightBuilder withTags(List<String> tags);Parametri
| Nome | Tipo | Descrizione |
|---|---|---|
| tag | List<String> |
Un elenco di tag che includono le regole che si desidera includere nell'analisi dell'accessibilità. |
Restituisce
AxePlaywrightBuilder
Esempi
Questo esempio mostra come limitare l'analisi dell'accessibilità alle regole appartenenti ai tag specificati. Il primo frammento di codice mostra come limitare l'analisi alle regole che fanno parte della specifica wcag21aa. Il secondo frammento mostra come limitare l'analisi alla specifica wcag21aa e alle regole best-practice.
// Single tag
new AxePlaywrightBuilder(page)
.withTags(Collections.singletonList("wcag21aa"));
// Multiple tags
new AxePlaywrightBuilder(page)
.withTags(Arrays.asList("wcag21aa", "best-practice"));