Referência da API para Java Playwright
Referência da API para a classe AxePlaywrightBuilder na integração do Axe DevTools for Web Java Playwright
Este documento fornece uma referência da API para a classe Java AxePlaywrightBuilder, que é fornecida pela integração Java do Playwright.
A maioria dos métodos na classe AxePlaywrightBuilder retorna um objeto AxePlaywrightBuilder, o que permite encadear facilmente vários métodos. Veja os exemplos de código abaixo para exemplos de encadeamento de métodos.
Construtores
| Construtor | Descrição |
|---|---|
| AxePlaywrightBuilder(Page) | Construtor padrão que cria um objeto AxePlaywrightBuilder. |
| AxePlaywrightBuilder(Page, File) | Cria um objeto AxePlaywrightBuilder e especifica um arquivo JSON contendo regras personalizadas para serem usadas durante a análise. |
| AxePlaywrightBuilder(Page, String) | Cria um objeto AxePlaywrightBuilder enquanto especifica um String JSON contendo regras personalizadas. |
AxePlaywrightBuilder(Page)
Inicializa uma nova instância da classe AxePlaywrightBuilder para o objeto Page especificado.
public AxePlaywrightBuilder(Page page);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| page | com.microsoft.Playwright.Page |
O objeto Page a ser usado para a análise de acessibilidade. |
Exemplo
O exemplo de código a seguir demonstra este construtor. Também mostra como criar um objeto Page e um objeto AxePlaywrightBuilder com aquele objeto Page.
// Example Page
Page page = browser.newPage();
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);AxePlaywrightBuilder(Page, File)
Inicializa uma nova instância da classe AxePlaywrightBuilder com o objeto Page especificado e o objeto File especificado. O File contém regras personalizadas em um arquivo JSON.
public AxePlaywrightBuilder(Page page, File rules);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| page | com.microsoft.Playwright.Page |
O objeto Page necessário. |
| rules | File |
Um objeto File representando um arquivo JSON de regras de acessibilidade personalizadas. |
Exemplo
O exemplo a seguir mostra como usar este construtor.
// Example Page
Page page = browser.newPage();
File customRuleset = new File("somePath/custom-ruleset.json")
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);AxePlaywrightBuilder(Page, String)
Inicializa uma nova instância da classe AxePlaywrightBuilder com o objeto Page especificado e o objeto String especificado, que contém regras personalizadas em uma string JSON.
public AxePlaywrightBuilder(Page page, String rules);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| page | com.microsoft.Playwright.Page |
O objeto Page necessário |
| rules | String |
Uma string JSON representando um conjunto de regras personalizadas de acessibilidade. |
Exemplo
O exemplo de código a seguir demonstra este construtor.
// Example Page
Page page = browser.newPage();
String customRuleset = "{...}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);Métodos
| Método | Descrição |
|---|---|
| analisar | Analisa a página Playwright e retorna um objeto AxeResults da análise concluída. |
| configurar(Arquivo) | Fornece uma configuração personalizada de como axe-core é executado através de um arquivo JSON. |
| configurar(String) | Fornece uma configuração personalizada de como axe-core é executado através de uma string JSON. |
| desabilitarRegras | Impede que as regras especificadas sejam executadas durante a análise. |
| excluir(String) | Especifica um único seletor CSS para excluir certo conteúdo HTML durante a análise. |
| excluir(List<String>) | Especifica um seletor CSS de iframe para ser usado para excluir certo conteúdo HTML durante a análise. |
| excluir(FromFrames) | Exclui um elemento dentro de um ou mais iframes aninhados. |
| excluir(FromShadowDom) | Exclui um elemento dentro de uma ou mais árvores de shadow DOM aninhadas. |
| excluir(Object) | Exclui um seletor fornecido como um único objeto. |
| excluir(Object...) | Exclui um seletor que combina seletores CSS, contexto de iframe e contexto de shadow DOM. |
| incluir(String) | Especifica um único seletor CSS que inclui conteúdo HTML durante a análise. |
| incluir(List<String>) | Especifica um seletor CSS de iframe que inclui conteúdo HTML durante a análise. |
| incluir(FromFrames) | Inclui um elemento dentro de um ou mais iframes aninhados. |
| incluir(FromShadowDom) | Inclui um elemento dentro de uma ou mais árvores de shadow DOM aninhadas. |
| incluir(Object) | Inclui um seletor fornecido como um único objeto. |
| incluir(Object...) | Inclui um seletor que combina seletores CSS, contexto de quadro e contexto de shadow DOM. |
| setModoLegado | Define o modo legado para excluir problemas de acessibilidade que podem ocorrer em frames e iframes de domínio cruzado. |
| comFonteAxe(File) | Fornece uma versão personalizada do axe-core usando um objeto File. |
| withAxeSource(String) | Fornece uma versão personalizada do axe-core utilizando um objeto String. |
| withOnlyBestPracticeRules | Verifica a acessibilidade usando apenas as regras de melhores práticas. |
| withOnlyExperimentalRules | Verifica a acessibilidade usando apenas as regras experimentais. |
| withRules | Limita as regras de acessibilidade às especificadas. |
| comTags | Limite as regras de acessibilidade verificadas à lista especificada de tags. |
analisar
Analise a página do Playwright (especificada quando o objeto AxePlaywrightBuilder foi criado) e retorne um objeto AxeResults da análise concluída.
AxeResults AxePlaywrightBuilder.analyze();Retorna
AxeResults
Exemplo
O exemplo de código a seguir demonstra como usar o método de análise.
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
*/configurar(Arquivo)
Forneça uma configuração personalizada ao axe-core via um arquivo JSON.
public AxePlaywrightBuilder configure(File axeConfigure);Para mais informações sobre o formato do arquivo de configuração, consulte configuração do axe-core.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| arquivo | File |
Um objeto File representando uma configuração do axe-core em JSON. |
Exemplo
O exemplo a seguir mostra como acessar uma configuração e usá-la com um objeto AxePlaywrightBuilder.
File myAxeConfigure = new File("./axe-configure.json");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);
configurar(String)
Forneça uma configuração personalizada ao axe-core (a tecnologia subjacente para analisar a acessibilidade) executada via uma string JSON.
public AxePlaywrightBuilder configure(String axeConfigure);Para mais informações sobre o formato do arquivo de configuração, consulte configuração do axe-core.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| axeConfig | String |
Um objeto String representando uma configuração do axe-core em JSON. |
Exemplo
O exemplo a seguir mostra como acessar uma configuração e usá-la com um objeto AxePlaywrightBuilder.
String myAxeConfigure = "{..}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);desabilitarRegras
Desative regras para não serem executadas durante a análise.
public AxePlaywrightBuilder disableRules(List<String> rules);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| rules | Lista<String> | Uma lista de strings representando regras a serem desativadas durante a análise. |
Retorna
AxePlaywrightBuilder
Exemplo
O exemplo a seguir mostra como desabilitar a verificação de acessibilidade para uma única regra usando o método singletonList da classe Collections e para várias regras usando um 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"));excluir(String)
Especifique um único seletor CSS para excluir elementos HTML durante a análise. Para ignorar várias partes não relacionadas da página, chame exclude uma vez para cada uma, passando um único seletor cada vez.
public AxePlaywrightBuilder exclude(String selector);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | String |
Um seletor CSS especificando elementos que não serão incluídos em uma análise de acessibilidade. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como excluir elementos da análise com esses atributos:
class="some-class"class="some-other-class"
new AxePlaywrightBuilder(page)
.exclude(".some-class")
.exclude(".some-other-class");excluir(List<String>)
Especifique um seletor de iframe CSS para excluir elementos HTML durante a análise.
public AxePlaywrightBuilder exclude(List<String> excludeCSS);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| excludeCSS | List<String> |
Um seletor de iframe CSS. Cada seletor, exceto o último, corresponde a um nível de aninhamento de iframe; o último corresponde ao elemento a ser ignorado dentro do iframe mais interno. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como excluir elementos usando seletores CSS de iframe.
// To exclude everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.exclude(Arrays.asList("#parent-iframe", "#html"))Como não há sobrecarga de exclude(String...), passando mais de uma string para exclude também produz um único seletor de iframe em vez de exclusões separadas. A seguinte chamada resolve para excluir(Object...) e significa o mesmo que o exemplo acima.
new AxePlaywrightBuilder(page)
.exclude("#parent-iframe", "#html")excluir(FromFrames) expressa a mesma coisa de forma mais explícita e é a forma recomendada para novos testes.
excluir(FromFrames)
Exclua um elemento dentro de um ou mais iframes aninhados, usando um seletor explícito FromFrames.
public AxePlaywrightBuilder exclude(FromFrames fromFrames);Importe a classe com import com.deque.html.axecore.args.FromFrames;.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| deFrames | FromFrames |
Um seletor construído a partir de um seletor CSS por nível de aninhamento de iframe, seguido por um seletor para o elemento a ser ignorado dentro do iframe mais interno. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir ignora o formulário dentro do iframe #payment-frame.
new AxePlaywrightBuilder(page)
.exclude(new FromFrames("#payment-frame", "form"))excluir(FromShadowDom)
Exclua um elemento dentro de uma ou mais árvores de shadow DOM aninhadas, usando um seletor explícito FromShadowDom.
public AxePlaywrightBuilder exclude(FromShadowDom fromShadowDom);Importe a classe com import com.deque.html.axecore.args.FromShadowDom;.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| daShadowDom | FromShadowDom |
Um seletor construído de um seletor CSS por host de sombra, seguido por um seletor para o elemento a ser ignorado dentro da raiz de sombra mais interna. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir ignora o formulário #search dentro da raiz de sombra anexada a .app-header.
new AxePlaywrightBuilder(page)
.exclude(new FromShadowDom(".app-header", "form#search"))excluir(Object)
Exclua um seletor fornecido como um único objeto. Esta sobrecarga é selecionada apenas quando o tipo estático do argumento não é um dos tipos acima, como uma variável declarada como Object. Prefira as sobrecargas tipadas.
public AxePlaywrightBuilder exclude(Object selector);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | Object |
Uma string de seletor CSS, uma lista de strings, um seletor FromFrames ou um seletor FromShadowDom. |
Retorna
AxePlaywrightBuilder
exclude(Object...)
Exclua um seletor que mistura seletores CSS simples com seletores FromFrames ou FromShadowDom, para casos que as outras sobrecargas não podem expressar.
public AxePlaywrightBuilder exclude(Object... selector);Esta sobrecarga é selecionada sempre que a chamada passa mais de um argumento. Passar um único FromFrames ou FromShadowDom seleciona exclude(FromFrames) ou exclude(FromShadowDom) em vez disso.
Para alcançar um iframe que vive dentro de uma raiz de sombra, o seletor FromShadowDom deve estar aninhado dentro do seletor FromFrames. O inverso causa um erro.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | Object... |
Um conjunto misto de seletores CSS e objetos seletor formando um único caminho para o elemento a ser ignorado. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir ignora .target dentro da raiz de sombra anexada a #host, dentro do iframe #frame.
new AxePlaywrightBuilder(page)
.exclude("#frame", new FromShadowDom("#host", ".target"))include(String)
Especifique um único seletor CSS para incluir durante a análise. Para testar várias partes não relacionadas da página, chame include uma vez para cada uma, passando um único seletor cada vez.
public AxePlaywrightBuilder include(String selector);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | String |
Um seletor CSS especificando elementos que serão incluídos em uma análise de acessibilidade. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como incluir duas classes diferentes na análise. Observe como o exemplo usa encadeamento de métodos para especificar mais de uma classe CSS.
new AxePlaywrightBuilder(page)
.include(".some-class")
.include(".some-other-class");include(List<String>)
Especifique um seletor de iframe CSS para incluir durante a análise.
public AxePlaywrightBuilder include(List<String> includeCSS);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| includeCSS | List<String> |
Um seletor de iframe CSS. Cada seletor, exceto o último, corresponde a um nível de aninhamento de iframe; o último corresponde ao elemento a ser testado dentro do iframe mais interno. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como incluir elementos usando seletores CSS de iframe.
// To include everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.include(Arrays.asList("#parent-iframe", "#html"))Como não há sobrecarga include(String...), passar mais de uma string para include também produz um único seletor de iframe em vez de inclusões separadas. A chamada a seguir resolve include(Object...) e significa a mesma coisa que o exemplo acima.
new AxePlaywrightBuilder(page)
.include("#parent-iframe", "#html")include(FromFrames) expressa a mesma coisa de forma mais explícita e é a forma recomendada para novos testes.
include(FromFrames)
Inclua um elemento dentro de um ou mais iframes aninhados, usando um seletor FromFrames explícito.
public AxePlaywrightBuilder include(FromFrames fromFrames);Importe a classe com import com.deque.html.axecore.args.FromFrames;.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| fromFrames | FromFrames |
Um seletor construído a partir de um seletor CSS por nível de aninhamento de iframe, seguido por um seletor para o elemento a ser testado dentro do iframe mais interno. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir testa o formulário dentro do iframe #payment-frame.
new AxePlaywrightBuilder(page)
.include(new FromFrames("#payment-frame", "form"))include(FromShadowDom)
Inclua um elemento dentro de uma ou mais árvores de DOM sombra aninhadas, usando um seletor FromShadowDom explícito.
public AxePlaywrightBuilder include(FromShadowDom fromShadowDom);Importe a classe com import com.deque.html.axecore.args.FromShadowDom;.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| fromShadowDom | FromShadowDom |
Um seletor construído a partir de um seletor CSS por host de sombra, seguido por um seletor para o elemento a ser testado dentro da raiz de sombra mais interna. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir testa a #search formulário dentro da raiz de sombra anexada a .app-header.
new AxePlaywrightBuilder(page)
.include(new FromShadowDom(".app-header", "form#search"))include(Object)
Inclua um seletor fornecido como um único objeto. Esta sobrecarga é selecionada apenas quando o tipo estático do argumento não é um dos tipos acima, como uma variável declarada como Object. Prefira as sobrecargas tipadas.
public AxePlaywrightBuilder include(Object selector);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | Object |
Uma string de seletor CSS, uma lista de strings, um seletor FromFrames ou um seletor FromShadowDom. |
Retorna
AxePlaywrightBuilder
include(Object...)
Inclua um seletor que mistura seletores CSS simples com seletores FromFrames ou FromShadowDom, para casos que as outras sobrecargas não podem expressar.
public AxePlaywrightBuilder include(Object... selector);Esta sobrecarga é selecionada sempre que a chamada passa mais de um argumento. Passar um único FromFrames ou FromShadowDom seleciona include(FromFrames) ou include(FromShadowDom) em vez disso.
Para alcançar um iframe que vive dentro de uma raiz de sombra, o seletor FromShadowDom deve estar aninhado dentro do seletor FromFrames. O inverso causa um erro.
Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| seletor | Object... |
Um conjunto misto de seletores CSS e objetos seletor formando um único caminho para o elemento a ser testado. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir testa .target dentro da raiz de sombra anexada a #host, dentro do iframe #frame.
new AxePlaywrightBuilder(page)
.include("#frame", new FromShadowDom("#host", ".target"))setModoLegado
Exclui problemas de acessibilidade que podem ocorrer em frames e iframes de domínio cruzado.
public AxePlaywrightBuilder setLegacyMode(boolean legacyMode);Espera-se que esta API seja removida na próxima versão do Axe DevTools.
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir ativa o modo legado.
new AxePlaywrightBuilder(page)
.setLegacyMode(true);comFonteAxe(File)
Forneça uma versão personalizada do axe-core usando o objeto File do Java
public AxePlaywrightBuilder withAxeSource(File file);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| arquivo | File |
Um arquivo contendo JavaScript que implementa axe-core. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como usar um arquivo diferente para axe-core em vez da versão fornecida. Você precisaria fazer isso apenas em casos especializados.
File axeLegacySource = new File("somepath/axe-core@legacy.js");
new AxePlaywrightBuilder(page)
.withAxeSource(axeLegacySource);withAxeSource(String)
Forneça uma versão personalizada do axe-core usando uma fonte já analisada
public AxePlaywrightBuilder withAxeSource(String src);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| src | String |
O arquivo fonte JavaScript representado como um String. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como ler um arquivo em um String e usá-lo como o arquivo fonte com withAxeSource.
String source = IOUtils.toString(somepPath.toURI(), StandardCharsets.UTF_8);
new AxePlaywrightBuilder(page)
.withAxeSource(source);withOnlyBestPracticeRules
Verifique problemas de acessibilidade com apenas o conjunto de regras das melhores práticas ativado.
public AxePlaywrightBuilder withOnlyBestPracticeRules();Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como habilitar a análise de acessibilidade usando apenas as regras de melhores práticas.
new AxePlaywrightBuilder(page)
.withOnlyBestPracticeRules();
withOnlyExperimentalRules
Verifique problemas de acessibilidade com apenas o conjunto de regras experimentais ativado
public AxePlaywrightBuilder withOnlyExperimentalRules();Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra como habilitar a análise de acessibilidade usando apenas as regras experimentais.
new AxePlaywrightBuilder(page)
.withOnlyExperimentalRules();
withRules
Limite as regras a serem executadas durante a análise de acessibilidade para aquelas especificadas.
public AxePlaywrightBuilder exclude(List<String> rules);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| rules | List<String> |
Uma lista de regras a serem usadas para análise de acessibilidade. |
Retorna
AxePlaywrightBuilder
Exemplos
O exemplo a seguir mostra duas maneiras diferentes de usar o método withRules. O primeiro cria um List com uma regra, contraste de cor. O segundo cria um List contendo as regras contraste de cor e imagem-alt.
// Single Rule
new AxePlaywrightBuilder(page)
.withRules(Collections.singletonList("color-contrast"));
// Multiple Rules
new AxePlaywrightBuilder(page)
.withRules(Arrays.asList("color-contrast", "image-alt"));comTags
Limita a análise de acessibilidade ao conjunto de regras ou conjuntos de regras pertencentes às tags especificadas.
public AxePlaywrightBuilder withTags(List<String> tags);Parâmetros
| Nome | Tipo | Descrição |
|---|---|---|
| tags | List<String> |
Uma lista de tags que incluem as regras que você gostaria de incluir na análise de acessibilidade. |
Retorna
AxePlaywrightBuilder
Exemplos
Este exemplo mostra como limitar a análise de acessibilidade às regras pertencentes às tags especificadas. O primeiro trecho de código mostra como limitar a análise às regras que fazem parte da especificação wcag21aa. O segundo trecho mostra como limitar a análise à especificação wcag21aa e às regras best-practice.
// Single tag
new AxePlaywrightBuilder(page)
.withTags(Collections.singletonList("wcag21aa"));
// Multiple tags
new AxePlaywrightBuilder(page)
.withTags(Arrays.asList("wcag21aa", "best-practice"));