Mi viaje por la accesibilidad web: lo que he aprendido hasta ahora

Web Accessibility
Web Accessibility

Por 

El año pasado di una charla sobre CSS y accesibilidad en el encuentro stahlstadt.js en Linz, Austria. Después, un asistente me preguntó por qué estaba interesado en la accesibilidad: ¿Alguna persona en mi vida o yo tuvimos una discapacidad?

Estoy acostumbrado a responder esta pregunta, a lo que la respuesta es no, porque lo entiendo todo el tiempo. Mucha gente parece asumir que una conexión personal es la única razón por la cual a alguien le importaría la accesibilidad.

Esto es un problema. Para que la web sea realmente accesible, todos los que crean sitios web deben preocuparse por la accesibilidad. Tendemos a utilizar nuestras propias habilidades como punto de referencia cuando estamos diseñando y construyendo sitios web. En cambio, debemos tener en cuenta a nuestros diversos usuarios y sus diversas capacidades para asegurarnos de que estamos creando productos inclusivos que no solo estén diseñados para un rango específico de personas.

Otra razón por la que todos deberíamos pensar sobre la accesibilidad es que nos hace mejores en nuestros trabajos. En 2016 participé en 10k Apart , una competencia celebrada por Microsoft y An Event Apart . El objetivo era crear una experiencia web convincente que funcionara sin JavaScript y se pudiera entregar en 10 kB. Además de eso, el sitio debe ser accesible. En ese momento, conocía algunos conceptos básicos de accesibilidad, como el uso de HTML semántico, la descripción de las imágenes y la ocultación visual del contenido . Pero todavía quedaba mucho por aprender.

A medida que profundizaba más, me di cuenta de que había mucho más en accesibilidad de lo que jamás había imaginado, y que hacer sitios accesibles básicamente significa hacer un gran trabajo como desarrollador (o como diseñador, gerente de proyecto o escritor).

La accesibilidad es emocionante

La accesibilidad web no se trata de una determinada tecnología. No se trata de escribir el código más sofisticado o encontrar la solución más inteligente para un problema; se trata de usuarios y si pueden usar nuestros productos.

El enfoque en los usuarios es la razón principal por la que me estoy especializando en accesibilidad en lugar de únicamente en animación, rendimiento, marcos de JavaScript o WebVR. Centrarse en los usuarios significa que tengo que estar al día con casi todas las disciplinas web, porque los usuarios cargarán una página, manejarán el marcado de alguna manera, usarán un diseño, leerán texto, controlarán un componente de JavaScript, verán la animación, recorrerán un proceso, y navega. Lo que todas esas cosas tienen en común es que las realiza alguien frente a un dispositivo. Lo que los hace emocionantes es que no sabemos qué dispositivo será, o qué sistema operativo o navegador. Tampoco sabemos cómo se usará nuestra aplicación o nuestro sitio, quién lo usará, qué tan rápido será su conexión a Internet o cuán poderoso será su dispositivo.

Hacer sitios accesibles te obliga a interactuar con todas estas variables y, en el proceso, te impulsa a hacer un gran trabajo como desarrollador. Para mí, hacer sitios accesibles significa hacer sitios rápidos y resilientes con excelentes UX que son divertidos y fáciles de usar incluso en condiciones que no son ideales.

Lo sé, eso suena desalentador. La buena noticia, sin embargo, es que el último año me he centrado en algunas de esas cosas, y he aprendido varias lecciones importantes que me complace compartir.

1. La accesibilidad es un concepto amplio

Muchas personas, como yo antes de 2016, piensan que hacer que su sitio sea accesible es sinónimo de hacerlo accesible para las personas que usan lectores de pantalla. Eso es muy importante, pero es solo una parte del rompecabezas. Accesibilidad significa acceso para todos:

  • Si su sitio tarda diez segundos en cargarse en una conexión móvil, no es accesible.
  • Si su sitio solo está optimizado para un navegador, no es accesible.
  • Si el contenido de su sitio es difícil de entender, no se puede acceder a su sitio.

No importa quién está usando su sitio web o cuándo, dónde y cómo lo está haciendo. Lo que importa es que puedan hacerlo.

La creencia de que tiene que aprender un nuevo software o incluso hardware para comenzar con la accesibilidad es una barrera para muchos desarrolladores. En algún momento, tendrá que aprender a usar un lector de pantalla si realmente quiere hacerlo todo bien, pero aún queda mucho por hacer. Podemos realizar muchas mejoras que ayudan a todos, incluidas las personas con discapacidad visual, simplemente siguiendo las mejores prácticas.

2. Hay impedimentos permanentes, temporales y situacionales

