Cualquier tipo de páginas completas o incluso nuestras aplicaciones completas. Me gusta usar Cypress.io. Este es un marco de pruebas de extremo a extremo de código abierto. Es realmente excelente para las pruebas impulsadas por el navegador y tiene un excelente soporte de accesibilidad.
Otro beneficio es que Cypress tiene este complemento llamado Cypress Acts que me gusta mucho. Es bastante similar a Lighthouse y React Acts en el sentido de que verifica los errores de accesibilidad, excepto que está integrado directamente en su conjunto de pruebas. Mantiene todas sus validaciones en un solo lugar y permite una integración sencilla en su canal de CI/CD.
Usando Cypress, escribamos una prueba muy simple para el mismo formulario de registro de Slack que acabamos de mencionar. Queremos saber si nuestro componente de registro de Slack funciona solo con el teclado. Vamos a buscar nuestro campo de entrada accesible. Vamos a escribir una dirección de correo electrónico válida, presionar Tab para llegar al botón Enviar y luego presionar la tecla Enter para enviar nuestra dirección de correo electrónico. Por último, vamos a comprobar que nuestra alerta accesible se actualice con ese mensaje de éxito.
Ahora, eso fue realmente rápido, simple y muy pequeño, pero esto prueba todo el flujo del usuario de nuestro formulario de registro de Slack cuando enviamos correctamente una dirección de correo electrónico a este formulario. Podemos hacer esto simulando el uso solo del teclado. Eso es lo que queremos comprobar en nuestras pruebas de extremo a extremo, específicamente. Queremos comprobar cómo interactúa el usuario con mi aplicación o mi sitio web. ¿Cómo puedo traducir eso en una prueba y validar que funcione, y cómo lo hago a través de una perspectiva de accesibilidad?
También podemos probar que estamos alertando de errores de la misma manera que lo hicimos en nuestra prueba de integración, asegurándonos de que los errores se anuncien correctamente a nuestros usuarios. O podemos ir un paso más allá y preguntarnos, ¿qué sucede si quiero probar todo mi flujo de navegación? ¿Qué sucede cuando un usuario utiliza una aplicación de una sola página? ¿Y cuáles son las implicaciones para la navegación y el soporte de accesibilidad? En las pruebas de extremo a extremo, estamos pensando en nuestros usuarios, pensando en el flujo de nuestros sitios web y luego nuestras aplicaciones, y descubriendo cómo queremos validar todos estos conceptos a medida que se van uniendo.
Y eso es todo para las pruebas. Eso fue mucho para cubrir utilizando solo los tres tipos de pruebas en los que generalmente nos enfocamos. Nuestras pruebas unitarias serán para las API y los comportamientos de nuestros componentes. Las pruebas de integración serán para los componentes que interactúan entre sí o dependen de otros componentes, y las pruebas de extremo a extremo son para validar flujos de usuario completos. Entonces, juntando todo eso, nuestras herramientas nos ayudan a prevenir que se introduzcan errores de accesibilidad mientras escribimos código, lo comprometemos en bases de código y lo implementamos en producción. Nos ayudarán a generar auditorías y descubrir dónde podemos mejorar nuestro soporte de accesibilidad. Y luego, en nuestras pruebas, cubrimos las pruebas unitarias, de integración y de extremo a extremo, cuándo es apropiado usar cada tipo y qué probar cuando trabajamos en cada categoría.
Ahora, eso fue admitidamente mucho para cubrir en un tiempo muy corto. Y aún hay mucho que no hemos descubierto, que será realmente fundamental para crear un flujo de desarrollo de accesibilidad que beneficiará a sus proyectos y sus equipos. Entonces, si puedo dejarles solo un consejo que quiero que se lleven, es que, admitidamente, puede ser abrumador si es la primera vez que piensan en la accesibilidad de sus proyectos. Y están evaluando el trabajo que se necesita para llevarlo a los estándares y crear procesos realmente confiables en torno a ellos. Por lo tanto, no se espera que tengan un sitio completamente accesible o una cobertura de pruebas del 100% el primer día. Les insto a realizar cambios incrementales donde puedan y a eliminar consistentemente los errores de accesibilidad.
Comments