Mi Viaje de Accesibilidad: en busca de una Biblioteca de Componentes Accesibles

Rate this content
Bookmark

Crear aplicaciones web puede ser desafiante. Crear aplicaciones accesibles - aún más. Sin embargo, el verdadero desafío radica en mantener la accesibilidad en tu proyecto, ya que requiere conocimientos y habilidades más allá de los de desarrollo web tradicional. Para lograr esto, debes elegir las herramientas adecuadas para mantener un alto nivel de accesibilidad cuando se refactoriza el código, monitorear el estado de accesibilidad y probarlo automáticamente durante la integración continua. Para abordar estos desafíos, presentaré un enfoque diferente que entrelaza la accesibilidad en el núcleo de la aplicación web mediante la creación de una biblioteca de componentes accesibles en React. Discutiré los principios, herramientas y técnicas que utilizo para probar y mantener el nivel de accesibilidad a lo largo del tiempo, y te proporcionaré la receta inicial para impulsar el cambio de accesibilidad en tu organización.

FAQ

La accesibilidad se trata de inclusión y permite que todas las personas, incluidas aquellas con discapacidades, puedan usar aplicaciones y sitios web. Se enfoca en asegurar que todos los usuarios puedan navegar e interactuar con el contenido de manera efectiva.

Es crucial probar la accesibilidad para asegurar que todas las funcionalidades de una aplicación sean usables para personas con diversas capacidades, garantizando una experiencia inclusiva y evitando la exclusión de usuarios con discapacidades.

Una estrategia efectiva incluye hacer accesible cada componente desde el inicio, emplear etiquetas HTML adecuadas, automatizar las pruebas de accesibilidad y mantener un código accesible a lo largo de los cambios y actualizaciones del proyecto.

Se utilizan herramientas como Storybook para visualizar componentes, frameworks como React y TypeScript para la construcción, y Cypress junto con herramientas especializadas como CircusCI para pruebas y despliegue continuo.

Mantener un conjunto de pruebas de accesibilidad actualizado es vital. Esto permite verificar que los niveles de accesibilidad se mantengan altos incluso cuando se realizan grandes modificaciones en los componentes de la aplicación.

El primer paso es descomponer la aplicación en componentes más pequeños, identificar los comunes entre proyectos y comenzar a adaptar cada uno para que cumpla con los estándares de accesibilidad desde su diseño inicial.

La automatización de pruebas de accesibilidad ayuda a identificar y corregir problemas de forma eficiente, asegurando que los componentes cumplan con los requisitos de accesibilidad de manera consistente y sin depender exclusivamente de revisiones manuales.

Asaf Shochet Avida
Asaf Shochet Avida
23 min
24 Oct, 2022

Comments

Sign in or register to post your comment.

Video Summary and Transcription

La charla discute el viaje del orador en la creación de aplicaciones accesibles y la importancia de evitar que se envíe código inaccesible. Explora el proceso de construcción y creación de componentes accesibles, enfatizando el uso de etiquetas HTML apropiadas y realizando pruebas funcionales y de accesibilidad. La charla también destaca los beneficios de la automatización en la prueba y solución de problemas de accesibilidad. En general, enfatiza la importancia de la accesibilidad y proporciona consejos prácticos para incorporarla en el desarrollo de software.

1. Mi Viaje en Accesibilidad

Short description:

La primera vez que tuve una prueba de accesibilidad, fue un éxito en un aspecto, pero un completo fracaso en el otro. Trabajamos duro para hacer que la aplicación fuera accesible, pero cada vez que hacíamos cambios, la accesibilidad quedaba atrás. El código estaba lleno de parches y trucos, no era mantenible a largo plazo.

Hola. La primera vez que tuve una prueba de accesibilidad hace unos años, fue un éxito en un aspecto, pero un completo fracaso en el otro. Teníamos una aplicación y trabajamos muy duro para hacerla accesible, aplicando muchos parches y técnicas específicas de accesibilidad y código accesible, pero cada vez que teníamos que cambiar algo en el código, por ejemplo, un esfuerzo de rebranding, nuevos colores o una nueva interacción, la accesibilidad simplemente se quedaba atrás porque nadie se acordaba de probarla. Por eso, la mayoría de las veces estaba rota, algo así como esto. Quiero decir, el código funcionaba en cuanto a funcionalidad, pero si mirabas bajo el capó, estaba lleno de parches, lleno de trucos, no era algo de lo que estuviéramos muy orgullosos. Y no era algo que se pudiera mantener durante mucho tiempo.

