Explorando el compromiso de Rocket Software con la accesibilidad

10 min. read

Nuestra misión en Rocket Software va más allá de ofrecer soluciones innovadoras. Cada aspecto de nuestro trabajo se guía por nuestros valores más amplios: Empatía, Humanidad, Confianza y Amor. Y dentro de estos valores, Rocket Software prioriza la accesibilidad. Independientemente de la tecnología, el sistema o el entorno de TI, nos comprometemos a ofrecer soluciones que funcionen para todos.

Para conocer un poco más sobre cómo abordamos nuestras soluciones desde el punto de vista de la accesibilidad, nos sentamos con el arquitecto de software principal de Rocket Software, Brian Kunz.

Brian cuenta con más de 20 años de experiencia en el desarrollo y diseño de aplicaciones front-end. Se involucró de lleno en el ámbito de la accesibilidad en 2024, liderando el desarrollo de los componentes de accesibilidad fundamentales necesarios para la nueva interfaz de usuario de Rocket Content Services: Rocket Content Explorer.

 

¿Cómo definirías la accesibilidad desde la perspectiva del software y el desarrollo?

Desde el punto de vista del software, todo se reduce a lograr que el teclado funcione con la aplicación. La interfaz del teclado es fundamental para cualquier tecnología de asistencia, como los lectores de pantalla. Si se necesita manipular algo en la pantalla, debe poder hacerse mediante una serie de comandos de teclado; estos comandos deben ser comunes y conocidos por los usuarios finales. Como usuario final, debería poder realizar todas las acciones en una aplicación sin necesidad de usar el ratón.

Nos centramos demasiado en crear aplicaciones que se controlen con el ratón; esa es la mentalidad que hay que cambiar.

Desde la perspectiva del desarrollo, la accesibilidad es una habilidad, y es una habilidad que la mayoría de los desarrolladores no poseen. Esto fue cierto para mí, y también para todos los desarrolladores que trabajaron en nuestro nuevo proyecto de interfaz de usuario.

Es probable que las prácticas ágiles sean un factor clave para que la accesibilidad no reciba mayor atención. Históricamente, los desarrolladores se han centrado en la apariencia de la aplicación y en si el ratón funciona al hacer clic; ese ha sido el criterio para considerar una funcionalidad terminada. Y una vez completada, se pasa a la siguiente, ya que el objetivo es añadir tantas funcionalidades como sea posible.

Así, la accesibilidad se ve relegada a un segundo plano por la falta de tiempo, en favor de la prioridad de "terminar una función". No es que los desarrolladores no quieran crear aplicaciones accesibles, sino que hemos pasado por alto la importancia de programar para la accesibilidad porque requiere tiempo adicional. La atención de la dirección también influye, ya que programar para la accesibilidad exige más tiempo y esfuerzo de todos los involucrados.

La accesibilidad suele considerarse una habilidad secundaria de la que no se habla ni se promueve, pero eso es algo que queremos cambiar. Queremos que la accesibilidad sea una parte natural de cualquier proyecto.

 

En términos sencillos, ¿podría explicar los cuatro principios de las Pautas de Accesibilidad para el Contenido Web (WCAG) y compartir por qué son importantes?

Existe un acrónimo para esto: POUR. Significa Perceptible, Operable, Comprensible y Robusto.

Comencemos con la percepción. Así es como se crea una aplicación compleja que sea visualmente atractiva y esté bellamente diseñada, de manera que las relaciones entre los elementos visuales en la pantalla se puedan comunicar a quienes no tienen visión. Por ejemplo, ¿cómo sabe un usuario que hay un botón que, al pulsarlo, muestra un nuevo panel de información al que puede acceder? O, cuando se produce una operación y la pantalla cambia, aunque sea sutilmente, ¿cómo se comunica este cambio al usuario de una forma que no sea visual? La percepción consiste en crear una imagen mental en la que el usuario se encuentre dentro de la aplicación y comprenda su estructura.

Cuando hablamos de operabilidad, nos referimos a que cualquier elemento que pueda manipularse debe ser accesible mediante el teclado. Reconocemos que las tecnologías de asistencia también incluyen opciones como el reconocimiento de voz para usuarios con discapacidades motoras, ya que el teclado podría no ser una opción. Operabilidad significa que todo lo que pueda manipularse, como un botón, un cuadro de lista, un campo de texto, etc., debe ser operable mediante el teclado o comandos de voz. Esto plantea desafíos únicos para acciones que tradicionalmente se realizan con el ratón, como arrastrar y redimensionar. Al programar para la accesibilidad, debemos evaluar el ratón no como el principal medio de cambio, sino simplemente como una herramienta más. No queremos excluir funcionalidades como arrastrar y soltar solo porque un usuario no pueda usar un ratón.

