Mi stack de accesibilidad y el futuro en Wayland
(nocoffei.com)- La transición a Wayland rompe las herramientas de accesibilidad de entrada basadas en X11, dejando a algunas personas sin una forma de acceder a su computadora e incluso a su vida laboral
- Talon Voice permite cambiar de app, dictar, manejar el navegador y hacer scroll sin usar las manos combinando reconocimiento de voz, scripting y Python
- gaze_ocr y Cursorless combinan OCR, seguimiento ocular y referencias al árbol sintáctico para ampliar el control de la pantalla y el alcance de la programación sin cooperación de las apps
- En Wayland faltan API estándar comunes para la gestión de ventanas, la automatización de entrada, el posicionamiento del mouse, el portapapeles y la lectura de pantalla que Talon necesita
- El desarrollador principal de Talon anunció la eliminación del soporte para Linux en las versiones públicas, y la implementación de API en GNOME, KDE y wlroots sigue siendo una tarea pendiente para la comunidad
El problema de que la transición a Wayland rompa la accesibilidad de entrada
- KDE Plasma anunció que eliminará el soporte para X11 a inicios de 2027, y quienes usan herramientas de accesibilidad dependientes de X11 podrían tener dificultades para seguir usando su entorno de escritorio actual en unos 9 meses
- Las conversaciones sobre accesibilidad suelen concentrarse en la accesibilidad de salida para personas con baja visión o ceguera, pero la accesibilidad de entrada, es decir, poder enviar comandos a la computadora, es igual de importante
- Tras un diagnóstico de síndrome de Ehlers-Danlos, se dañaron los músculos pequeños de las muñecas y los dedos, lo que volvió difícil usar teclado y mouse; con fisioterapia especializada se recuperó parte del uso de las manos, pero no lo suficiente para sostener una jornada laboral completa
- Si el escritorio Linux pasa a ser exclusivo de Wayland, las herramientas actuales que permiten manejar la computadora casi sin usar las manos no lograrán el nivel de integración con el sistema que necesitan
- La transición a Wayland no es solo un cambio de servidor gráfico: para algunas personas, implica perder su medio de acceso a la computadora y a su vida profesional
El entorno de entrada manos libres que ofrece Talon Voice
- Talon Voice combina un modelo de ML de voz a texto rápido y preciso, un lenguaje de scripting propio y Python para que cada usuario pueda ampliar por su cuenta la forma en que controla las aplicaciones
- Talon permite manipular aplicaciones incluso cuando no ofrecen integración de accesibilidad, y esta forma de operar se describe como accessibility adversarial
- La colección de scripts talonhub/community es un componente esencial que suele instalarse primero para volver práctico a Talon, y está formada por decenas de miles de líneas de código escritas a mano para adaptarse a las necesidades de la gente usuaria
- Cosas que se pueden hacer con Talon:
- Cambiar el foco de una aplicación por voz en lugar de elegirla con el mouse en la barra de tareas
- Redactar texto con Dictation Mode; de hecho, la mayor parte del texto original también fue escrita con Talon
- Controlar completamente el navegador sin usar las manos mediante la extensión Rango
- Usar un script propio que invoca por D-Bus al programa externo de voz a texto dsnote al escribir prosa larga
- Hacer scroll con un sonido de siseo, porque desplazarse sigue siendo doloroso sin importar qué dispositivo de entrada se use
- También se considera integrar pedales a Talon en el futuro
gaze_ocr y el control directo de la pantalla
- gaze_ocr es una extensión para Talon que lee el contenido de la pantalla mediante OCR y permite hacer clic directamente sobre los objetos visibles
- En Linux no venía incluido un backend de OCR, pero fue posible conectarlo con RapidOCR
- Si además se usa un rastreador ocular, se puede distinguir el texto en pantalla según el lugar exacto que la persona está mirando
- Hay un video introductorio de 60 segundos en https://youtu.be/qkFy66WF3bU
- gaze_ocr puede interactuar incluso cuando no existe ninguna integración del lado de la aplicación, por lo que es un ejemplo representativo de accesibilidad que funciona en un entorno de aplicaciones no cooperativas
Cursorless y la programación por voz
- Cursorless es una extensión de Visual Studio Code que permite referirse por voz a tokens del código fuente usando expresiones que reconocen el árbol sintáctico y marcadores sobre cada token
- Puede verse una demo en texto en la explicación de Cursorless de Xe Iaso
- Combinado con el soporte de escritura por voz para varios lenguajes de programación en talonhub/community, permite escribir código sin usar las manos por completo
- Por ejemplo, para ir al inicio de una oración, se observa el color y la posición del marcador sobre “Cursorless” y se dice algo como “pre pink cap” para referirse a ese carácter
- Este método usa el sistema de deletreo por pronunciación de Talon
- Cursorless ofrece una forma de escritura más potente que los editores tradicionales basados en teclado o los editores por voz existentes, y se volvió una herramienta tan central que incluso se llegaron a crear implementaciones específicas para el software usado en el trabajo
- El valor total de Talon va más allá de compensar una discapacidad: ofrece una forma más nueva y poderosa de interactuar con la computadora
Por qué Talon se rompe en Wayland
- El escritorio Linux está migrando de X11, con más de 40 años de historia, hacia Wayland, y la comunidad de escritorios FOSS eligió a Wayland como el futuro
- Talon necesita integrarse profundamente con el administrador de ventanas y el compositor para realizar tareas básicas, pero Wayland no ofrece una forma estándar de realizar esas acciones
- Incluso la automatización más básica de entrada de texto parece imposible de hacer de la “forma realmente Wayland”; el mantenedor de xdotool, herramienta de automatización de entrada estándar de facto en X11, investigó este tema y llegó a una conclusión confusa
- El alcance que Talon necesita va más allá de la entrada de texto y se extiende a la gestión de ventanas, el posicionamiento del mouse, la gestión del portapapeles y la lectura de pantalla
- No basta con respuestas del tipo “en GNOME sí se puede, pero en KDE no” o “en wlroots ya está implementado”
- Es irreal que una persona desarrolladora multiplataforma tenga que escribir implementaciones separadas para varios compositores como GNOME, KDE, wlroots o Niri, basado en Smithay
- La limitación central es que ningún compositor implementa toda la superficie de API que Talon necesita
La dirección de Talon hacia eliminar el soporte para Linux
- Aegis, desarrollador principal de Talon, declaró que, ante la desaparición de X11 y la migración de las personas usuarias a entornos donde ya no funciona, pronto eliminará todo el soporte para Linux en las versiones públicas
- Talon se divide en niveles gratuito y de pago, y el nivel de pago mantendrá por ahora el soporte para X11
- La decisión de quitar el soporte para Linux de la versión pública busca reducir el problema de que usuarios gratuitos se sorprendan al instalarlo y descubrir que no funciona en entornos Wayland
- Esta decisión no nace de mala intención, sino de una evaluación práctica de que no hay forma de dar soporte al escritorio Linux en 2027
- Si no hay manera de soportar el escritorio Linux, la respuesta posible termina siendo eliminar ese soporte por completo
La tarea que la comunidad tendrá que asumir
- Condiciones que Aegis planteó a quienes quieran mantener con vida a Talon en Linux:
- No discutir con Aegis el tema del soporte para Wayland por ningún motivo
- Que la comunidad se organice y logre implementar con éxito toda la superficie de API que Talon necesita en GNOME, KDE y wlroots
- Solo después de eso podría evaluarse un nuevo backend de Wayland para Talon
- Esta tarea sigue siendo un problema difícil de abordar para la comunidad, y el ecosistema de Wayland se describe como poco amable con los problemas que viven sus usuarios
- El protocolo xdg-session-management tardó 6 años desde el primer pull request hasta completarse
- El protocolo ext-zones, fusionado recientemente, tardó más de 2 años en integrarse, y eso ni siquiera cuenta varios años de investigación y desarrollo para elaborar el concepto inicial
- Al principio parecía que las soluciones se retrasaban porque los mantenedores no conocían las necesidades de accesibilidad de entrada, pero tras leer viejas listas de correo y registros de discusión, la situación de que “nadie habla de esto” empezó a verse como un resultado autocumplido
La dificultad de participar en el ecosistema de Wayland
- En discusiones pasadas, dos respuestas quedaron como especialmente problemáticas:
- La respuesta de Nate Graham aborda la realidad de que quienes desarrollan aplicaciones deben contribuir directamente a Wayland upstream
- En un hilo de accesibilidad DEI de Fedora que no menciona a Talon por nombre, la respuesta de un mantenedor de GTK rechaza participar en la discusión, llama a los usuarios “accessibility maximalists” y remite a material que no está directamente relacionado con la accesibilidad de entrada
- Estas respuestas y el estado de wayland-protocols debilitan mucho la expectativa de que el problema pueda resolverse simplemente con más comunicación
- El ecosistema de Wayland parece exigir participación y, al mismo tiempo, ignorar las necesidades de accesibilidad o pedir años de trabajo de tiempo completo para lograr avances pequeños
- La conclusión se acerca a que los problemas de accesibilidad de entrada no se discuten lo suficiente en público porque, incluso si se intenta, parece no servir de mucho
- También en este contexto se entiende por qué el desarrollador de Talon considera al escritorio Linux un caso sin futuro y deja en manos de la comunidad cualquier posibilidad de rescatarlo
Por qué no se quiere abandonar el escritorio Linux
- El escritorio Linux sigue siendo un entorno que se quiere usar, ya que ofrece Plasma, el soporte de juegos deseado, las herramientas de desarrollo necesarias y herramientas recientes para nuevos bloques de hardware
- La experiencia limpia, sin anuncios, sin rediseños de interfaz malos y sin IA metida en todas partes, también es una razón para querer seguir en el escritorio Linux
- Como decía Fireborn el año pasado, Wayland ha madurado y ahora no queda más que intentar contribuir
- Lo que hace falta es comunicar con claridad cuáles son las necesidades de accesibilidad, cómo Talon las cubre y por qué un futuro solo con Wayland no logra satisfacerlas
- Si alguien sabe cómo avanzar, esta es una oportunidad para ayudar a las personas usuarias que dependen de la accesibilidad de entrada
Posibilidades y límites de los dispositivos de entrada humanos
- Tras 6 meses usando Talon y tecnologías relacionadas, fue posible seguir con la vida y el trabajo incluso en una situación donde ya no se podían usar un teclado y mouse tradicionales
- Al salir de la forma de pensar centrada en teclado y mouse, se vuelve evidente que las posibilidades de los dispositivos de entrada humanos son mucho más amplias
- Las computadoras modernas permiten formas de entrada al nivel de escanear con modelos de ML todos los caracteres de la pantalla, seguir qué carácter está mirando la persona usuaria y hacer clic directamente sobre ese texto en menos de un segundo
- También se piensa tratar pronto en otro texto el teclado especializado Svalboard, un dispositivo que ni siquiera existía hace 3 años
- Talon sigue mejorando, ya ofrece muchísimos comandos y, cuando no alcanza, también existen formas de escribir comandos propios
- Por ahora, si se quiere probar directamente estas nuevas formas de entrada, hay que evitar usar Wayland
1 comentarios
Comentarios en Lobste.rs
Este texto largo y extenso no busca atacar a ningún grupo vulnerable, sino encontrar a las personas adecuadas para hablar de cómo resolver un problema grande y difícil
Si tú podrías ser una de esas personas, o conoces a alguien así, sería bueno que te pongas en contacto
También hubo una publicación anterior en lobste.rs: https://lobste.rs/s/o0x7rb/your_mouse_free_setups
Gracias a las sugerencias de entonces, conocí por primera vez Talon y Svalboard, y lo agradezco mucho
No trabajo en este stack, pero de verdad lo siento, e intentaré hacer todo lo posible para que este problema sea más conocido dentro de los espacios de KDE. Puede que alguien con el conocimiento adecuado logre mejorar la situación
De nuevo, no puedo prometer nada, pero quería que supieras que estamos escuchando y que claramente queremos ayudar
Quien tenga interés puede entrar a los canales de Matrix:
#kde-accessibility:kde.org,#kwin:kde.orgAdemás, alguien preguntó al equipo de desarrollo de Talos cómo hacerlo funcionar en Wayland, pero un desarrollador de Talos respondió: “Wayland is not supported.”
Me pregunto si este texto podría llegar a quienes toman decisiones de compras gubernamentales de software
Si la persona adecuada enviara un correo diciendo que “los usuarios de entrada asistiva pronto perderán una ruta de accesibilidad compatible, por lo que no se puede certificar distribuciones de escritorio Linux basadas en Wayland como Ubuntu o Red Hat bajo EN 301 549/Section 508”, eso podría ayudar bastante a romper el estancamiento actual
Hoy en día, creo que una forma muy indirecta de mejorar la accesibilidad en Linux sería que alguna organización intentara ganar dinero vendiendo escritorios Linux a gobiernos. Para lograrlo, probablemente tendría que resolver los problemas de accesibilidad
Con la situación mundial actual, pensé que ya habría alguien intentando ganar dinero con un negocio que ayudara a los gobiernos a depender menos de Apple y Microsoft
Según entiendo, muchos avances de accesibilidad en UNIX también surgieron en la época en que Sun vendía escritorios al gobierno
Yo también recibí un diagnóstico de EDS como la persona del texto original, pero fue a los 12 años. Nadie me dijo que esta enfermedad iba a empeorar, y más bien me dijeron que “simplemente desaparecería con el tiempo”
Con el paso del tiempo, durante el último año he ido perdiendo fuerza en las manos, hasta el punto de que varias veces se ha confundido con un problema neurológico
Sé que cada vez me queda menos tiempo para configurar un sistema que pueda usar sin las manos. Ver cómo los compositores de Wayland se vuelven el estándar mientras X queda desplazado me está quitando las ganas de aprender Talon, que me recomendó otro amigo con EDS
Quería intentar ayudar a crear soporte mientras todavía podía, pero no sé por dónde empezar y siento que casi a nadie le importa. Esta situación es realmente angustiante
Volver a una arquitectura “antigua” y poder usar un sistema de accesibilidad de verdad fue un avance enorme, y me arrepiento de no haberlo hecho antes. Pase lo que pase con el futuro de la accesibilidad en el escritorio Linux, conviene probar Talon desde ahora
Sobre la fuerza muscular, aunque ahora suene imposible, sí es posible recuperarse, y mientras antes empieces, mejor. Como dije antes, después de varios meses de fisioterapia intensiva pude volver a usar parcialmente las manos. Fui siguiendo la recuperación a lo largo de meses, y vi avances como recuperar en orden inverso puntos que había perdido el año anterior
Así que mientras antes empieces el tratamiento, antes podrás recuperarte, sea lo que sea que eso termine significando. Yo también sigo en ese camino, y probablemente seguiré así
Si estás en Estados Unidos, quizá te sirva este sitio para encontrar fisioterapeutas que puedan ayudarte: https://www.ehlers-danlos.com/eds-echo-healthcare-professionals/
No vayas con cualquier fisioterapeuta. Si no está preparado para tratar a pacientes con EDS, el problema puede empeorar en vez de mejorar
Puedo compartir más sobre mi proceso personal hasta recibir diagnóstico y tratamiento por DM o en otra plataforma. Si quieres, escríbeme
Gracias por plantear un problema que afecta a tanta gente
Aun así, ojalá faltara esta frase: “Lo importante es que nadie quiere volver a tocar esa base de código basurero, y Wayland es el futuro que eligió la comunidad de escritorio FOSS”
Ni freedesktop, ni Red Hat, ni GNOME, ni tú ni yo podemos hablar en nombre de toda la comunidad de escritorio FOSS. Esta comunidad no es un bloque único, y por supuesto hay varias cámaras de eco
No creo que el sentimiento ni el consenso sean tan unánimes como algunas personas quieren hacer creer. Algunos proyectos importantes parecen no haber tomado una decisión todavía, y tampoco han prometido irse por completo a Wayland y abandonar X. Verlo como algo ya resuelto no es una verdad escrita en piedra
Dicho eso, sería una pena que hubiera que abandonar Linux e irse a BSD
Este es un defecto concreto de la do-ocracy del FOSS. Si no hay suficientes personas que quieran hacer algo, o suficientes personas que puedan y quieran pagar el costo, entonces eso no sucede
Es cierto que cualquiera podría mantener y distribuir un fork de Xorg para mantener viva la llama, pero el solo hecho de que eso todavía no haya pasado ya dice algo “en nombre de toda la comunidad de escritorio FOSS”
Los BSD también están agregando soporte para Wayland y, hasta donde sé, no hay ningún proyecto BSD que haya anunciado un fork mantenido. Y no considero XLibre un fork viable
Reconozco el privilegio de no estar sufriendo todavía una discapacidad física grave, y empatizo con la situación de la persona del texto original. Parece que el nivel de acceso que necesita Talon quizá sería mejor implementarlo como un plugin de KWin
Pero como Talon es de código cerrado, es difícil evaluarlo, y además parece que su mantenimiento sería bastante complicado
Sabía hasta cierto punto sobre las limitaciones de Wayland, pero como usuario ligero solo me había topado con pequeñas rarezas y nunca había tenido que lidiar directamente con este tipo de problema.
Ojalá este texto contribuya a difundir conciencia entre la gente que realmente puede generar cambios.
Me pregunto si estaría bien republicar este texto en otros lugares de internet para ampliar su alcance. Incluiría claramente la aclaración original de que no hay ninguna intención de atacar a las personas vulnerables, y le diría a la gente que se guarde las respuestas enojadas.
Talon es impresionante. No tenía idea de que algo así fuera posible.
Con los idiomas logográficos la situación también es parecida. Al final, la adopción de Wayland se va a topar con un muro en algunas regiones, o habrá que arreglar este problema.
Me pregunto si este problema podría discutirse en el contexto de la European Accessibility Act.
No conozco bien el texto de la ley, pero sí sé que la accesibilidad del sistema operativo es una parte clave. Parece el tipo de problema que Linux tendría que resolver para cumplir, así que quizá se podría hablar con desarrolladores y con organismos europeos de financiamiento como Sovereign Tech Agency y NLNet.
Nunca he usado Talon, pero sí he logrado con bastante facilidad reutilizar dispositivos MIDI como un pedal de sustain de piano, convirtiéndolos en otras entradas con un pequeño programa puente.
El hardware también es bastante barato y hay muchas opciones, así que con un poco de código de conexión se puede reutilizar creativamente. Vale la pena considerarlo.
El trackball de ploopy también parece que podría modificarse para operarlo con el pie. Haría falta una bola más grande y ajustar la sensibilidad, y habría que rediseñar los botones, pero en la forma más simple también podría hacerse como con un teclado dividido: presionar un panel de botones separado con el otro pie.
Sobre la parte de “el año pasado el mantenedor de xdotool, la herramienta de facto estándar para automatización de entrada en X11, investigó cómo hacer esto, se confundió y se fue”, este año lo intentó de nuevo y logró bastante progreso.
Por ejemplo, está esto: https://hachyderm.io/@whack/116554328265192238. Ahora parece estar haciendo trabajo adicional relacionado con pruebas automáticas en varios entornos de escritorio.
Me pregunto si Wayback podría servir como solución provisional a corto o mediano plazo.
La iniciativa la están empujando personas del lado de Alpine, porque quieren dejar de empaquetar Xorg sin abandonar los gestores de ventanas que todavía no se han pasado a Wayland.
De lo que habla la publicación original es del problema de que Plasma y Gnome están eliminando el soporte para sus respectivas sesiones X11.