Referencia de la API WebDriverJS para Axe DevTools para Web

This page is not available in the language you requested. You have been redirected to the English version of the page.
Link to this page copied to clipboard

Referencia para las APIs en el paquete @axe-devtools/webdriverjs

Not for use with personal data

Constructor

En la configuración estándar, el único argumento que se requiere pasar al constructor de Axe DevTools es la instancia de WebDriverJS. Si deseas usar una versión diferente de axe-core a la incluida originalmente o un conjunto de reglas personalizado, puedes pasar estas opciones al constructor.

note

No puede seleccionar una versión no estándar de axe-core y un conjunto de reglas personalizado.

Constructor de Axe DevTools WebDriverJS:

AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))

Debe pasar una instancia de un Selenium WebDriver como el primer argumento. El segundo argumento opcional puede ser un ID de conjunto de reglas o un objeto axe. Si no proporciona un segundo argumento, debe configurar el archivo de configuración de reglas personalizadas de @axe-devtools/script-builder, o el constructor lanzará una excepción.

Estos ejemplos muestran cómo usar el constructor:

// instantiate with the Section 508 rule set
const builder = new AxeDevToolsBuilder(driver, '508');

// or with a specific axe instance
const axe = require('../axe-core-2.3.0');
const builder = new AxeDevToolsBuilder(driver, axe);

Reglas Personalizadas

Para obtener información sobre el uso de reglas personalizadas con Axe DevTools para Web, lea la guía sobre la generación e integración de conjuntos de reglas personalizadas en el guía CLI.

analizar

El método analyze() ejecuta el análisis y devuelve los resultados del escaneo de accesibilidad.

analyze(): Promise<axe.AxeResults>

Ejecución de un análisis usando la configuración predeterminada en el cliente dado. Se devuelve un Promise, que se resuelve con el conjunto de resultados de accesibilidad devuelto por axe-core.

analizarUniversal

El método analyzeUniversal() ejecuta el análisis y devuelve resultados en el Formato Universal de Axe. El método analyze() existente no se modifica.

analyzeUniversal(): Promise<UniversalExport>

Opciones de Cadena

Existen dos opciones para delimitar tus escaneos con Axe DevTools. Puedes elegir incluir o excluir ámbitos específicos de CSS. Los métodos de cadena (abajo) en el constructor hacen esto posible.

incluir

new AxeDevToolsBuilder(driver).include('<CSS-Selector>');

Añade un selector CSS a la lista de elementos a incluir en el análisis. Los elementos fuera del alcance pasado a include() no serán escaneados.

excluir

new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');

Añade un selector CSS a la lista de elementos a excluir del análisis. Solo se escanearán los elementos fuera del alcance pasado a exclude().

Estos métodos pueden encadenarse para refinar aún más el alcance del escaneo, como se muestra a continuación:

new AxeDevToolsBuilder(driver).include('<CSS-Selector>').exclude('<Inner-CSS-Selector>');

En este ejemplo, todos los elementos dentro de <CSS-Selector> serían escaneados, excepto los elementos dentro de <Inner-CSS-Selector>.

Configuración de Reglas

Los métodos de configuración de reglas sobrescriben la configuración estándar de reglas. Las llamadas adicionales con estos métodos sobrescribirán las llamadas anteriores.

conReglas

El método withRules() limita el análisis solo a aquellas reglas con los ID de reglas especificados. Acepta una cadena para un solo ID de regla o un arreglo de múltiples ID de reglas.

Estos ejemplos muestran cómo usar withRules con un solo ID de regla y un arreglo de ID de reglas:

//with a single rule ID
AxeDevToolsBuilder(driver).withRules('html-lang');

//with an array of rule IDs
AxeDevToolsBuilder(driver).withRules(['html-lang', 'image-alt']);

conEtiquetas

El método withTags() limita el análisis solo a aquellas reglas asociadas con la etiqueta proporcionada. Acepta una sola etiqueta o un arreglo de etiquetas, como se muestra a continuación:

//with a single tag
AxeDevToolsBuilder(driver).withTags('wcag2a');

//with an array of tags
AxeDevToolsBuilder(driver).withTags(['wcag2a', 'wcag2aa']);

desactivarReglas