A continuación, es importante que todo sea comprensible. Garantizar la comprensión implica asegurar que cualquier widget funcione como el usuario espera. Las tecnologías de asistencia identifican elementos en la pantalla y muestran mensajes como "botón" o "tabla" cuando el usuario navega. Esta descripción básica le indica al usuario cómo manipular el elemento y cómo usar los atajos de teclado comunes que proporciona la tecnología de asistencia. Por ejemplo, si el usuario sabe que el elemento seleccionado es un cuadro combinado, sabe que puede activarlo con la tecla Intro o la flecha hacia abajo, etc. Como desarrolladores, debemos asegurarnos de que las acciones y el orden de ejecución de un elemento coincidan con la experiencia esperada por el usuario que utiliza tecnologías de asistencia; de lo contrario, se crea una situación confusa y la tecnología no se puede usar eficazmente.

Finalmente, llegamos a la robustez. Existen convenciones y atributos de codificación que los desarrolladores deben utilizar para garantizar que nuestro software funcione con cualquier tecnología de asistencia. Los estándares WCAG son el marco de referencia que seguimos como desarrolladores al programar y que también utilizan los desarrolladores de las tecnologías de asistencia. Si ambos grupos de desarrollo cumplen con su parte, obtenemos una experiencia funcional y accesible para nuestros usuarios finales. Codificamos según un estándar, no para una tecnología de asistencia específica.

La robustez se refiere a la creación de software compatible con diversos agentes de usuario y tecnologías de asistencia. Otro aspecto importante es que el usuario pueda navegar rápidamente por la aplicación con solo unas pocas pulsaciones de teclado. Si los desarrolladores han diseñado correctamente la aplicación, esta permite al usuario, mediante el teclado, desplazarse rápidamente por la pantalla sin tener que pulsar la tecla Tab para acceder a cada control o elemento.

 

Para las personas daltónicas, ¿cómo se garantiza que se cumplan las directrices de contraste de color en el diseño de un sitio web o una aplicación, y qué tipo de herramientas se podrían utilizar?

Las WCAG recomiendan una proporción entre los colores de primer plano y de fondo: 4,5 a 1. Es un poco difícil describir con exactitud qué significa, pero se refiere a las diferencias de color entre el primer plano y el fondo en la aplicación.

Entonces, ¿cómo lo determinamos? Todo comienza con el inicio del diseño. Hemos utilizado Figma para crear diseños de wireframe detallados para la aplicación. Esta herramienta nos ayuda a garantizar que el diseño cumpla con la relación de contraste de color. Queremos evitar diseñar algo que nos parezca atractivo, dedicarle tiempo y recursos, solo para darnos cuenta de que no cumple con los requisitos de contraste de color.

También utilizamos una herramienta en el navegador llamada Accessibility Insights; se trata de un complemento que puedes activar para cualquier página y que te indicará si se han infringido las normas de accesibilidad que mencioné anteriormente. La herramienta también puede mostrar la aplicación en escala de grises, lo cual es una forma práctica de ver el desarrollo, eliminando por completo el color y observando cómo se ve con el contraste de la escala de grises para evaluar la facilidad con la que se distinguen los elementos.

 

¿Qué estrategias has utilizado para formar y promover las mejores prácticas de accesibilidad entre los equipos de desarrollo y diseño?

Así que, si te fijas en las especificaciones WCAG, puede que te asustes. Son extensas, muy técnicas y difíciles de comprender. Pero una vez superada la primera impresión, resultan muy sencillas cuando las entiendes. Eso mismo me pasó a mí. Sabía que tenía que hacerlo, y era lo correcto.

Descubrí que, una vez que comprendí esto, sentí un renovado entusiasmo por la accesibilidad. Programar de esta manera fortalece enormemente nuestras aplicaciones y, después de todo, no es tan complejo… y uno empieza a preguntarse por qué había evitado estas estrategias de programación hasta ahora.

Mi objetivo es que la programación accesible se convierta en algo natural para los desarrolladores front-end, para que no se vea como algo adicional, difícil o que no merezca la pena el esfuerzo. Ayudé a nuestro equipo de desarrollo proporcionándoles esquemas básicos sobre los diseños visuales para considerar la accesibilidad. Como experto del equipo, pude decirles: «Cuando diseñen esta pantalla, tengan en cuenta estos aspectos y estos otros elementos para la accesibilidad». Aplicaron estas prácticas al completar su código y luego lo evaluamos durante nuestro proceso estándar de revisión de código. Siempre había que hacer algunos ajustes porque era algo nuevo para todos; estábamos desarrollando nuevas habilidades y todos estábamos aprendiendo. Así que probamos y perfeccionamos el código hasta obtener la experiencia que buscábamos.

A partir de esta experiencia, he creado una serie de vídeos de formación progresiva disponibles para cualquier miembro de Rocketeer que trabaje en la incorporación de la accesibilidad. He generado casi 5 horas de contenido; no les llevará mucho tiempo. Estos vídeos ofrecen una introducción para comprender los conceptos básicos y aprender cómo ponerlos en práctica con un pequeño ejemplo.

Mi objetivo es eliminar el temor a adoptar los estándares WCAG demostrando que es bastante sencillo. Además, nuestros equipos han desarrollado una biblioteca de widgets de interfaz de usuario que ya gestionan la mayoría de los aspectos de accesibilidad, lo que ayudará a otros equipos a crear mejores productos en el futuro al utilizar estos widgets. Otros equipos no tendrán que preocuparse por la accesibilidad dentro de ese widget, ya que esta ya está gestionada.

 

