Referencia de API para Java Playwright
Referencia de API para la clase AxePlaywrightBuilder en la integración de Axe DevTools para Web Java Playwright
Este documento proporciona una referencia de API para la clase AxePlaywrightBuilder de Java, que es ofrecida por la integración de Playwright Java.
La mayoría de los métodos en la clase AxePlaywrightBuilder devuelven un objeto AxePlaywrightBuilder, lo que te permite encadenar varios métodos fácilmente. Consulta los ejemplos de código a continuación para ver ejemplos de encadenamiento de métodos.
Constructores
| Constructor | Descripción |
|---|---|
| AxePlaywrightBuilder(Page) | Constructor estándar que crea un objeto AxePlaywrightBuilder. |
| AxePlaywrightBuilder(Page, File) | Crea un objeto AxePlaywrightBuilder y especifica un archivo JSON que contiene reglas personalizadas para ser usadas durante el análisis. |
| AxePlaywrightBuilder(Page, String) | Crea un objeto AxePlaywrightBuilder mientras especificas un String JSON que contiene reglas personalizadas. |
AxePlaywrightBuilder(Page)
Inicializa una nueva instancia de la clase AxePlaywrightBuilder para el objeto Page especificado.
public AxePlaywrightBuilder(Page page);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| página | com.microsoft.Playwright.Page |
El objeto Page que se usará para el análisis de accesibilidad. |
Ejemplo
El siguiente ejemplo de código demuestra este constructor. También muestra cómo crear un objeto Page y un objeto AxePlaywrightBuilder con ese objeto Page.
// Example Page
Page page = browser.newPage();
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page);AxePlaywrightBuilder(Page, File)
Inicializa una nueva instancia de la clase AxePlaywrightBuilder con el objeto Page especificado y el objeto File especificado. El File contiene reglas personalizadas en un archivo JSON.
public AxePlaywrightBuilder(Page page, File rules);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| página | com.microsoft.Playwright.Page |
El objeto Page requerido. |
| reglas | File |
Un objeto File que representa un archivo JSON de reglas de accesibilidad personalizadas. |
Ejemplo
El siguiente ejemplo muestra cómo usar este constructor.
// Example Page
Page page = browser.newPage();
File customRuleset = new File("somePath/custom-ruleset.json")
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);AxePlaywrightBuilder(Page, String)
Inicializa una nueva instancia de la clase AxePlaywrightBuilder con el objeto Page especificado y el objeto String especificado, que contiene reglas personalizadas en una cadena JSON.
public AxePlaywrightBuilder(Page page, String rules);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| página | com.microsoft.Playwright.Page |
El objeto Page requerido |
| reglas | String |
Una cadena JSON que representa un conjunto de reglas de accesibilidad personalizadas. |
Ejemplo
El siguiente ejemplo de código demuestra este constructor.
// Example Page
Page page = browser.newPage();
String customRuleset = "{...}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page, customRuleset);Métodos
| Método | Descripción |
|---|---|
| analizar | Analiza la página de Playwright y devuelve un objeto AxeResults del análisis completado. |
| configurar(Archivo) | Proporciona una configuración personalizada sobre cómo se ejecuta axe-core a través de un archivo JSON. |
| configurar(Cadena) | Proporciona una configuración personalizada sobre cómo se ejecuta axe-core a través de una cadena JSON. |
| deshabilitarReglas | Impide que se ejecuten las reglas especificadas durante el análisis. |
| exclude(String) | Especifica un único selector CSS para excluir cierto contenido HTML durante el análisis. |
| exclude(List<String>) | Especifica un selector CSS de iframe para excluir cierto contenido HTML durante el análisis. |
| exclude(FromFrames) | Excluye un elemento dentro de uno o más iframes anidados. |
| exclude(FromShadowDom) | Excluye un elemento dentro de uno o más árboles de shadow DOM anidados. |
| exclude(Object) | Excluye un selector proporcionado como un único objeto. |
| exclude(Object...) | Excluye un selector que combina selectores CSS, contexto de iframe y contexto de shadow DOM. |
| include(String) | Especifica un único selector CSS que incluye contenido HTML durante el análisis. |
| include(List<String>) | Especifica un selector CSS de iframe que incluye contenido HTML durante el análisis. |
| include(FromFrames) | Incluye un elemento dentro de uno o más iframes anidados. |
| include(FromShadowDom) | Incluye un elemento dentro de uno o más árboles de shadow DOM anidados. |
| include(Object) | Incluye un selector proporcionado como un único objeto. |
| include(Object...) | Incluye un selector que combina selectores CSS, contexto de iframe y contexto de shadow DOM. |
| establecerModoLegado | Establece el modo antiguo para excluir problemas de accesibilidad que pueden ocurrir en marcos y iframes de dominios cruzados. |
| conFuenteAxe(Archivo) | Proporciona una versión personalizada de axe-core usando un objeto File. |
| conFuenteAxe(String) | Proporciona una versión personalizada de axe-core usando un objeto String. |
| conSoloReglasDeMejoresPrácticas | Verifica la accesibilidad usando solo las reglas de mejores prácticas. |
| conSoloReglasExperimentales | Verifica la accesibilidad usando solo las reglas experimentales. |
| conReglas | Limita las reglas de accesibilidad a las especificadas. |
| conTags | Limita las reglas de accesibilidad verificadas a la lista especificada de etiquetas. |
analizar
Analiza la página de Playwright (especificada cuando se creó el objeto AxePlaywrightBuilder) y devuelve un objeto AxeResults del análisis completado.
AxeResults AxePlaywrightBuilder.analyze();Devuelve
AxeResults
Ejemplo
El siguiente ejemplo de código demuestra cómo usar el método analizar.
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(Archivo)
Proporciona una configuración personalizada a axe-core a través de un archivo JSON.
public AxePlaywrightBuilder configure(File axeConfigure);Para obtener más información sobre el formato del archivo de configuración, consulte configuración de axe-core.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| archivo | File |
Un objeto File que representa una configuración de axe-core en JSON. |
Ejemplo
El siguiente ejemplo muestra cómo acceder a una configuración y usarla con un objeto AxePlaywrightBuilder.
File myAxeConfigure = new File("./axe-configure.json");
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);
configurar(Cadena)
Proporciona una configuración personalizada a axe-core (la tecnología subyacente para analizar accesibilidad) que se ejecuta a través de una cadena JSON.
public AxePlaywrightBuilder configure(String axeConfigure);Para obtener más información sobre el formato del archivo de configuración, consulte configuración de axe-core.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| axeConfig | String |
Un objeto String que representa una configuración de axe-core en JSON. |
Ejemplo
El siguiente ejemplo muestra cómo acceder a una configuración y usarla con un objeto AxePlaywrightBuilder.
String myAxeConfigure = "{..}"
AxePlaywrightBuilder axePlaywrightBuilder = new AxePlaywrightBuilder(page)
.configure(myAxeConfigure);deshabilitarReglas
Desactiva reglas para que no se ejecuten durante el análisis.
public AxePlaywrightBuilder disableRules(List<String> rules);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| reglas | List<String> | Una lista de cadenas que representan reglas a deshabilitar durante el análisis. |
Devuelve
AxePlaywrightBuilder
Ejemplo
El siguiente ejemplo muestra cómo deshabilitar la comprobación de accesibilidad para una sola regla usando el método singletonList de la clase Collections y múltiples reglas usando 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"));exclude(String)
Especifica un único selector CSS para excluir elementos HTML durante el análisis. Para omitir varias partes no relacionadas de la página, llame a exclude una vez por cada una, pasando un único selector cada vez.
public AxePlaywrightBuilder exclude(String selector);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | String |
Un selector CSS que especifica elementos que no se incluirán en un análisis de accesibilidad. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo excluir elementos del análisis con estos atributos:
class="some-class"class="some-other-class"
new AxePlaywrightBuilder(page)
.exclude(".some-class")
.exclude(".some-other-class");exclude(List<String>)
Especifica un selector CSS de iframe para excluir elementos HTML durante el análisis.
public AxePlaywrightBuilder exclude(List<String> excludeCSS);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| excludeCSS | List<String> |
Un selector CSS de iframe. Todos los selectores excepto el último coinciden con un nivel de anidación de iframe; el último coincide con el elemento a omitir dentro del iframe más interno. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo excluir elementos utilizando selectores CSS de iframe.
// To exclude everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.exclude(Arrays.asList("#parent-iframe", "#html"))Debido a que no hay una sobrecarga de exclude(String...), pasar más de una cadena a exclude también produce un único selector de iframe en lugar de exclusiones separadas. La siguiente llamada se resuelve en exclude(Object...) y significa lo mismo que el ejemplo anterior.
new AxePlaywrightBuilder(page)
.exclude("#parent-iframe", "#html")exclude(FromFrames) expresa lo mismo de manera más explícita y es la forma recomendada para nuevas pruebas.
exclude(FromFrames)
Excluya un elemento dentro de uno o más iframes anidados, usando un selector FromFrames explícito.
public AxePlaywrightBuilder exclude(FromFrames fromFrames);Importe la clase con import com.deque.html.axecore.args.FromFrames;.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| fromFrames | FromFrames |
Un selector construido a partir de un selector CSS por cada nivel de anidación de iframe, seguido de un selector para el elemento a omitir dentro del iframe más interno. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo omite el formulario dentro del iframe #payment-frame.
new AxePlaywrightBuilder(page)
.exclude(new FromFrames("#payment-frame", "form"))exclude(FromShadowDom)
Excluya un elemento dentro de uno o más árboles de shadow DOM anidados, usando un selector FromShadowDom explícito.
public AxePlaywrightBuilder exclude(FromShadowDom fromShadowDom);Importe la clase con import com.deque.html.axecore.args.FromShadowDom;.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| fromShadowDom | FromShadowDom |
Un selector construido a partir de un selector CSS por cada host de shadow, seguido de un selector para el elemento a omitir dentro del root de shadow más interno. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo omite el formulario #search dentro del root de shadow adjunto a .app-header.
new AxePlaywrightBuilder(page)
.exclude(new FromShadowDom(".app-header", "form#search"))exclude(Object)
Excluya un selector proporcionado como un único objeto. Esta sobrecarga se selecciona solo cuando el tipo estático del argumento no es uno de los tipos mencionados anteriormente, como una variable declarada como Object. Prefiera las sobrecargas tipadas.
public AxePlaywrightBuilder exclude(Object selector);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | Object |
Una cadena de selector de CSS, una lista de cadenas, un selector FromFrames o un selector FromShadowDom. |
Devuelve
AxePlaywrightBuilder
exclude(Object...)
Excluye un selector que mezcla selectores CSS simples con selectores FromFrames o FromShadowDom, para casos que las otras sobrecargas no pueden expresar.
public AxePlaywrightBuilder exclude(Object... selector);Esta sobrecarga se selecciona siempre que la llamada pase más de un argumento. Pasar un único FromFrames o FromShadowDom selecciona en su lugar exclude(FromFrames) o exclude(FromShadowDom).
Para alcanzar un iframe que vive dentro de una raíz de sombra, el selector FromShadowDom debe estar anidado dentro del selector FromFrames. La inversa causa un error.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | Object... |
Un conjunto mixto de selectores CSS y objetos de selector que forman un único camino al elemento a omitir. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo omite .target dentro de la raíz de sombra adjunta a #host, dentro del iframe #frame.
new AxePlaywrightBuilder(page)
.exclude("#frame", new FromShadowDom("#host", ".target"))include(String)
Especifica un único selector CSS para incluir durante el análisis. Para probar varias partes no relacionadas de la página, llama a include una vez por cada una, pasando un único selector cada vez.
public AxePlaywrightBuilder include(String selector);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | String |
Un selector CSS que especifica los elementos que se incluirán en un análisis de accesibilidad. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo incluir dos clases diferentes en el análisis. Observe cómo el ejemplo utiliza encadenamiento de métodos para especificar más de una clase CSS.
new AxePlaywrightBuilder(page)
.include(".some-class")
.include(".some-other-class");include(List<String>)
Especifica un selector de iframe CSS para incluir durante el análisis.
public AxePlaywrightBuilder include(List<String> includeCSS);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| includeCSS | List<String> |
Un selector de iframe CSS. Cada selector excepto el último coincide con un nivel de anidamiento de iframe; el último coincide con el elemento a probar dentro del iframe más interno. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo incluir elementos utilizando selectores CSS de iframe.
// To include everything within html of parent-iframe
new AxePlaywrightBuilder(page)
.include(Arrays.asList("#parent-iframe", "#html"))Debido a que no hay una sobrecarga include(String...), pasar más de una cadena a include también produce un único selector de iframe en lugar de inclusiones separadas. La siguiente llamada se resuelve en include(Object...) y significa lo mismo que el ejemplo anterior.
new AxePlaywrightBuilder(page)
.include("#parent-iframe", "#html")include(FromFrames) expresa lo mismo de manera más explícita y es la forma recomendada para nuevas pruebas.
include(FromFrames)
Incluye un elemento dentro de uno o más iframes anidados, utilizando un selector FromFrames explícito.
public AxePlaywrightBuilder include(FromFrames fromFrames);Importa la clase con import com.deque.html.axecore.args.FromFrames;.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| fromFrames | FromFrames |
Un selector construido a partir de un selector CSS por cada nivel de anidamiento de iframe, seguido por un selector para el elemento a probar dentro del iframe más interno. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo prueba el formulario dentro del iframe #payment-frame.
new AxePlaywrightBuilder(page)
.include(new FromFrames("#payment-frame", "form"))include(FromShadowDom)
Incluye un elemento dentro de uno o más árboles DOM de sombra anidados, utilizando un selector FromShadowDom explícito.
public AxePlaywrightBuilder include(FromShadowDom fromShadowDom);Importa la clase con import com.deque.html.axecore.args.FromShadowDom;.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| fromShadowDom | FromShadowDom |
Un selector construido a partir de un selector CSS por anfitrión de sombra, seguido por un selector para el elemento a probar dentro de la raíz de sombra más interna. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo prueba el formulario #search dentro de la raíz de sombra adjunta a .app-header.
new AxePlaywrightBuilder(page)
.include(new FromShadowDom(".app-header", "form#search"))include(Object)
Incluye un selector suministrado como un único objeto. Esta sobrecarga se selecciona solo cuando el tipo estático del argumento no es uno de los tipos anteriores, como una variable declarada como Object. Prefiere las sobrecargas tipadas.
public AxePlaywrightBuilder include(Object selector);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | Object |
Una cadena de selector de CSS, una lista de cadenas, un selector FromFrames o un selector FromShadowDom. |
Devuelve
AxePlaywrightBuilder
include(Object...)
Incluye un selector que mezcla selectores CSS simples con selectores FromFrames o FromShadowDom, para casos que las otras sobrecargas no pueden expresar.
public AxePlaywrightBuilder include(Object... selector);Esta sobrecarga se selecciona siempre que la llamada pase más de un argumento. Pasar un único FromFrames o FromShadowDom selecciona en su lugar include(FromFrames) o include(FromShadowDom).
Para alcanzar un iframe que vive dentro de una raíz de sombra, el selector FromShadowDom debe estar anidado dentro del selector FromFrames. La inversa causa un error.
Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| selector | Object... |
Un conjunto mixto de selectores CSS y objetos de selector que forman un único camino al elemento a probar. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo prueba .target dentro de la raíz de sombra adjunta a #host, dentro del iframe #frame.
new AxePlaywrightBuilder(page)
.include("#frame", new FromShadowDom("#host", ".target"))establecerModoLegado
Excluye problemas de accesibilidad que pueden ocurrir en marcos y iframes de dominio cruzado.
public AxePlaywrightBuilder setLegacyMode(boolean legacyMode);Se espera que esta API se elimine en la próxima versión de Axe DevTools.
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo activa el modo legado.
new AxePlaywrightBuilder(page)
.setLegacyMode(true);conFuenteAxe(Archivo)
Proporcionar una versión personalizada de axe-core utilizando el objeto File de Java
public AxePlaywrightBuilder withAxeSource(File file);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| archivo | File |
Un archivo que contiene JavaScript que implementa axe-core. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo usar un archivo diferente para axe-core en lugar de la versión suministrada. Solo necesitarías hacer esto en casos especializados.
File axeLegacySource = new File("somepath/axe-core@legacy.js");
new AxePlaywrightBuilder(page)
.withAxeSource(axeLegacySource);conFuenteAxe(String)
Proporciona una versión personalizada de axe-core utilizando una fuente ya analizada
public AxePlaywrightBuilder withAxeSource(String src);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| src | String |
El archivo fuente de JavaScript representado como String. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo leer un archivo en un String y usar eso como el archivo fuente con withAxeSource.
String source = IOUtils.toString(somepPath.toURI(), StandardCharsets.UTF_8);
new AxePlaywrightBuilder(page)
.withAxeSource(source);conSoloReglasDeMejoresPrácticas
Verifica problemas de accesibilidad con solo el conjunto de reglas de mejores prácticas habilitado.
public AxePlaywrightBuilder withOnlyBestPracticeRules();Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo habilitar el análisis de accesibilidad utilizando solo las reglas de mejores prácticas.
new AxePlaywrightBuilder(page)
.withOnlyBestPracticeRules();
conSoloReglasExperimentales
Verifica problemas de accesibilidad con solo el conjunto de reglas experimentales habilitado
public AxePlaywrightBuilder withOnlyExperimentalRules();Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra cómo habilitar el análisis de accesibilidad utilizando solo las reglas experimentales.
new AxePlaywrightBuilder(page)
.withOnlyExperimentalRules();
conReglas
Limite las reglas que se ejecutarán durante el análisis de accesibilidad a las especificadas.
public AxePlaywrightBuilder exclude(List<String> rules);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| reglas | List<String> |
Una lista de reglas a utilizar para el análisis de accesibilidad. |
Devuelve
AxePlaywrightBuilder
Ejemplos
El siguiente ejemplo muestra dos formas diferentes de usar el método withRules. El primero crea un List con una regla, color-contrast. El segundo crea un List que contiene las reglas color-contrast y texto alternativo de imagen.
// Single Rule
new AxePlaywrightBuilder(page)
.withRules(Collections.singletonList("color-contrast"));
// Multiple Rules
new AxePlaywrightBuilder(page)
.withRules(Arrays.asList("color-contrast", "image-alt"));conTags
Limita el análisis de accesibilidad al conjunto de reglas o conjuntos de reglas que pertenecen a las etiquetas especificadas.
public AxePlaywrightBuilder withTags(List<String> tags);Parámetros
| Nombre | Tipo | Descripción |
|---|---|---|
| etiquetas | List<String> |
Una lista de etiquetas que incluyen las reglas que deseas incluir en el análisis de accesibilidad. |
Devuelve
AxePlaywrightBuilder
Ejemplos
Este ejemplo muestra cómo limitar el análisis de accesibilidad a reglas que pertenecen a las etiquetas especificadas. El primer fragmento de código muestra cómo limitar el análisis a reglas que son parte de la especificación wcag21aa. El segundo fragmento muestra cómo limitar el análisis a la especificación wcag21aa y a las reglas best-practice.
// Single tag
new AxePlaywrightBuilder(page)
.withTags(Collections.singletonList("wcag21aa"));
// Multiple tags
new AxePlaywrightBuilder(page)
.withTags(Arrays.asList("wcag21aa", "best-practice"));