2. Mi Viaje en Accesibilidad: Introducción

Short description:

En mi otro proyecto, hicimos las cosas de manera diferente para hacerlo accesible desde el principio y de manera mantenible. Esta charla trata sobre mi viaje en accesibilidad y la búsqueda de una biblioteca de componentes accesibles. La accesibilidad se trata de inclusión y permitir que todos usen tu aplicación. Queremos evitar que se envíe código inaccesible. Comenzamos probando la accesibilidad paso a paso, como los flujos de inicio de sesión, olvidé mi contraseña, registro, cierre de sesión, compra y contacto de soporte.

Así que por eso, en mi otro proyecto, cuando comenzamos un nuevo proyecto de accesibilidad y en una empresa diferente, hicimos las cosas de manera diferente. Queríamos hacerlo accesible desde el principio y de manera mantenible. Y si estás abordando el mismo problema hoy o estás intentando hacer que tu aplicación sea accesible de una manera que dure, esta charla es para ti.

Así que déjame comenzar. Esta charla se llama mi viaje en accesibilidad, la búsqueda de una biblioteca de componentes accesibles, o como debería ser el nombre completo, mi viaje en accesibilidad, la búsqueda de una biblioteca de componentes accesibles que refleje, rediseñe y sea mantenible y testeable. Son pequeños puntos, pero son muy importantes para nosotros tener código accesible.

Así que déjame presentarme. Soy Asaf. Soy el padre de Sahr, Naziv, y he estado en el campo del desarrollo web durante más de una década en varios roles y actualmente soy el líder técnico de frontend para Avinst, una startup que se especializa en brindar a los desarrolladores excelentes herramientas de desarrollo para accesibilidad. Por ejemplo, tenemos algoritmos basados en visión por computadora y aprendizaje automático que ayudan a detectar y encontrar problemas de accesibilidad. Creamos extensiones para Chrome y otras extensiones para dispositivos móviles que ayudan a los desarrolladores y probadores a encontrar problemas en sus aplicaciones. Y desarrollamos SDK que amplían los marcos de prueba como Cypress o Selenium y les brindan complementos de accesibilidad para sus pruebas. Voy a profundizar en este último punto en breve en esta presentación.

Antes de comenzar, ¿qué es la accesibilidad? La accesibilidad se trata de inclusión. Se trata de permitir que todos entren. Permitir que todas las personas usen tu increíble aplicación. Por ejemplo, una persona con discapacidad física que no puede usar el mouse aún necesitará una forma de navegar por tu sitio web y hacer clic en tu menú desplegable y seleccionar la tercera opción que abre otro submenú, y luego seleccionar la cuarta opción desde allí. Entonces, si tienes algún tipo de navegación o interacción para los usuarios que todos tenemos en nuestras aplicaciones, quieres asegurarte de que esto también sea accesible para alguien que no puede usar el mouse. Y no es trivial. Debería serlo, pero no lo es. Entonces, lo que hacemos es evitar que este tipo de cosas salgan de nuestro código. Queremos enviar solo código que sea accesible desde el principio.

Cuando queremos hacer que nuestra propia aplicación sea accesible, pensamos en dónde deberíamos comenzar este esfuerzo. Tuvimos varias ideas. Todo provino del lado de las pruebas. Quiero decir, estas ideas son muy similares a las discusiones que tuvimos sobre las pruebas. Podemos probar el producto o probar la accesibilidad del flujo del producto. Por ejemplo, podemos cubrir el flujo de inicio de sesión, comenzar con la pantalla de inicio de sesión y luego confirmar que el cuadro de diálogo de inicio de sesión es válido, que el flujo de olvidé mi contraseña funciona y que el registro y el cierre de sesión también funcionan con el teclado y con el lector de pantalla, que es una tecnología accesible, por ejemplo. Lo mismo para el flujo de compra y el flujo de contacto de soporte. Disculpa mi voz. Tengo un poco de resfriado.

