Minha stack de acessibilidade e o futuro no Wayland
(nocoffei.com)- A transição para o Wayland rompe ferramentas de acessibilidade de entrada baseadas em X11, fazendo com que alguns usuários percam o meio de acessar o computador e até a própria vida profissional
- Talon Voice combina reconhecimento de voz, scripting e Python para permitir trocar de app, ditar, controlar o navegador e rolar a tela sem usar as mãos
- gaze_ocr e Cursorless combinam OCR, rastreamento ocular e referência à árvore sintática para ampliar a manipulação da tela e o alcance da programação sem cooperação dos apps
- No Wayland faltam APIs padrão comuns para gerenciamento de janelas, automação de entrada, posicionamento do mouse, área de transferência e leitura de tela de que o Talon precisa
- O principal desenvolvedor do Talon anunciou a remoção do suporte a Linux das versões públicas, e a implementação de APIs em GNOME, KDE e wlroots continua sendo uma tarefa da comunidade
O problema de a transição para o Wayland quebrar a acessibilidade de entrada
- O KDE Plasma anunciou a remoção do suporte a X11 no início de 2027, e usuários de ferramentas de acessibilidade que dependem de X11 terão dificuldade para continuar usando seu ambiente de desktop atual em cerca de 9 meses
- Discussões sobre acessibilidade costumam se concentrar em acessibilidade de saída para usuários com baixa visão ou cegueira, mas a acessibilidade de entrada, que permite transmitir comandos ao computador, é igualmente importante
- Após o diagnóstico de Ehlers-Danlos Syndrome, os pequenos músculos dos punhos e dedos foram danificados, dificultando o uso de teclado e mouse; com fisioterapia especializada foi possível recuperar parte do uso das mãos, mas não o suficiente para aguentar um dia inteiro de trabalho
- Se o desktop Linux migrar para um modelo exclusivo de Wayland, as ferramentas atuais que permitem operar o computador quase sem usar as mãos não terão o nível de integração com o sistema de que precisam
- A transição para Wayland não é apenas uma troca de servidor gráfico, mas uma mudança que, para alguns usuários, significa perder o meio de acessar o computador e a vida profissional
O ambiente de entrada sem mãos oferecido pelo Talon Voice
- Talon Voice combina um modelo de ML de voz para texto rápido e preciso, uma linguagem de script dedicada e Python para que o usuário possa ampliar por conta própria a forma de controlar aplicativos
- O Talon permite controlar aplicativos indiretamente mesmo quando eles não oferecem integração de acessibilidade, e essa abordagem é descrita como acessibilidade adversarial (adversarial accessibility)
- A coleção de scripts talonhub/community é um componente essencial instalado logo de início para tornar o Talon prático, e é composta por dezenas de milhares de linhas de código escritas manualmente para atender às necessidades dos usuários
- Tarefas possíveis com Talon:
- Alternar o foco de aplicativos por voz, em vez de escolher com o mouse na barra de tarefas
- Escrever texto com o Dictation Mode; a maior parte do texto original também foi escrita com Talon
- Controlar totalmente o navegador sem usar as mãos com a extensão Rango
- Ao escrever textos longos, usar um script próprio que chama via D-Bus o programa externo de voz para texto dsnote
- Como rolar a tela dói de forma constante com qualquer dispositivo de entrada, rolar fazendo um som de “shh”
- Considerar no futuro integrar pedais ao Talon
gaze_ocr e manipulação direta da tela
- gaze_ocr é uma extensão do Talon que lê o conteúdo da tela com OCR e permite clicar diretamente nos objetos exibidos
- No Linux, não há backend de OCR incluído por padrão, mas foi possível usá-lo conectando o RapidOCR
- Ao usar junto um rastreador ocular, é possível distinguir o texto na tela com base no ponto que o usuário está realmente olhando
- Um vídeo introdutório de 60 segundos pode ser visto em https://youtu.be/qkFy66WF3bU
- O gaze_ocr consegue interagir mesmo sem qualquer integração do lado do aplicativo, tornando-se um exemplo representativo de acessibilidade que funciona mesmo em um ambiente sem cooperação dos aplicativos
Cursorless e programação por voz
- Cursorless é uma extensão do Visual Studio Code que usa representações conscientes da árvore sintática do código-fonte e marcadores sobre cada token para permitir referenciar tokens por voz
- Uma demonstração em texto pode ser vista na explicação sobre Cursorless de Xe Iaso
- Em combinação com o suporte de escrita por voz para várias linguagens de programação do talonhub/community, é possível escrever código completamente sem usar as mãos
- Por exemplo, para ir ao início de uma frase, a pessoa observa a cor e a posição do marcador acima de “Cursorless” e diz algo como “pre pink cap” para referenciar aquele caractere
- Esse método usa o sistema de soletração por voz do Talon
- O Cursorless oferece uma forma de escrita mais poderosa do que editores tradicionais baseados em teclado ou editores controlados por voz, e tornou-se uma ferramenta central a ponto de receber implementações específicas para softwares usados no trabalho
- O valor do Talon como um todo vai além de compensar uma deficiência: ele oferece maneiras novas e mais poderosas de interagir com o computador
Por que o Talon quebra no Wayland
- O desktop Linux está migrando do X11, com mais de 40 anos, para o Wayland, e a comunidade de desktops FOSS escolheu o Wayland como futuro
- O Talon precisa se integrar profundamente ao gerenciador de janelas e ao compositor para executar tarefas básicas, mas o Wayland não oferece um meio padronizado de realizar essas ações
- Até a automação mais básica de entrada de texto parece inviável de uma “forma realmente Wayland”; o mantenedor do xdotool, ferramenta de automação de entrada que é padrão de fato no X11, investigou isso e chegou a uma conclusão confusa
- O escopo necessário para o Talon vai além da entrada de texto e inclui gerenciamento de janelas, posicionamento do mouse, gerenciamento da área de transferência e leitura de tela
- Respostas como “isso funciona no GNOME, mas não no KDE” ou “já existe no wlroots” não são suficientes
- É irrealista exigir que um desenvolvedor multiplataforma escreva implementações separadas para vários compositores, como GNOME, KDE, wlroots e o Niri baseado em Smithay
- A limitação central é que nenhum compositor implementa toda a superfície de APIs de que o Talon precisa
A direção de remover o suporte a Linux no Talon
- Aegis, principal desenvolvedor do Talon, declarou que, com o desaparecimento do X11 e a migração dos usuários para ambientes onde ele não funciona, em breve vai remover todo o suporte a Linux das versões públicas
- O Talon é dividido em camadas gratuita e paga, e a camada paga manterá o suporte a X11 por enquanto
- A decisão de remover o suporte a Linux das versões públicas está ligada a reduzir o fardo de usuários gratuitos que instalam o programa e se surpreendem ao descobrir que ele não funciona em ambientes Wayland
- A decisão não vem de má vontade, mas de uma avaliação prática de que não há meio de dar suporte ao desktop Linux em 2027
- Se não há como oferecer suporte ao desktop Linux, a resposta possível passa a ser remover esse suporte por completo
A tarefa que a comunidade terá de assumir
- Condições colocadas por Aegis para usuários que querem manter o Talon vivo no Linux:
- Não discutir suporte a Wayland com Aegis sob nenhuma circunstância
- A comunidade se organizar e implementar com sucesso, em GNOME, KDE e wlroots, toda a superfície de APIs de que o Talon precisa
- Só depois disso um novo backend Wayland para o Talon poderá ser avaliado
- Essa tarefa continua sendo um problema de difícil acesso para a comunidade, e o ecossistema Wayland é descrito como pouco amigável aos problemas enfrentados pelos usuários
- O protocolo xdg-session-management levou 6 anos entre o primeiro pull request e a conclusão
- O protocolo ext-zones, mesclado recentemente, levou mais de 2 anos até o merge, sem contar os vários anos de pesquisa e desenvolvimento para criar o conceito inicial
- No começo, parecia que a solução atrasava porque os mantenedores não conheciam as demandas de acessibilidade de entrada, mas após ler registros antigos de listas de discussão e debates passados, o estado de “ninguém fala sobre isso” passou a parecer um resultado autorrealizável
A dificuldade de participar do ecossistema Wayland
- Em discussões anteriores, duas respostas continuam sendo especialmente problemáticas:
- A resposta de Nate Graham trata da realidade de que desenvolvedores de aplicativos precisam contribuir upstream para o Wayland
- Em uma thread de acessibilidade e DEI do Fedora que não menciona o Talon nominalmente, a resposta de um mantenedor do GTK recusa participar da discussão, chama os usuários de “accessibility maximalists” e cita materiais sem relação direta com acessibilidade de entrada
- Essas respostas e o estado do wayland-protocols enfraquecem fortemente a expectativa de que comunicação adicional por si só possa resolver o problema
- O ecossistema Wayland parece exigir participação, mas ao mesmo tempo ignorar necessidades de acessibilidade ou demandar anos de trabalho em tempo integral para qualquer pequeno avanço
- A conclusão se aproxima da ideia de que os problemas de acessibilidade de entrada não são suficientemente discutidos em público porque tentar parece inútil
- É nesse contexto que se entende por que o desenvolvedor do Talon vê o desktop Linux como um caso sem esperança e deixou para a comunidade qualquer possibilidade de salvá-lo
Por que não quero abandonar o desktop Linux
- O desktop Linux continua sendo um ambiente que quero usar, oferecendo o desktop Plasma, suporte aos jogos que quero, as ferramentas de desenvolvimento de que preciso e ferramentas atualizadas para novos blocos de hardware
- Uma experiência limpa, sem anúncios, sem redesigns ruins de interface e sem IA enfiada em todo lugar, também é um motivo para querer continuar no desktop Linux
- Como no texto do ano passado de Fireborn, o Wayland amadureceu e agora não temos escolha a não ser tentar contribuir
- O que é necessário é comunicar com clareza as demandas de acessibilidade, como o Talon atende a essas demandas e por que um futuro exclusivo de Wayland não consegue atendê-las
- Se alguém souber como avançar, esta é uma situação em que pode ajudar usuários de acessibilidade de entrada
As possibilidades e os limites dos dispositivos de entrada humanos
- Ao usar o Talon e tecnologias relacionadas por 6 meses, foi possível manter a vida e o trabalho mesmo sem conseguir usar teclado e mouse tradicionais
- Ao sair de uma lógica centrada em teclado e mouse, fica claro que as possibilidades dos dispositivos de entrada humanos são muito mais amplas
- Computadores modernos permitem formas de entrada em que um modelo de ML escaneia todos os caracteres da tela, rastreia qual caractere o usuário está olhando e clica diretamente naquele texto em menos de um segundo
- O teclado especial Svalboard também será abordado em um texto futuro; esse dispositivo nem existia 3 anos atrás
- O Talon continua melhorando, já oferece uma quantidade enorme de comandos e, quando isso não basta, também existe um caminho para escrever seus próprios comandos
- Para experimentar diretamente essas novas formas de entrada, por enquanto é preciso não usar Wayland
1 comentários
Comentários do Lobste.rs
Este texto longo e prolixo não tem a intenção de atacar pessoas vulneráveis, mas sim de encontrar as pessoas certas para falar sobre como resolver um problema grande e difícil
Se você pode ser uma dessas pessoas ou conhece alguém assim, seria ótimo entrar em contato
Também houve um post anterior no lobste.rs: https://lobste.rs/s/o0x7rb/your_mouse_free_setups
Graças às sugestões daquela vez, conheci Talon e Svalboard pela primeira vez, e sou muito grato por isso
Não trabalho nessa stack, mas sinto muito de verdade e vou fazer o meu melhor para divulgar mais esse problema nos espaços do KDE. Alguém com o conhecimento adequado talvez consiga melhorar a situação
Novamente, não posso garantir nada, mas quero ao menos dizer que estamos ouvindo e claramente queremos ajudar
Quem tiver interesse pode entrar nos canais Matrix:
#kde-accessibility:kde.org,#kwin:kde.orgAlém disso, alguém perguntou ao pessoal de desenvolvimento do Talos como fazê-lo funcionar no Wayland, mas um desenvolvedor do Talos respondeu: “Wayland is not supported.”
Fico me perguntando se este post poderia chegar a pessoas que tomam decisões de compras governamentais de software
Se a pessoa certa enviasse um e-mail dizendo que “não é possível certificar distribuições de desktop Linux baseadas em Wayland, como Ubuntu ou Red Hat, segundo os critérios EN 301 549/Section 508, porque usuários de entrada assistiva em breve perderão um caminho de acessibilidade com suporte”, isso poderia ajudar bastante a romper o impasse atual
Hoje em dia, vejo uma forma bem indireta de melhorar a acessibilidade no Linux: alguma organização tentar ganhar dinheiro vendendo desktops Linux para governos. Para isso, provavelmente teria de resolver os problemas de acessibilidade
Com a situação geopolítica atual, eu imaginava que surgiria alguém tentando lucrar com a ideia de tornar governos menos dependentes de Apple e Microsoft
Pelo que entendo, muitos avanços em acessibilidade no UNIX também aconteceram na época em que a Sun vendia desktops para governos
Também recebi diagnóstico de EDS, como o autor original, mas foi aos 12 anos. Ninguém me disse que essa doença iria piorar; ao contrário, ouvi que “com o tempo isso simplesmente desaparece”
Com o passar do tempo, no último ano perdi força nas mãos e isso chegou a ser confundido várias vezes com um problema neurológico
Sei que meu tempo para configurar um sistema que eu consiga usar sem as mãos está diminuindo. Ver compositores Wayland virarem padrão e o X ser deixado de lado está destruindo minha motivação para aprender Talon, que outro amigo com EDS me recomendou
Eu queria ajudar a criar suporte enquanto ainda posso, mas não sei por onde começar e parece que quase ninguém se importa. Essa situação é realmente angustiante
Voltar para uma arquitetura “antiga” e poder usar um sistema de acessibilidade de verdade foi um avanço enorme, e me arrependo de não ter feito isso antes. Seja qual for o futuro da acessibilidade no desktop Linux, vale a pena começar a usar Talon agora mesmo
Quanto à força muscular, agora isso pode soar impossível, mas recuperação é possível, e quanto mais cedo começar, melhor. Como mencionei antes, depois de alguns meses de fisioterapia intensiva consegui recuperar parcialmente o uso das mãos
Acompanhei a recuperação ao longo de vários meses e vi progresso no sentido de recuperar, em ordem inversa, pontos que havia perdido no ano anterior
Portanto, quanto mais cedo você começar o tratamento, mais cedo poderá se recuperar. Seja lá o que isso venha a significar no final. Eu ainda estou nessa jornada e provavelmente continuarei nela
Se você estiver nos EUA, vale a pena consultar este site para encontrar fisioterapeutas que possam ajudar: https://www.ehlers-danlos.com/eds-echo-healthcare-professionals/
Não vá a qualquer fisioterapeuta. Muitas vezes eles não estão preparados para tratar pacientes com EDS, e isso pode piorar a situação em vez de melhorá-la
Posso compartilhar mais sobre meu processo pessoal até conseguir diagnóstico e tratamento por DM ou em outra plataforma. Pode entrar em contato se quiser
Obrigado por levantar um problema que afeta tantas pessoas
Dito isso, eu preferia que uma frase tivesse ficado de fora: “O importante é que ninguém mais quer mexer nessa codebase de lixão, e que Wayland é o futuro escolhido pela comunidade de desktop FOSS”
Nem freedesktop, nem Red Hat, nem GNOME, nem você, nem eu podemos falar em nome de toda a comunidade de desktop FOSS. Essa comunidade não é um bloco único e, claro, existem várias câmaras de eco
Não acho que exista tanta unanimidade de sentimento e concordância quanto algumas pessoas querem fazer parecer. Alguns projetos importantes aparentemente ainda não decidiram nada e não prometeram migrar totalmente para Wayland e abandonar o X. Tratar isso como algo já concluído não é um fato gravado em pedra
Dito isso, seria uma pena se fosse preciso abandonar o Linux e ir para o BSD
Isso é uma desvantagem concreta da do-ocracy no FOSS. Se não houver pessoas suficientes dispostas a fazer algo, ou pessoas suficientes capazes e dispostas a pagar o custo disso, então isso não acontece
É verdade que qualquer um pode manter e distribuir um fork do Xorg para manter a chama acesa, mas o próprio fato de isso ainda não ter acontecido fala por si só, como se “falasse em nome de toda a comunidade de desktop FOSS”
Os BSDs também estão adicionando suporte a Wayland e, até onde sei, nenhum projeto BSD anunciou um fork mantido. E eu não considero XLibre um fork viável
Reconheço o privilégio de ainda não enfrentar uma deficiência física grave e tenho empatia pela situação do autor original. Talvez o nível de acesso de que o Talon precisa seja melhor implementado como um plugin do KWin
Mas o Talon é de código fechado, então é difícil avaliar, e a manutenção também parece que seria bem complicada
Eu conhecia até certo ponto as limitações do Wayland, mas, como usuário leve, só tinha esbarrado em pequenas peculiaridades e nunca lidei diretamente com esse tipo de problema
Espero que este texto ajude a aumentar a conscientização entre as pessoas que de fato podem provocar mudanças
Fico pensando se seria aceitável repostar este texto em outros lugares da internet para ampliar o alcance. Eu incluiria claramente a ressalva original de que não há absolutamente nenhuma intenção de atacar pessoas vulneráveis e pediria que as pessoas segurassem as respostas raivosas
Talon é impressionante. Eu não fazia ideia de que algo assim era possível
Idiomas logográficos também estão em situação parecida. No fim, a adoção do Wayland vai bater numa parede em algumas regiões, ou então esse problema terá de ser corrigido
Fico pensando se esse problema poderia ser discutido no contexto do European Accessibility Act
Não conheço bem o texto da lei, mas sei que a acessibilidade do sistema operacional é uma parte central. Parece o tipo de problema que precisaria ser resolvido para o Linux estar em conformidade, então talvez dê para conversar com desenvolvedores e com órgãos europeus de financiamento como a Sovereign Tech Agency e a NLNet
Nunca usei o Talon, mas já consegui com certa facilidade usar dispositivos MIDI, como um pedal de sustain de piano, convertendo-os em outras entradas com um pequeno programa intermediário
O hardware também é bem barato e há muitas opções, então, com um pouco de código de ligação, dá para reaproveitar isso de forma criativa. Vale considerar
O trackball da ploopy também parece algo que poderia ganhar uma adaptação para uso com os pés. Seria preciso uma bola maior e ajuste de sensibilidade, e os botões teriam de ser redesenhados, mas, na forma mais simples, também daria para fazer como em teclados divididos e pressionar um painel de botões separado com o outro pé
Sobre a parte “no ano passado, o mantenedor do xdotool, a ferramenta de automação de entrada padrão de fato do X11, foi investigar como fazer isso, ficou confuso e foi embora”, houve uma nova tentativa este ano e bastante progresso foi feito
Por exemplo, há isto: https://hachyderm.io/@whack/116554328265192238. Agora parece que ele está fazendo trabalho complementar relacionado, com testes automatizados em vários ambientes de desktop
Fico pensando se o Wayback poderia ser uma solução temporária de curto ou médio prazo
O trabalho está sendo liderado pelo pessoal do Alpine, porque eles querem parar de empacotar o Xorg sem abandonar gerenciadores de janelas que ainda não migraram para Wayland
O que o texto original está dizendo é que o Plasma e o Gnome estão removendo o suporte às suas respectivas sessões X11