Axe DevTools para Web Cucumber
Configuración y uso de la gema axe-devtools-cucumber para pruebas de accesibilidad basadas en Cucumber
La gema axe-devtools-cucumber proporciona definiciones de pasos personalizadas para evaluar si una página dada está libre de errores según axe.
Esta gema amplía pasos proporcionados por el archivo readme del gem axe-core-cucumber.
Configuración y Uso
Asegúrate de tener acceso a Deque's registry. Si no, refer to setup.
- Añade
axe-devtools-cucumbera tu archivo Gemfile o gemspec y ejecutabundle install.
gem "axe-devtools-cucumber"spec.add_dependency "axe-devtools-cucumber"- Requiere las definiciones de paso ofrecidas por la gema. Normalmente, puedes hacer esto añadiendo a un archivo de configuración de cucumber existente bajo
features/support/env.rb.
require 'axe-cucumber-steps'- Usa con el WebDriver de tu elección.
API
Paso - Estar libre de errores axe (be axe clean)
El paso be axe clean es el componente principal de la integración. Es un paso completo por sí solo y verificará que la página cargada actualmente esté libre de errores axe usando la configuración predeterminada de axe.run (todo el documento se verifica usando las reglas predeterminadas).
Then the page should be axe cleanPaso - Ser auditado por accesibilidad (be audited for accessibility)
Este paso te permite auditar la accesibilidad de tu sitio sin fallar el conjunto de pruebas. Para los violations identificados, los corresponsales convertirán el ejemplo de prueba en pending y se mostrará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 definiciones de los pasos be axe clean y be audited for accessibility.
Las cláusulas configurables permiten una mayor granularidad con las pruebas y expectativas.
within- Cláusula de Inclusión
La cláusula de inclusión (within "#selector") especifica qué elementos de la página deben ser revisados. Se debe proporcionar un CSS selector válido y encerrarlo entre comillas dobles. Se pueden usar selectores compuestos para seleccionar múltiples elementos, por ejemplo, within "#header, .footer". Para más información, consulta el context parameter documentation.
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 ser ignorados. Se debe proporcionar un CSS selector válido y encerrarlo entre comillas dobles. Se pueden usar selectores compuestos para seleccionar múltiples elementos, por ejemplo, excluding "#widget, .ad". Para más información, consulta el context parameter documentation.
Then the page should be audited for accessibility excluding "#selector"Si se desea, se puede usar 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 de accesibilidad (o estándares) debe utilizarse para revisar la página. Los estándares de accesibilidad se especifican por nombre (etiqueta). Se pueden especificar múltiples estándares cuando se separan con comas, por ejemplo, according to: wcag2a, section508. El tag names are documented aceptable así como un complete listing of rules que corresponda a cada etiqueta.
Then the page should be audited for accessibility according to: tag-nameSi se desea, se puede usar un punto y coma (;) para separar la cláusula de etiqueta de la cláusula precedente.
Then the page should be axe clean within "#header"; according to: best-practicechecking- Cláusula de Reglas de Comprobación
La cláusula de reglas de comprobación especifica qué adicional reglas ejecutar (además de las etiquetas especificadas, si las hay, o el conjunto de reglas predeterminado). Las reglas se especifican por identidades de regla separadas por comas.
Then the page should be axe clean checking: ruleIdPara ver una lista de identidades de regla válidas, consulta el rules documentation.
Si se desea, se puede usar un punto y coma (;) o la palabra and para separar la cláusula de reglas de comprobación de la cláusula precedente.
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-contrastchecking only- Cláusula de Reglas Exclusivas
Esta cláusula no es realmente una cláusula separada. Pero al agregar la palabra only a la cláusula de reglas de comprobación, se puede cambiar el significado del paso. Como se describe arriba, por defecto, la cláusula de reglas de comprobación especifica las reglas adicional para ejecutar. Si se utiliza la palabra only, entonces solamente se verificarán solamente las reglas especificadas.
Then the page should be axe clean checking only: ruleIdskipping- Cláusula de Reglas a Omitir
La cláusula de reglas a omitir especifica qué reglas se deben omitir. Esto permite que se proporcione un estándar de accesibilidad (a través de la cláusula de etiqueta) mientras se ignora una regla en particular. Las reglas se especifican por identidades de regla separadas por comas.
Then the page should be audited for accessibility skipping: ruleIdPara ver una lista de identidades de regla válidas, consulta el rules documentation.
Puedes usar un punto y coma (;) o la palabra but para separar la cláusula de reglas a omitir de la cláusula precedente, 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: accesskeysCláusulas disponibles solo para el paso - Ser auditado para accesibilidad
El corresponsal be audited for accessibility 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 solo conjunto de reglas (por ejemplo, 508, wcag2, wcag21) que se utilizará para revisar la página.
Then the page should be axe clean according to ruleset: wcag2logging results- Cláusula de Registro de Resultados
Para registrar los resultados del corresponsal base y las cláusulas, invoca 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_siteInteroperabilidad entre cláusulas
Todas las cláusulas descritas pueden combinarse y usarse con encadenamiento de métodos. A continuación se presentan 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-listUso avanzado de API
Consulte advanced usage para ver cómo configurar la API para:
- Reglas personalizadas
- Ruta personalizada a la fuente de axe
- Grabación de uso
- Informes
