Referencia de API de WebDriverJS para axe DevTools for Web
Referencia para las APIs en el paquete @axe-devtools/webdriverjs
Constructor
En la configuración estándar, el único argumento que debe pasarse al constructor axe DevTools es la instancia de WebDriverJS. Si desea utilizar una versión de axe-core diferente a la incluida originalmente o un conjunto de reglas personalizado, puede pasar estas opciones al constructor.
No puedes seleccionar una versión de axe-core no estándar ** ni ** un conjunto de reglas personalizado.
Constructor Axe DevTools WebDriverJS:
AxeDevToolsBuilder(driver:WebDriver, String:ruleset|Object:axe (optional))
Debe pasar una instancia de Selenium WebDriver 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 @axe-devtools/script-builder o el constructor generará una excepción.
Estos ejemplos muestran cómo utilizar 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, lea la guía sobre generación e integración de conjuntos de reglas personalizados en la guía CLI.
analizar
El analyze()
método ejecuta el análisis y devuelve los resultados del escaneo de accesibilidad.
analyze(): Promise<axe.AxeResults>
Ejecute un análisis utilizando la configuración predeterminada en el cliente determinado. Se devuelve una Promise
, que se resuelve con el conjunto de resultados de accesibilidad devuelto por axe-core.
Opciones de secuencia
Existen dos opciones para delimitar el alcance de los escaneos de axe DevTools. Puede elegir incluir o excluir ámbitos CSS específicos. Los métodos de cadena (abajo) del constructor hacen esto posible.
incluir
new AxeDevToolsBuilder(driver).include('<CSS-Selector>');
Agrega 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>');
Agregue un selector CSS a la lista de elementos a excluir del análisis. Sólo se escanearán los elementos fuera del alcance pasado a exclude()
.
Estos métodos se pueden encadenar 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, se escanearían todos los elementos dentro de <CSS-Selector>
, excepto los elementos dentro de <Inner-CSS-Selector>
.
Configuración de reglas
Los métodos de configuración de reglas sobrescriben la configuración de reglas estándar. Las llamadas adicionales con estos métodos sobrescribirán las llamadas anteriores.
withRules
El método withRules()
limita el análisis únicamente a aquellas reglas con los identificadores de regla especificados. Acepta una cadena para una única ID de regla o un array de múltiples ID de reglas.
Estos ejemplos muestran el uso de [missing term] withRules
con un único ID de regla y una matriz 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']);
Con etiquetas
El método [missing term] withTags()
limita el análisis únicamente a aquellas reglas asociadas con la etiqueta proporcionada. Acepta una sola etiqueta o una matriz 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']);
Desactivar reglas
AxeDevToolsBuilder.disableRules(rules: RuleID[]): AxeDevToolsBuilder
El método disableRules()
hace que se omita el arreglo de reglas proporcionado cuando se ejecuta un análisis.
Opciones de axe-core
Opciones
.options(options: Axe.RunOptions)
El método options
especifica las opciones que utilizará axe.run. Anulará 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 método configure
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 conocer la estructura del objeto.
El siguiente ejemplo crea una nueva configuración de axe-core y la pasa a axe DevTools para que se use para escanear:
const config = {
checks: [Object],
rules: [Object]
};
const results = await new AxeDevToolsBuilder(page).configure(config).analyze();
Servicio de uso
De forma predeterminada, el servicio de uso está deshabilitado y la URL predeterminada es https://usage.deque.com
.
Variables de entorno
Este método permite a los usuarios cambiar valores específicos del servicio de uso a través de variables de entorno.
Variable ambiental | Tipo |
---|---|
AXE_IS_LOGGED_IN | Booleano |
AXE_KEYCLOAK_ID | Cadena |
AXE_USER_ID | Cadena |
AXE_SESSION_ID | Cadena |
AXE_USER_STATUS | Cadena |
AXE_USER_JOB_ROLE | Cadena |
AXE_DISTINCT_ID | Cadena |
AXE_IS_DEV_INSTANCE | Booleano |
AXE_ORGANIZACIÓN | Cadena |
APLICACIÓN AXE | Cadena |
AXE_METRICS_URL | Cadena |
AXE_TRACK_USAGE | Booleano |
Habilitar seguimiento
Este método permite a los usuarios optar por enviar datos al servicio de uso.
.enableTracking(state: boolean)
AxeDevToolsBuilder(driver).enableTracking(true)
setTrackingUrl
Este método permite a los usuarios cambiar dónde se envían los datos de las métricas de uso.
.setTrackingUrl(url: string)
AxeDevToolsBuilder(driver).setTrackingUrl('https://foobar.biz')
establecerIdDistinto
Este método permite a los usuarios cambiar la identificación distinta que se almacena o utiliza.
.setDistinctId(distinctId: string)
AxeDevToolsBuilder(driver).setDistinctId('foobar')