AxeDevToolsBuilder.disableRules(rules: RuleID[]): AxeDevToolsBuilder

El método disableRules() hace que el arreglo de reglas proporcionadas se omita al ejecutar un análisis.

opciones de axe-core

opciones

.options(options: Axe.RunOptions)

El método options especifica las opciones que deben ser usadas por axe.run. Anulará cualquier otra opción configurada, incluidas las llamadas a withRules y withTags. Vea el documentación de la API de axe-core para obtener información.

new AxeDevToolsBuilder(page).options({
  checks: { 'valid-lang': ['orcish'] }
});

configurar

.configure(config: Axe.Spec)

El método configure inyecta un objeto de configuración de axe para modificar el conjunto de reglas antes de un análisis. Las llamadas subsecuentes a este método invalidarán las anteriores al llamar a axe.configure() y reemplazar el objeto de configuración. Vea documentación de la API de axe-core para la estructura del objeto.

El siguiente ejemplo crea una nueva configuración de axe-core y la pasa a Axe DevTools para ser utilizada en el escaneo:

const config = {
  checks: [Object],
  rules: [Object]
};
const results = await new AxeDevToolsBuilder(page).configure(config).analyze();

Servicio de uso

Por defecto, el servicio de uso está habilitado y la URL predeterminada es https://usage.deque.com. Establece la variable de entorno AXE_TRACK_USAGE en false para desactivarlo.

Variables de entorno

Estas variables de entorno te permiten configurar el servicio de uso y cambiar las propiedades de los eventos reportados.

Nombre Tipo Puede sobrescribir Descripción
AXE_DISTINCT_ID Cadena Un identificador UUID que permanece igual para el usuario registrado (a menos que se regenere). En Ruby, esta variable se llama DEQUE_DISTINCT_ID.
AXE_INCLUDE_TEST_RESULTS Booleano Configúrelo en true para incluir los resultados completos de axe-core en el objeto testResults de cada evento (el valor predeterminado es false). Compatible solo con el CLI y las API de Node.js.
AXE_METRICS_URL Cadena La URL del punto final de uso de REST (el valor predeterminado es https://usage.deque.com)
AXE_TRACK_USAGE Booleano Configúrelo en false para desactivar la generación de informes del servicio de uso. El informe está habilitado de forma predeterminada.
AXE_APPLICATION Cadena falso La aplicación que se utilizó para verificar errores de accesibilidad
AXE_DEV_INSTANCE Booleano verdadero Indica si este evento es producto de las acciones de un desarrollador de software. Útil para marcar y luego eliminar eventos registrados durante el desarrollo o las pruebas.
AXE_DEPARTMENT Cadena verdadero El departamento del usuario dentro de la organización
AXE_KEYCLOAK_ID Cadena falso El ID de Keycloak del usuario
AXE_LOGGED_IN Booleano falso Registra si el usuario está conectado a la aplicación bajo prueba
AXE_ORGANIZATION Cadena verdadero La organización del usuario. Para que su uso aparezca en Axe Reports, configúrelo con el ID de su organización (contacte a Deque para obtenerlo).
AXE_SESSION_ID Cadena falso Un UUID que identifica la sesión del usuario
AXE_USER_ID Cadena falso La identidad específica de un usuario, como una dirección de correo electrónico, nombre o ID de inicio de sesión. Axe Reports cuenta usuarios únicos a partir de este valor.
AXE_USER_JOB_ROLE Cadena falso El rol laboral del usuario
AXE_USER_STATUS Cadena falso Información de estado que desea asociar con el usuario

habilitarSeguimiento

Este método permite a los usuarios optar por enviar o no enviar datos al servicio de uso. El envío está habilitado por defecto.

.enableTracking(state: boolean)
AxeDevToolsBuilder(driver).enableTracking(true)

establecerUrlDeSeguimiento

Este método permite a los usuarios cambiar el destino al que se envían los datos de métricas de uso.

.setTrackingUrl(url: string)
AxeDevToolsBuilder(driver).setTrackingUrl('https://foobar.biz')

establecerIdDistinto

Este método permite a los usuarios cambiar el ID distinto que se almacena o utiliza.

.setDistinctId(distinctId: string)
AxeDevToolsBuilder(driver).setDistinctId('foobar')