¿Quién se beneficia de un sitio accesible por teclado? Solo un pequeño porcentaje de usuarios, algunos podrían argumentar. Aaron Gustafson me señaló el kit de herramientas de diseño de Microsoft , que me ayudó a ampliar mi perspectiva. Las personas con discapacidades permanentes no son las únicas que se benefician de la accesibilidad. También hay personas con discapacidades temporales y situacionales que estarían felices de tener una forma alternativa de navegar. Por ejemplo, alguien con un brazo roto, alguien que se tatuó el antebrazo recientemente o un padre que sostiene a su hijo en un brazo mientras tiene que verificar algo en línea. Cuando observas a un desarrollador operar su editor, a veces parece que ni siquiera saben que tienen un mouse. ¿Por qué no le da a los usuarios la oportunidad de usar su sitio web de manera similar?

Al pensar en la variedad de personas que podrían beneficiarse de las mejoras de accesibilidad, el grupo de beneficiarios tiende a crecer mucho más. Como dijo Derek Featherstone: ” Cuando algo funciona para todos, funciona mejor para todos”.

3. El primer paso es hacer de la accesibilidad un requisito

Me han preguntado muchas veces si vale la pena el esfuerzo para arreglar la accesibilidad, cuánto cuesta y cómo convencer a los jefes y colegas. Mi respuesta a esas preguntas es que puede mejorar las cosas significativamente sin siquiera tener que usar nuevas herramientas, gastar dinero extra o pedir permiso a alguien.

El primer paso es hacer que la accesibilidad sea un requisito, si no en papel, al menos en tu cabeza. Por ejemplo, si está buscando un componente deslizante, elija uno que sea accesible. Si está trabajando en un diseño, asegúrese de que los contrastes de color sean lo suficientemente altos . Si está escribiendo una copia, use un lenguaje que sea fácil de entender.

Nos hacemos muchas preguntas cuando tomamos decisiones de diseño y desarrollo: ¿está limpio el código? ¿El sitio se ve bien? ¿El UX es genial? ¿Es lo suficientemente rápido? Está bien documentado?

Como primer paso, agregue una pregunta más a su lista: ¿Es accesible?

4. Hacer sitios accesibles es un deporte de equipo

Otra razón por la cual hacer que los sitios web sean accesibles da miedo a algunos desarrolladores es que existe la creencia de que somos los únicos responsables de hacerlo bien.

De hecho, como nos recuerda Dennis Lembree, ” casi todos en la organización son responsables de la accesibilidad en algún nivel. 

El trabajo de un desarrollador consiste en crear un sitio accesible desde la perspectiva de la codificación, pero hay muchas cosas que hay que tener en cuenta antes y después. Los diseños deben ser intuitivos, las interacciones claras y útiles, la copia comprensible y legible. Se deben definir las personas relevantes y los casos de uso, y las pruebas se deben llevar a cabo en consecuencia. Lo que es más importante, el liderazgo y los equipos tienen que ver la accesibilidad como un principio básico y un requisito, lo que me lleva al siguiente punto: la comunicación.

5. La comunicación es clave

Después de hablar con una variedad de personas en reuniones y conferencias, creo que una de las razones por las que la accesibilidad a menudo no consigue el lugar que merece es que no todos saben lo que significa. Muchas veces ni siquiera tienes que convencer a tu equipo, sino simplemente explicar qué es el acceso. Si quieres atraer gente, importa cómo te acerques a ellos.

El primer paso aquí es escuchar. Hable con sus colegas y pregunte por qué toman ciertas decisiones de diseño, desarrollo o administración. Trate de averiguar si no abordan las cosas de una manera accesible porque no quieren, no tienen permitido hacerlo, o simplemente nunca lo pensaron. Tendrás mejores resultados si no te sientes mal, así que no trates de culpar a nadie por nada. Sólo escucha. Tan pronto como sepa por qué hacen las cosas de la manera en que lo hacen, sabrá cómo abordar sus inquietudes.

RESALTA LOS BENEFICIOS MÁS ALLÁ DE LA ACCESIBILIDAD

Puedes hablar de accesibilidad sin mencionarlo. Por ejemplo, hable acerca de la tipografía y los recuentos de personajes ideales por línea y qué hermoso es el texto con la combinación perfecta de tamaño de letra y altura de línea. Demuestre cómo un mejor rendimiento impacta las tasas de conversión y cómo centrarse en la accesibilidad puede promover el pensamiento listo para usar que mejore la usabilidad en general.

DESAFÍA A TUS COLEGAS

A algunas personas les gustan los desafíos. En una reunión, una diseñadora que se especializa en accesibilidad dijo una vez que uno de los principales motivos por los que le encanta diseñar teniendo en cuenta las limitaciones es que exige mucho más de ella que ir por el camino fácil. Pregunte a sus colegas: ¿Podemos alcanzar un índice de velocidad por debajo de 1000? ¿Crees que puedes diseñar ese componente de tal manera que sea accesible desde el teclado? Mi Nokia 3310 tiene un navegador. ¿No sería fantástico si pudiésemos hacer que nuestro próximo sitio web también trabaje en eso?