Check out more articles and videos

We constantly think of articles and videos that might spark Git people interest / skill us up or help building a stellar career

Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
React Advanced Conference 2021React Advanced Conference 2021
47 min
Sistemas de Diseño: Caminando la Línea Entre Flexibilidad y Consistencia
Top Content
Los sistemas de diseño buscan aportar consistencia al diseño de una marca y hacer que el desarrollo de la interfaz de usuario sea productivo. Las bibliotecas de componentes con una API bien pensada pueden facilitar esto. Pero, ¡a veces una elección de API puede accidentalmente sobrepasar y ralentizar al equipo! Hay un equilibrio allí... en algún lugar. Exploremos algunos de los problemas y posibles soluciones creativas.
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Node Congress 2022Node Congress 2022
34 min
Hacia una Biblioteca Estándar para Runtimes de JavaScript
Top Content
Puedes revisar las diapositivas de la charla de James aquí.
Accesibilidad en Discord
React Advanced Conference 2021React Advanced Conference 2021
22 min
Accesibilidad en Discord
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
React Summit 2022React Summit 2022
17 min
Composición vs Configuración: Cómo Construir Componentes Flexibles, Resilientes y a Prueba de Futuro
Top Content
Existen muchas formas de autorizar componentes en React, y hacerlo correctamente puede no ser tan fácil, especialmente cuando los componentes se vuelven más complejos. En esta charla, aprenderás cómo construir componentes React a prueba de futuro. Cubriremos dos enfoques diferentes para construir componentes - Composición y Configuración, para construir el mismo componente utilizando ambos enfoques y explorar sus ventajas y desventajas.
Configurando las Pruebas de Accesibilidad de Axe
TestJS Summit 2021TestJS Summit 2021
30 min
Configurando las Pruebas de Accesibilidad de Axe
Top Content
Axe-core es un motor de pruebas de accesibilidad popular que es utilizado por Google, Microsoft y cientos de otras empresas para asegurar que sus sitios web sean accesibles. Axe-core incluso puede integrarse en muchos marcos de pruebas populares, herramientas e IDEs. En esta sesión avanzada, aprenderemos cómo configurar axe y sus integraciones para afinar cómo se ejecutan y revisan tus páginas y código en busca de violaciones de accesibilidad.
Construyendo Bibliotecas de Componentes Multiplataforma para Web y Nativo con React
React Advanced Conference 2021React Advanced Conference 2021
21 min
Construyendo Bibliotecas de Componentes Multiplataforma para Web y Nativo con React
Top Content
Construir productos para múltiples plataformas como la web y el móvil a menudo requiere códigos base separados a pesar de que la mayoría de los componentes son idénticos en apariencia y sensación. ¿Existe una forma en la que podríamos usar la biblioteca de componentes compartidos de React en diferentes plataformas y ahorrar tiempo? En esta presentación demostraré una forma de construir una biblioteca de componentes verdaderamente multiplataforma con un enfoque único de usar React & React Native en combinación.

Workshops on related topic

