axe DevTools for Web Cucumber
La gema axe-devtools-cucumber
proporciona definiciones de pasos personalizadas para evaluar si una página determinada está axe clean.
Esta gema amplía los pasos proporcionados en el archivo readme de la gema axe-core-cucumber.
Configuración y uso
Asegúrese de tener acceso al [registro de Deque] [configuración del registro npm de attest]. En caso contrario, consulte la configuración.
- Agregue
axe-devtools-cucumber
a su archivo Gemfile o gemspec y ejecutebundle install
.
gem "axe-devtools-cucumber"
spec.add_dependency "axe-devtools-cucumber"
- Requerir las definiciones de pasos ofrecidas por la gema. Normalmente, puedes hacer esto agregando a un archivo de configuración de Cucumber existente en
features/support/env.rb
.
require 'axe-cucumber-steps'
- Úselo con el [WebDriver][axe devtools] de su elección.
API
Paso - Be axe Clean (be axe clean
)
El paso be axe clean
es el componente central de la integración. Es un paso completo por sí solo y verificará que la página cargada actualmente esté axe clean utilizando la configuración predeterminada de axe.run (todo el documento se verifica utilizando las reglas predeterminadas).
Then the page should be axe clean
Paso - Ser auditado para accesibilidad (be audited for accessibility
)
Este paso le permite auditar la accesibilidad de su sitio sin que el conjunto de pruebas falle. Para los identificados violations
, los comparadores convertirán el ejemplo de prueba a pending
y generarán las violaciones detalladas.
Then the page should be audited for accessibility [including]
[excluding] [according to/according to ruleset] [checking rules/checking-only-rules]
[skipping rules] [logging results for]
Cláusulas
Las cláusulas son métodos encadenables para las be axe clean
definiciones de pasos y be audited for accessibility
.
Las cláusulas configurables permiten una mayor granularidad con las pruebas y las expectativas.
within
- Cláusula de inclusión
La cláusula de inclusión (within "#selector"
) especifica qué elementos de la página deben comprobarse. Se debe proporcionar un selector CSS válido y encerrarlo entre comillas dobles. Los selectores compuestos se pueden utilizar para seleccionar múltiples elementos, por ejemplo, within "#header, .footer"
Para obtener más información, consulte la [documentación del parámetro de contexto][context-param].
Then the page should be axe clean within "#selector"
excluding
- Cláusula de exclusión
La cláusula de exclusión (excluding "#selector"
) especifica qué elementos del documento deben ignorarse. Se debe proporcionar un selector CSS válido y encerrarlo entre comillas dobles. Los selectores compuestos se pueden utilizar para seleccionar múltiples elementos, por ejemplo, excluding "#widget, .ad"
. Para obtener más información, consulte la [documentación del parámetro de contexto][context-param].
Then the page should be audited for accessibility excluding "#selector"
Si se desea, se puede utilizar un punto y coma (;
) o la palabra but
para separar la cláusula de exclusión de la cláusula de inclusión (si está presente).
Then the page should be audited for accessibility within "main"; excluding "aside"
Then the page should be axe clean within "main" but excluding "aside"
according to
- Cláusula de Estándar de Accesibilidad (Etiqueta)
La cláusula de etiqueta especifica qué estándar (o estándares) de accesibilidad se deben usar para verificar la página. Los estándares de accesibilidad se especifican por nombre (etiqueta). Se pueden especificar varios estándares separados por comas, por ejemplo, according to: wcag2a, section508
. Los [nombres de etiquetas aceptables] están documentadosoptions-param así como una lista completa de reglas que corresponden a cada etiqueta.
Then the page should be audited for accessibility according to: tag-name
Si se desea, se puede utilizar un punto y coma (;
) para separar la cláusula de etiqueta de la cláusula anterior.
Then the page should be axe clean within "#header"; according to: best-practice
checking
- Cláusula de reglas de verificación
La cláusula checking-rules especifica qué reglas adicionales ejecutar (además de las etiquetas especificadas, si las hay, o el conjunto de reglas predeterminado). Las reglas se especifican mediante identificadores de reglas separados por comas.
Then the page should be axe clean checking: ruleId
Para obtener una lista de identificaciones de reglas válidas, consulte la documentación de reglas.
Si se desea, se puede utilizar un punto y coma (;
) o la palabra and
para separar la cláusula de reglas de verificación de la cláusula anterior.
Then the page should be axe clean according to: wcag2a; checking: color-contrast
Then the page should be audited for accessibility according to: wcag2a and checking: color-contrast
checking only
- Cláusula de reglas exclusivas
Esta cláusula no es realmente una cláusula separada. Más bien, al agregar la palabra only
a la cláusula de reglas de verificación, se puede cambiar el significado del paso. Como se describió anteriormente, de manera predeterminada la cláusula checking-rules especifica _ reglas _ adicionales para ejecutar. Si se utiliza la palabra only
, entonces sólo se comprueban las reglas especificadas.
Then the page should be axe clean checking only: ruleId
skipping
- Cláusula de reglas de omisión
La cláusula skipping-rules especifica qué reglas para omitir. Esto permite proporcionar un estándar de accesibilidad (a través de la cláusula de etiqueta) ignorando una regla particular. Las reglas se especifican mediante identificadores de reglas separados por comas.
Then the page should be audited for accessibility skipping: ruleId
Para obtener una lista de identificaciones de reglas válidas, consulte la documentación de reglas.
Puede utilizar un punto y coma (;
) o la palabra but
para separar la cláusula de reglas a omitir de la cláusula anterior, como se muestra a continuación:
Then the page should be axe clean according to: wcag2a; skipping: accesskeys
Then the page should be audited for accessibility according to: wcag2a but skipping: accesskeys
Cláusulas disponibles solo para paso - Ser auditado por accesibilidad
El be audited for accessibility
comparador proporciona soporte para dos cláusulas adicionales.
according to ruleset
- Cláusula de conjunto de reglas
La cláusula de conjunto de reglas [according to ruleset]
ayuda a especificar un único conjunto de reglas (por ejemplo, 508, wcag2, wcag21) que se utilizará para comprobar la página.
Then the page should be axe clean according to ruleset: wcag2
logging results
- Cláusula de resultados de registro
Para registrar los resultados del comparador base y las cláusulas, invoque el método encadenable logging results
como se muestra a continuación. La cláusula logging results for: report_name
permite especificar el nombre del informe generado al final de la ejecución del paso.
Then the page should be audited for accessibility logging results for: axe_report_of_my_site
Interoperabilidad entre cláusulas
Todas las cláusulas descritas pueden mezclarse y combinarse mediante encadenamiento de métodos. A continuación se muestran algunos ejemplos.
Then the page should be audited for accessibility within "main, header" but excluding "footer"
Then the page should be axe clean excluding "#sidebar" according to: wcag2a, wcag2aa but skipping: color-contrast
Then the page should be audited for accessibility checking only: document-title, label
Then the page should be axe clean according to: best-practice and checking: aria-roles, definition-list
Uso avanzado de la API
Consulta uso avanzado para ver cómo configurar la API para:
- Reglas personalizadas
- Ruta personalizada a la fuente de axe
- Registro de uso
- Informes