AYUDA A LAS PERSONAS A IDENTIFICARSE

En su charla “La accesibilidad del sitio web todos los días “, Scott O’Hara señala que puede ser difícil para alguien simpatizar si desconoce con qué se debe sentir empatía. A veces las personas simplemente no saben que ciertas implementaciones pueden ser problemáticas para otros. Puede ayudarlos explicando cómo las personas que son ciegas o que no pueden usar un mouse usan la web. Mejor aún, muestre videos de cómo las personas navegan por la web sin un mouse. Las indicaciones de empatía también son una gran forma de ilustrar las diferentes circunstancias bajo las cuales las personas navegan por la web.

6. Hable de accesibilidad antes de que los proyectos comiencen

Por supuesto, es algo bueno si está solucionando problemas de accesibilidad en un sitio que ya está en producción, pero eso tiene sus limitaciones. En algún momento, los cambios pueden ser tan complicados y costosos que alguien dirá que no vale la pena el esfuerzo. Si todo su equipo se preocupa por la accesibilidad desde el principio, antes de que se dibuje una casilla o se escriba una línea de código, es mucho más fácil, efectivo y rentable hacer un producto accesible.

7. Un conocimiento sólido de HTML resuelve muchos problemas

Es impresionante ver cómo el JavaScript y la forma en que lo usamos han cambiado en los últimos años. Se ha vuelto increíblemente poderoso y más importante que nunca para el desarrollo web. Al mismo tiempo, parece que HTML se ha vuelto menos importante. Hay un debate en curso sobre CSS en JavaScript y si es más eficiente y más limpio que el CSS normal desde una perspectiva de desarrollo. Lo que deberíamos hablar en cambio, es el uso excesivo de <div><span>elementos a expensas de otros elementos. Hace una gran diferencia si usamos un enlace o <div>un onclickmanejador . También hay una diferencia entre los enlaces y botones cuando se trata de accesibilidad. Los elementos del formulario necesitan <label>elementos, y un bosquejo del documento sonoro es esencial. Esos son solo algunos ejemplos de conceptos básicos absolutos que algunos de nosotros olvidamos o nunca aprendimos. El HTML semántico es uno de los pilares del desarrollo web accesible. Incluso si escribimos todo en JavaScript, HTML es lo que finalmente se representa en el navegador del usuario.

(Re) aprender HTML y usarlo conscientemente evita y soluciona muchos problemas de accesibilidad.

8. JavaScript no es el enemigo, y a veces JavaScript incluso mejora la accesibilidad

Soy una de esas personas que cree que la mayoría de los sitios web deben ser accesibles incluso cuando JavaScript no se puede ejecutar . Eso no significa que odio JavaScript; por supuesto que no, paga parte de mi alquiler. JavaScript no es el enemigo , pero es importante que lo usemos con cuidado porque de otra manera es muy fácil cambiar la experiencia del usuario para peor.

No hace mucho tiempo, no sabía que JavaScript podría mejorar la accesibilidad. Podemos aprovechar su poder para hacer que nuestros sitios web sean más accesibles para los usuarios de teclado. Podemos hacer cosas como atrapar el foco en una ventana modal , agregar controles clave a componentes personalizados o mostrar y ocultar contenido de una manera accesible.

Existen muchas implementaciones creativas e impresionantes de CSS de widgets comunes, pero a menudo son menos accesibles y proporcionan un UX peor que sus equivalentes de JavaScript. En una publicación sobre cómo crear una ayuda contextual totalmente accesible , Sara Soueidan explica por qué JavaScript es importante para la accesibilidad. “Cada solución no-JS viene con una desventaja muy mala que afecta negativamente a la experiencia del usuario”, escribe.

9. Es un buen momento para conocer CSS y JavaScript Vanilla

Durante mucho tiempo, hemos dependido de bibliotecas, marcos, sistemas de cuadrículas y rellenos múltiples porque exigíamos más navegadores de los que podían proporcionarnos. Naturalmente, nos acostumbramos a muchas de esas herramientas, pero de vez en cuando debemos dar un paso atrás y preguntarnos si realmente todavía las necesitamos. Hubo muchos problemas que Bootstrap y jQuery resolvieron para nosotros, pero ¿esos problemas aún existen, o es más fácil para nosotros escribir en $()lugar de document.querySelector()?