Construye un Tablero Rico en Datos y Hermoso con la Rejilla de Datos de MUI X y Joy UI
React Summit 2023React Summit 2023
137 min
Construye un Tablero Rico en Datos y Hermoso con la Rejilla de Datos de MUI X y Joy UI
Top Content
WorkshopFree
Sam Sycamore
Siriwat (Jun) Kunaporn
2 authors
Aprende cómo utilizar el ecosistema completo de MUI para construir un tablero de gestión de proyectos hermoso y sofisticado en una fracción del tiempo que tomaría construirlo desde cero. En particular, veremos cómo integrar la Rejilla de Datos de MUI X con Joy UI, nuestra biblioteca de componentes más nueva y hermana del estándar de la industria Material UI.
Tabla de contenidos:- Presentando nuestro proyecto y herramientas- Configuración de la aplicación e instalación del paquete- Construcción del tablero- Prototipado, estilos y temas - Características de Joy UI- Filtrado, ordenación, edición - Características de la Rejilla de Datos- Conclusión, pensamientos finales, P&R
Accesibilidad web para Ninjas: Un enfoque práctico para crear aplicaciones web accesibles
React Summit 2023React Summit 2023
109 min
Accesibilidad web para Ninjas: Un enfoque práctico para crear aplicaciones web accesibles
Workshop
Asaf Shochet Avida
Eitan Noy
2 authors
En este masterclass práctico, te proporcionaremos las herramientas y técnicas que necesitas para crear aplicaciones web accesibles. Exploraremos los principios del diseño inclusivo y aprenderemos cómo probar nuestros sitios web utilizando tecnología de asistencia para asegurarnos de que funcionen para todos.
Cubriremos temas como el marcado semántico, los roles de ARIA, los formularios y la navegación accesibles, y luego nos sumergiremos en ejercicios de codificación donde podrás aplicar lo que has aprendido. Utilizaremos herramientas de prueba automatizadas para validar nuestro trabajo y asegurarnos de cumplir con los estándares de accesibilidad.
Al final de este masterclass, estarás equipado con el conocimiento y las habilidades para crear sitios web accesibles que funcionen para todos, y tendrás experiencia práctica utilizando las últimas técnicas y herramientas para el diseño inclusivo y las pruebas. ¡Únete a nosotros en este increíble masterclass de codificación y conviértete en un ninja de la accesibilidad web y el diseño inclusivo!
Pruebas automatizadas de accesibilidad con jest-axe y Lighthouse CI
TestJS Summit 2021TestJS Summit 2021
85 min
Pruebas automatizadas de accesibilidad con jest-axe y Lighthouse CI
Workshop
Bonnie Schulkin
Bonnie Schulkin
¿Incluyen tus pruebas automatizadas verificaciones de accesibilidad? Este masterclass cubrirá cómo comenzar con jest-axe para detectar violaciones de accesibilidad basadas en código, y Lighthouse CI para validar la accesibilidad de las páginas completamente renderizadas. Ninguna cantidad de pruebas automatizadas puede reemplazar las pruebas manuales de accesibilidad, pero estas verificaciones se asegurarán de que tus probadores manuales no estén haciendo más trabajo del necesario.
Accesibilidad web en aplicaciones JavaScript
React Summit 2022React Summit 2022
161 min
Accesibilidad web en aplicaciones JavaScript
Workshop
Sandrina Pereira
Sandrina Pereira
A menudo vemos que JavaScript daña la accesibilidad de un sitio web. En esta masterclass, aprenderás cómo evitar errores comunes y cómo utilizar JS a tu favor para mejorar la accesibilidad de tus aplicaciones web.
En esta masterclass exploraremos múltiples ejemplos del mundo real con problemas de accesibilidad, y aprenderás cómo hacer que funcionen para las personas que utilizan un mouse o un teclado. También aprenderás cómo se utilizan los lectores de pantalla, ¡y te mostraré que no hay razón para tener miedo de usar uno!
Únete a mí y déjame mostrarte cómo la accesibilidad no limita tus soluciones o habilidades. ¡Al contrario, las hace más inclusivas!
Al final, serás capaz de:- Comprender los principios de WCAG y cómo están organizados- Conocer casos comunes en los que JavaScript es esencial para la accesibilidad- Crear enlaces, botones y elementos conmutables inclusivos- Utilizar regiones en vivo para errores y estados de carga- Integrar la accesibilidad en el flujo de trabajo de tu equipo de inmediato- Darte cuenta de que crear sitios web accesibles no es tan difícil como parece ;)
Creando aplicaciones React Native accesibles
React Summit Remote Edition 2021React Summit Remote Edition 2021
91 min
Creando aplicaciones React Native accesibles
Workshop
Scott Vinkle
Scott Vinkle
React Native es un framework utilizado para crear aplicaciones nativas de iOS y Android de una manera con la que los desarrolladores web ya pueden estar familiarizados. Pero, ¿cómo asegurarse de que tus aplicaciones React Native sean inclusivas y utilizables para todos? Scott compartirá consejos sobre cómo probar y construir aplicaciones React Native con accesibilidad integrada.