¿Algún consejo o truco que quieras compartir con los desarrolladores o equipos que se están iniciando en el camino de la accesibilidad?

Mi consejo es usar HTML5 como se concibió. De esta forma, se consigue mucha accesibilidad sin esfuerzo. Luego, al programar un diseño visual, fíjate en los elementos básicos.

Si un elemento representa una lista de contenido, utilice los elementos de lista de HTML5. Si un elemento se comporta como un botón, conviértalo en un botón. Si presenta datos tabulares, utilice los elementos de tabla, ya que las tecnologías de asistencia proporcionarán información semántica a sus usuarios si utiliza estos elementos básicos. Como desarrolladores, solemos utilizar contenedores genéricos con estilos que imitan elementos específicos y luego les aplicamos manualmente controladores de clic. Este es el camino más fácil y crea algo visualmente atractivo y clicable con el ratón, pero carece de significado para las personas que utilizan tecnologías de asistencia. Utilizar los elementos básicos de HTML5 le proporcionará al menos la mitad de lo que necesita.

En cuanto a recursos técnicos, hay una página de patrones. Este recurso fue clave para que lo entendiera todo. Contiene especificaciones para prácticamente cualquier tipo de widget; incluye ejemplos, muestras de código, especificaciones de teclado para diversos elementos, etc. Incluso se puede usar una tecnología de asistencia como JAWS para probar los widgets de ejemplo y ver cómo los gestiona. Fue una forma maravillosa de comprender, cuando empecé a aprender, que programar para la accesibilidad no es tan difícil; solo tuve que modificar algunas cosas al programar.

 

¿Qué es lo más interesante que has aprendido trabajando en un proyecto centrado en la accesibilidad?

La respuesta sencilla es que entiendo el valor fundamental de la empatía en Rocket Software en lo que hacemos. Queremos que nuestro software sea usable por todos. Como mencioné antes, en nuestro mundo de desarrollo ágil, nos centramos en la ruta más rápida para completar una función, lo que nos lleva a desarrollar aplicaciones que podrían excluir a ciertos usuarios. Esto no es intencional ni malicioso, pero podemos fácilmente pasar por alto a las personas con discapacidades y no considerar su experiencia ni las dificultades que podrían experimentar al usar nuestro software.

Necesitamos cambiar nuestra mentalidad con respecto a todo lo que llevamos el nombre Rocket Software. Se trata de ser conscientes de las diversas necesidades de nuestros usuarios y no crear herramientas excluyentes, incluso si eso implica que las cosas tarden un poco más en codificar y probar. Por eso quiero que las estrategias de codificación accesible sean algo natural para nuestros desarrolladores, para que ni siquiera piensen necesariamente "Hago esto por accesibilidad", sino que sean una parte fundamental de la codificación para cualquier proyecto.

El futuro me entusiasma. La nueva funcionalidad que hemos introducido tiene mucho potencial. Ahora estoy analizando cómo podemos usar algo como Rocket® Content Smart Chat para superar las dificultades al interactuar con el contenido de una aplicación, no solo con la aplicación en sí. Por ejemplo, si le presentamos un documento de imagen a un usuario, ¿podría Rocket® Content Smart Chat proporcionar un resumen de la imagen e informarle diciendo "Esta es una imagen de XYZ" o un resumen de un documento como "Este documento es un comprobante de pago por materiales comprados"? Esto podría ahorrarle tiempo a alguien. Los usuarios no tendrían que leer el documento completo para darse cuenta de que no es el que buscan.

En cambio, reciben ese resumen rápidamente y luego pueden pasar a su siguiente tarea. Creo que podemos hacer aún más utilizando tecnologías de vanguardia para mejorar aún más nuestra experiencia accesible.

Me entusiasma y me enorgullece enormemente estar a la vanguardia de este tipo de iniciativas internas. Ofrecer a los usuarios esta experiencia WCAG supone un cambio radical.

Obtenga más información sobre las funciones más nuevas de Rocket Content Services .

Publicaciones relacionadas

Valores de Rocket

Congratulating Rocket’s 2026 IBM Champions

Rocket Software
2 minutos de lectura
Rocket Software se enorgullece en anunciar que 13 miembros de nuestro equipo han sido seleccionados como IBM Champions 2026.
Valores de Rocket

Recap de Rocket .Build: Nuestro evento de 2025 y ganadores anunciados

Puneet Kohli
Lectura de 5 minutos
En noviembre, los coheteros de todo el mundo se reunieron para una de las semanas más emocionantes e inspiradoras de nuestro calendario.
Valores de Rocket

Formando líderes desde dentro: Nuestros graduados de Aurora y Voyager

4 minutos de lectura
Los programas Aurora y Voyager de Rocket Software desarrollan líderes seguros y basados ​​en valores que fortalecen a los equipos y dan forma al futuro de la empresa.