En el mundo del desarrollo de software, la terminal sigue siendo una herramienta esencial para programadores de todo tipo. Sin embargo, uno de los desafíos más significativos ha sido garantizar que las interfaces de línea de comandos (CLI) sean accesibles para todos los usuarios, incluyendo aquellos con discapacidades visuales o que dependen de tecnologías asistivas. GitHub, reconocido por su compromiso con la inclusión, ha dado un paso decisivo hacia la construcción de un CLI más accesible, un camino que está redefiniendo la experiencia en la terminal para desarrolladores en todo el mundo. A diferencia de las aplicaciones web o gráficas, cuyo contenido está estructurado bajo estándares como las Pautas de Accesibilidad para el Contenido Web (WCAG), la terminal opera en un entorno muy diferente. La representación textual simple, sin la posibilidad de incluir etiquetas o marcadores semánticos tradicionales, dificulta la aplicación directa de técnicas de accesibilidad tradicionales.
Esto implica que las herramientas de asistencia, como los lectores de pantalla, deben interpretar un conjunto estático de caracteres sin un modelo de estructura claro, lo que puede complicar la comprensión y navegación. GitHub entendió que llevar la accesibilidad al CLI requería no solo seguir pautas existentes, sino innovar para crear soluciones adaptativas. El equipo responsable lanzó una vista previa pública con funcionalidades enfocadas en tres grupos principales de usuarios: aquellos que utilizan lectores de pantalla, quienes necesitan un alto contraste para distinguir entre texto y fondo, y usuarios con daltonismo o que requieren opciones de color personalizables. Esta iniciativa marca un avance crucial en cómo se piensa la inclusión en la línea de comandos. Uno de los aspectos más retadores ha sido repensar cómo se presentan los prompts y las barras de progreso.
GitHub CLI siempre ha ofrecido una experiencia interactiva rica, invitando a los usuarios a seleccionar opciones o ingresar datos gracias a indicaciones visuales avanzadas. Sin embargo, estas señales visuales, como iconos o animaciones que se actualizan constantemente, pueden resultar confusas para lectores de pantalla. Para resolverlo, GitHub adoptó la librería open source charmbracelet/huh, que permite construir prompts que los lectores de pantalla pueden interpretar con mayor claridad. Esto significa que los usuarios invidentes o con baja visión pueden interactuar con la CLI con mayor confianza y precisión. Además, las barras de progreso, que tradicionalmente incluyen animaciones complejas hechas con caracteres especiales —en algunos casos utilizando símbolos braille para indicar actividad— han sido reemplazadas por indicadores de texto estáticos que comunican el estado actual del proceso de forma comprensible para los lectores de pantalla.
Este cambio simple pero efectivo reduce la confusión y mejora la experiencia auditiva, ofreciendo un mensaje claro como "Trabajando..." o con descripciones específicas de la acción en curso. El uso de color en la terminal es otro elemento clave para comunicar información, pero también es un área problemática para muchos usuarios.
El color no es solo un recurso estético, sino un canal importante para resaltar errores, avisos y estados del sistema. Sin embargo, dado que la configuración del color de fondo del terminal está controlada por el emulador y no por la aplicación, mantener un contraste adecuado puede ser un desafío. Las paletas de colores heredadas de GitHub no siempre consideraban esta variable, lo que podía hacer muy difícil para usuarios con baja visión distinguir elementos importantes. Para mejorar esto, GitHub ha alineado su paleta de colores con una configuración de 4 bits del estándar ANSI, que es ampliamente compatible y permite a los usuarios personalizar sus colores en el terminal de manera efectiva. Trabajando sobre las bases de accesibilidad establecidas por el sistema Primer, el equipo creó una gama de tonos que mantienen un contraste suficiente y son compatibles con una gran variedad de emuladores, ayudando a que el contenido sea legible para cualquier desarrollador sin perder información esencial.
GitHub también está comprometido en construir una comunidad de CLI inclusiva. El objetivo no es solo mejorar el núcleo de la herramienta, sino facilitar que los creadores de extensiones y complementos puedan incorporar mejoras de accesibilidad de manera sencilla y consistente. Al proveer herramientas y documentación para que todos los comandos, ya sean oficiales o mantenidos por la comunidad, puedan ofrecer una experiencia accesible, GitHub impulsa un ecosistema más fuerte, diverso y equitativo. Más allá de la accesibilidad visual, se trabaja en mejorar la presentación de tablas y otros elementos complejos para que sean más interpretables por lectores de pantalla, fomentando que los distintos formatos de salida sean modulares y adaptables a las necesidades específicas del usuario. Este tipo de mejoras refuerzan la idea de que la accesibilidad en la terminal es dinámica y que la innovación debe ser continúa.
Este movimiento no ha sido posible sin la colaboración activa con la comunidad open source y equipos especializados en accesibilidad. La alianza con Charm y las sinergias con el equipo de accesibilidad de GitHub han sido fundamentales para diseñar soluciones ágiles y efectivas. Además, GitHub ha lanzado un llamado abierto a desarrolladores con experiencias relacionadas para retroalimentar y co-crear junto a ellos una herramienta realmente inclusiva. Para los desarrolladores interesados, actualizar la versión de GitHub CLI a la 2.72.
0 permite activar estas nuevas funcionalidades accesibles mediante el comando "gh a11y". Esta invitación a probar y dar feedback es clave para que las mejoras no solo respondan a necesidades técnicas, sino que reflejen las experiencias reales de quienes más se benefician de ellas. La inclusión en la línea de comandos es un área en expansión que enfrenta retos únicos debido a la naturaleza textual y heredada de las terminales. Adaptar estándares web a este entorno implica creatividad y un enfoque profundo en el usuario final. La apuesta de GitHub es contribuir a establecer un nuevo estándar de accesibilidad para herramientas CLI, uno en que ningún desarrollador quede excluido por cuestión de capacidad o diseño.