Referencia de la API WebDriverJS para Axe DevTools para Web
Referencia para las APIs en el paquete @axe-devtools/webdriverjs
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.
No puedes 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))Debes pasar una instancia de un WebDriver de Selenium como primer argumento. El segundo argumento opcional puede ser un ID de conjunto de reglas o un axe objeto. Si no proporcionas un segundo argumento, debes 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 cómo usar reglas personalizadas con Axe DevTools para Web, lee la guía sobre la generación e integración de conjuntos de reglas personalizadas en la guía CLI.
analizar
El método analyze() ejecuta el análisis y devuelve los resultados del escaneo de accesibilidad.
analyze(): Promise<axe.AxeResults>Ejecuta un análisis utilizando 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 los resultados en el Formato Universal de Axe. El método existente analyze() 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>');Agrega un selector CSS a la lista de elementos para incluir en el análisis. Los elementos fuera del alcance pasado a include() no serán escaneados.
excluir
new AxeDevToolsBuilder(driver).exclude('<CSS-Selector>');Agrega un selector CSS a la lista de elementos para excluir del análisis. Solo los elementos fuera del alcance pasado a exclude() serán escaneados.
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 por 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 IDs de regla especificados. Acepta una cadena para un único ID de regla o un arreglo de múltiples IDs de regla.
Estos ejemplos muestran el uso de withRules con un único ID de regla y un arreglo de IDs de regla:
//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[]): AxeDevToolsBuilderEl método disableRules() método hace que se omita el conjunto de reglas proporcionado al realizar un análisis.
opciones de axe-core
opciones
.options(options: Axe.RunOptions)El options método especifica las opciones que utilizará axe.run. Sobrescribirá cualquier otra opción configurada, incluidas las llamadas a withRules y withTags. Consulte la 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 configure método inyecta un objeto de configuración de axe para modificar el conjunto de reglas antes de un análisis. Las llamadas posteriores a este método invalidarán las anteriores llamando a axe.configure() y reemplazando el objeto de configuración. Consulte la 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á desactivado, y la URL predeterminada es https://usage.deque.com.
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) |
AXE_METRICS_URL |
Cadena | — | La URL del punto final de uso de REST |
AXE_TRACK_USAGE |
Booleano | — | Habilita la generación de informes del servicio de uso (el valor predeterminado es false) |
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 |
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 su nombre o ID de inicio de sesión |
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 datos al servicio de uso.
.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')