jQuery sigue siendo relevante , pero las incoherencias del navegador no son tan malas como solían ser. El diseño de cuadrícula de CSS es compatible con todos los principales navegadores de escritorio y, gracias a la mejora progresiva , aún podemos ofrecer experiencias para los navegadores heredados. Podemos hacer la detección de características de forma nativa con consultas de características , las pruebas se han vuelto mucho más fáciles, y caniuse y MDN ayúdenos a entender de qué son capaces los navegadores. Muchas personas usan marcos y bibliotecas sin saber qué problemas están resolviendo esas herramientas. Para decidir si tiene sentido agregar el peso extra a su sitio, necesita una sólida comprensión de HTML, CSS y JavaScript. En lugar de aumentar el peso de la página para navegadores antiguos, a menudo es mejor mejorar progresivamente una experiencia. Mejorar progresivamente nuestros sitios web y reducir el número de solicitudes, kilobytes y dependencias hace que sean más rápidos y robustos y, por lo tanto, más accesibles.

10. Sigue aprendiendo sobre accesibilidad y comparte tu conocimiento

Estoy muy agradecido de haber aprendido todo esto en los últimos meses. Anteriormente, fui una parte muy pasiva de la comunidad web durante mucho tiempo. Desde que comencé a participar en línea, asistir y organizar eventos, y escribir sobre temas relacionados con la web, especialmente accesibilidad, las cosas han cambiado significativamente para mí y he crecido tanto personal como profesionalmente.

Comprender la importancia del acceso y la inclusión, ver las cosas desde diferentes perspectivas y desafiar mis decisiones me ha ayudado a ser un mejor desarrollador.

Saber cómo se deben hacer las cosas es genial, pero es solo el primer paso. Verdaderamente cuidado, implementación y lo más importante, compartir su conocimiento es lo que tiene un impacto.

COMPARTE TU CONOCIMIENTO

No tengas miedo de compartir lo que has aprendido. Escribir artículos, hablar en reuniones y talleres internos. La cultura distintiva de compartir el conocimiento es una de las cosas más importantes y bellas de nuestra industria.

IR A CONFERENCIAS Y REUNIONES

Asistir a conferencias y reuniones es muy valioso porque puedes conocer a muchas personas diferentes de las que puedes aprender. Hay varios eventos de accesibilidad dedicados y muchas conferencias que presentan al menos una charla de accesibilidad.

ORGANIZA ENCUENTROS

Dennis Deacon describe su decisión de comenzar y ejecutar una reunión de accesibilidad como una experiencia que cambia la vida. Los grupos de Meetup son muy importantes y valiosos para la comunidad, pero organizar una reunión no solo aporta valor a los asistentes y oradores. Como organizador, puedes conocer a todas estas personas y aprender de ellas. Al escuchar y comprender cómo ven y se acercan a las cosas, y lo que es importante para ellas, puedes ampliar tus horizontes. Usted crece como persona, pero también conoce a otros profesionales, agencias y compañías de las cuales también puede beneficiarse profesionalmente.

INVITA A EXPERTOS A TU REUNIÓN O CONFERENCIA

Si es un organizador de reuniones o de conferencias, puede tener un impacto masivo en la función que desempeña la accesibilidad en nuestra comunidad. Invita a expertos en accesibilidad a tu evento y dale al tema un foro para el debate.

SIGA A LOS EXPERTOS EN ACCESIBILIDAD EN TWITTER

Siga a los expertos en Twitter para saber en qué están trabajando, qué les molesta y qué piensan acerca de los recientes desarrollos en el desarrollo web inclusivo y el diseño en general. He aprendido mucho de las siguientes personas: Aaron Gustafson , Adrian Roselli , Carie Fisher , Deborah Edwards-Onoro , Heydon Pickering , Hugo Giraudel , Jo Spelbrink , Karl Groves , Léonie Watson , Marco Zehe , Marcy Sutton , Rob Dodson , Scott O’Hara , Scott Vinkle , y Steve Faulkner .

11. Simplemente comienza

No tiene que ir desde el principio. Si mejora solo una cosa, ya está haciendo un gran trabajo al acercarnos a una mejor web. Solo comienza y sigue trabajando.

Hay muchos recursos por ahí, y tratar de descubrir cómo y dónde comenzar puede ser bastante abrumador. He reunido algunos sitios y libros que me han ayudado; ojalá que te ayuden también. Las siguientes listas no son exhaustivas.

SERIE DE VIDEO

  • Este curso gratuito de Udacity es una excelente manera de comenzar.
  • Rob Dodson cubre muchos temas de accesibilidad diferentes en su serie de videos A11ycasts (a11y es la abreviatura de accesibilidad, el número once representa el número de letras omitidas).

LIBROS

BLOGS

NEWSLETTERS

ACCESSIBLE JAVASCRIPT COMPONENTS

RESOURCES AND FURTHER READING

Fuente: alistapart.com