Acessibilidade

22 abr, 2014

Conheça o ADRIANE, um gerenciador e leitor de tela para deficientes visuais

Publicidade

O Linux tem vários belos desktops, incluindo cubos giratórios, janelas fluidas e dimensionáveis e gestos do mouse para funções semiautomáticas terrivelmente inteligentes. Infelizmente, desde o início da computação orientada ao mouse, o desktop gráfico foi projetado para usuários que trabalham dentro de um contexto visual.

Considere, por exemplo, um desktop KDE bem configurado com ícones cuidadosamente organizados. Se você desligar o monitor, você ainda conseguirá abrir o cliente de e-mail e ler suas mensagens? A maioria dos usuários sequer conseguiria encontrar o ícone do programa sem informações visuais, mas é assim que um desktop gráfico se apresenta para deficientes visuais.

Figura 1 O Adriane suporta um ambiente desktop completo para deficientes visuais.

Alguns fabricantes de software vendem “acessórios de acessibilidade” para desktops gráficos, que criam a impressão de que todo o problema é subitamente resolvido com a compra de mais softwares – e mais caros. Acrescentar retornos auditivos aos menus, elementos interativos e teclados de fato possibilitam a cegos operarem um programa que não conseguiam usar antes, mas como as interfaces interativas dos programas ainda são projetadas para um panorama “visual”, ainda é difícil e cansativo procurar botões ou funções específicos.

Já existem muitas ferramentas e extensões de código aberto necessárias para trabalhar com deficiências visuais (como cegueira ou baixa acuidade visual), motoras e mentais – e elas são parte de quase todos os repositórios de distribuições GNU/Linux. O projeto ADRIANE (que significa Audio Desktop Reference Implementation And Networking Environment) reúne essas tecnologias num sistema auditivo único para deficientes visuais.

Acessibilidade vs. equalização

Muitos usuários cegos nem sempre têm a opção de escolher qual software usar no ambiente de trabalho. Essa decisão muitas vezes é tomada por um empregador que precisa se adequar legalmente às exigências de acessibilidade do local de trabalho. A decisão mais comum é simplesmente que “todos na empresa precisam usar o mesmo software” ou algum extensão disso. Essa escolha costuma ser feita sem considerar a verdadeira opinião ou as necessidades dos funcionários deficientes visuais. Um sistema desktop proprietário para cegos custa muitos milhares de reais, e a pessoa que instala o sistema parte do princípio de que qualquer coisa tão cara precisa ser boa. Mas será que é verdade?

Figura 2 Os menus simples do ADRIANE são fáceis de navegar e personalizar.

Empregadores que tomam decisões apressadas sobre softwares sem barreiras não apenas criam espaços de trabalho ineficientes e frustrantes, como também perdem muita produtividade por subestimarem as capacidades dos funcionários. Um cego que use hardware e software apropriados consegue trabalhar pelo menos tão rápido quanto (e às vezes até mais rápido do que) alguém sem deficiência visual. Ele consegue ler, entender e lembrar-se de uma página inteira de texto em apenas alguns segundos – enquanto usuários comuns ainda estão definido quais partes da página são anúncios. Ele consegue encontrar ofertas perfeitas e vencer leilões no eBay antes mesmo de você encontrar o caminho de cliques para fazer uma oferta – isto é, se o ambiente de trabalho for projetado para as capacidades do usuário em vez de uma “ponte de acessibilidade” padrão para layouts orientados à visão.

ADRIANE

A linha de comando é a interface mais eficaz para trabalhar com computadores, pois oferece uma forma direta de introduzir comandos que fazer o computador realizar exatamente o que se deseja. Uma interface de texto direta se concentra no conteúdo, não no layout ou intuição visual.

Até nos antigos sistemas DOS era possível exibir o texto da tela para periféricos conectados por meio de portas paralelas e seriais, como impressoras, sintetizadores de voz por hardware e dispositivos Braille. Infelizmente, os desktops gráficos complicaram um tanto a vida dos usuários deficientes.

Figura 3 Alfabeto Braille português.

Enquanto a equipe do ADRIANE pesquisava o assunto, trabalhando de perto com usuários cegos (até mesmo iniciantes em computação) – e também desenvolvedores cegos –, chegamos à conclusão de que as interfaces dos softwares deveriam adaptar-se às capacidades do usuário, em vez de forçá-lo a se adaptar a uma interface que jamais teve como objetivo oferecer suporte a cegos.

O nome ADRIANE (Audio Desktop Reference Implementation And Networking Environment – Ambiente de Rede e Referência para Implementação de Desktop Auditivo) descreve uma interface de usuário que não requer sequer um monitor ou saída visual, mas ainda oferece uma interface de usuário passo-a-passo linear e fácil de usar, organizada em menus de acordo com as preferências do usuário. Em vez de reinventar a roda, integramos técnicas já existentes no GNU/Linux, tais como leitores de tela, sintetização de voz, drivers Braille, navegação pelo teclado e programas que podem ser inteiramente controlados em modo não gráfico (figura 1).

Inteiramente por acaso, ADRIANE também é o nome da minha esposa, que foi a primeira beta tester e co-desenvolvedora do projeto pela perspectiva do usuário e que, naturalmente, tinha grande ceticismo quanto à usabilidade para iniciantes, dadas as experiências passadas desconfortáveis com sistemas para cegos. Quando ela aprendeu Braille, era necessária uma pessoa com visão por perto para instalar e trabalhar com dispositivos Braille, e usar a Internet com as ferramentas disponíveis até então estava fora de questão. O máximo que um usuário cego conseguia fazer era processar texto com atalhos complicados.

O menu do ADRIANE ordena as tarefas mais comuns numa estrutura plana, sem comandos a serem lembrados ou digitados. A primeira linha diz “Enter para ajuda, seta para baixo o próximo menu”, que é um bom ponto de partida quando se interage com uma interface não visual pela primeira vez. A pedido especial de usuários e programadores cegos mais experientes, depois acrescentamos um item Shell ao primeiro menu. Em geral, o menu é fácil de estender e funciona em modo texto, assim como em modo gráfico, graças ao dialog e ao Xdialog, como mostra a figura 2.

Os utilitários que acompanham o ADRIANE, incluindo ferramentas como Elinks, Mutt, Irssi, MPlayer e Sane/OCRopus, cobrem as atividades mais populares de usuários finais e rodam com facilidade em consoles de texto juntamente com o leitor de tela. Uma especialidade que ainda não apareceu em sistemas proprietários sem barreiras é a opção de ler e enviar mensagens de texto SMS com um celular – sem qualquer software no próprio telefone. Como se pode imaginar, é impossível ler ou responder uma mensagem de texto tendo apenas a pequena tela do aparelho como fonte de informação quando se é cego. Com o GSM, o usuário do ADRIANE consegue baixar mensagens SMS para o computador e respondê-las com uso de um editor e um teclado normal, em vez das teclinhas do telefone.

As seções a seguir descrevem alguns dos programas e componentes usados no ADRIANE. O foco são os recursos para usuários cegos e com visão prejudicada. Não serão cobertas outras ferramentas para suportar deficiências motoras ou mentais, como reconhecimento de fala, teclas sticky etc.

Dispositivos Braille e leitores de tela

Fazer o computador pronunciar uma linha de texto e exibir o texto num dispositivo Braille são as formas mais comuns para cegos aprenderem o que está escrito na tela do computador. Um dispositivo Braille, comumente chamando simplesmente de “linha” devido a suas dimensões verticais restritas, é uma tela tátil que consiste em seis ou oito pontos por letra, que podem ser lidos pelo toque por quem sabe Braille. A figura 3 mostra uma parte da tradução do Braille para o alfabeto brasileiro. Cada idioma usa uma tabela diferente para a tradução e, como não há símbolos especiais para números, as letras a a j são usadas para representar os algarismos de um a zero, às vezes com um “símbolo de número” antes para esclarecer tratarem-se de dígitos.

Figura 4 Há um plugin para o Compiz que permite a magnificação do texto ao redor do cursor do mouse.

Juntamente com outras opções especializadas, há duas opções principais de leitores de telas e drivers para dispositivos Braille e de fala no Linux: Brltty e SUSE Blinux (SBL).

O Brltty provavelmente é o driver de interface Braille mais conhecido, enquanto a força do SBL está na extensão do suporte para Braille e text-to-speech para aplicativos individuais, o que possibilita a personalização individual de quais partes da tela e do texto serão exibidas. O SBL também permite que os usuários naveguem na tela com teclas de dispositivos Braille, assim como apenas com o teclado, que é o motivo pelo qual o SBL é o leitor primário de tela no sistema ADRIANE. O ADRIANE emprega a tecla raramente usada Caps para navegação e funções do teclado no SBL, como mostra a tabela 1.

Usando essas poucas combinações de teclas. é possível descobrir, linha por linha, o que o computador está exibindo na tela, mesmo com o monitor desligado. Embora não seja possível visualizar um panorama dos programas, menus e botões todos de uma só vez, o usuário ainda consegue acessar qualquer linha de informação e pular para partes específicas de uma página usando as teclas.

O Orca é um leitor de tela escrito em Python para aplicativos gráficos e usa a biblioteca GTK2 e a Interface de Provedor de Serviço de Tecnologia Assistiva (AT-SPI, na abreviação em inglês). O Orca envia rótulos de texto de menus, botões e áreas de texto misto (como o painel principal do navegador web) para um dispositivo Braille e sintetizador de voz. O Orca ainda possui um recurso de magnificação, porém este não funcionou de forma confiável em nossos testes.

O Orca possibilita o trabalho com o OpenOffice.org 2.3 e versões posteriores com áudio e Braille, contanto que o usuário conheça todas as abreviações de teclado necessárias para ativar funções normalmente selecionadas com o mouse. O Orca não apenas lê o texto “visual” aparente, mas também oferece dicas e metainformações como família e renderização da fonte, tipos de elementos de formulário, e assim por diante. Apesar de estar sendo desenvolvido primariamente para o ambiente Gnome, ele funciona bem com todos os gerenciadores de janela, desde que o aplicativo individual suporte o AT-SPI. Estes incluem Firefox, OpenOffice.org, Pidgin e até (parcialmente) Gimp. Se o Orca não for iniciado a partir do Gnome, é preciso definir algumas variáveis de sistema para ativá-lo com aplicativos GTK2:

export SAL_USE_VCLPLUGIN="gtk"
export GTK_MODULES="gail:atk-bridge"
orca &
soffice documento.odt

O Orca tem plugins tanto para o Brltty quanto para o SBL, então o mesmo driver Braille que funciona no modo texto também pode ser usado no modo gráfico.

Apesar de o Orca possibilitar que cegos utilizem programas orientados ao mouse, uma interface gráfica com vários botões ou menus numa única janela não é ótima ou eficiente para uso não gráfico. Trabalhar com interfaces gráficas é ainda mais lento e complicado para usuários com deficiência visual do que para aqueles com visão. O verdadeiro desastre ocorre quando o programa é minimizado ou sua janela perde foco por causa de outro aplicativo. Com isso, a janela se torna inacessível pelo leitor de tela até receber novamente o foco, e para o usuário fica ainda mais “invisível”. A menos que se saiba como restaurar janelas minimizadas ([Alt]+[Tab] em alguns casos), não fica claro para o usuário sem visão se o programa simplesmente perdeu o foco e desapareceu ou se o próprio leitor de tela travou por erro de software. Portanto, a interface de escolha para deficientes visuais iniciantes na computação ainda é o console de texto, que nunca perde foco e sempre fornece um modo “tela cheia” para cada programa.

O leitor de tela envia o texto para um dispositivo Braille ou um sintetizador de voz, mas a entrada ainda precisa ser digitada num teclado comum. Embora uma pessoa cega não consiga ver o que está escrito em cada tecla, pode-se perceber que todo teclado – até o seu – possui pequenas marcações táteis nas teclas [F] e [J] que fornecem certa orientação para deficientes visuais. Nos telefones, geralmente é o número  que possui a marca. Ao preparar um teclado para deficientes visuais, geralmente os técnicos usam um ferro de solda para acrescentar outras marcações com pontos táteis para uma melhor orientação.

Texto para voz

Para permitir que o computador leia o texto exibido na tela, é preciso um sintetizador de texto para voz (ou text-to-speech, como também é conhecido). A teoria linguística por trás de como gerar texto falado de alta qualidade a partir de algo escrito preenche, por si só, alguns livros. Algumas regras fonéticas informam como o texto escrito (combinações de letras e sílabas) são pronunciados corretamente, e há programas que rastreiam vários milhares de exceções frequentes. Apenas concatenar sons leva a resultados incompreensíveis; portanto, ferramentas de boa qualidade escolhem partes maiores (seleção de unidades) ou menores (dífonos ou síntese de meias-sílabas) de sons pré-gravados a partir de um enorme banco de dados. Gravar e rotular textos pré-gravados exige muito trabalho; infelizmente, o resultado raramente é coberto por uma licença que permita distribuição irrestrita.

Figura 5 Portal WAP do eBay no Konqueror e no Elinks.

O Festival é um sofisticado analisador e sintetizador de fala, mas criar um banco de dados e um conjunto de regras de fala para ele não é fácil, pois ele usa uma sintaxe semelhante à de lisp e requer um banco de dados de dífonos com aproximadamente 3 mil trechos de áudio, cortados e estendidos por pontos de entonação. Há somente algumas poucas vozes gratuitas gravadas para o Festival no momento. O Mbrola, um sintetizador de fala “grátis para uso não comercial”, conseguiu muitas contribuições em seu banco de dados de fala, mas sua licença não permite a distribuição livre para nenhum propósito,, e ele não é compatível com licenças de código aberto. Há alguns sistemas proprietários de text-to-speech disponíveis, mas o foco deste artigo são as opções livres e de código aberto.

A melhor escolha para o ADRIANE é o eSpeak, que consome poucos recursos da CPU, fala mais de 30 idiomas e é facilmente extensível. O eSpeak possui uma abordagem inteiramente sintética, sem vozes gravadas que soem reais, então ele parece “robótico”; por outro lado, é livre de alegações proprietárias.

Para coordenar os recursos de text-to-speech, o Speech Dispatcher já faz parte de vários programas de acessibilidade. Ele é capaz de interromper a saída de um texto longo com uma mensagem mais curta com maior prioridade, depois retornar ao texto inicial em seguida, opcionalmente com vozes diferentes ou sons entre os discursos. Tanto o SBL quanto o Orca (em suas versões atuais) empregam o Speech Dispatcher para fornecer recursos de voz a diferentes programas.

Todos os back-ends de acessibilidade, como o Speech Dispatcher, o kbdsniffd (driver de navegação pelo teclado) e o SBL (leitor de tela) são iniciados pelo adriane-screenreader na ordem correta.

Magnificação e cor

Apesar de você talvez imaginar que gerenciadores de janela 3D como o Compiz Fusion não sejam adequados para deficientes visuais, na verdade o Compiz contém algumas extensões úteis para usuários com baixa visão. A lente de aumento que acompanha o foco é uma ferramenta prática que não vi em nenhum outro projeto além do Compiz. Basta pressionar [Ctrl]+[Alt]+[+] para aumentar a tela ou [Ctrl]+[Alt]+[-] para diminuí-la. Apesar de isso já poder ser usado como uma lente de aumento decente, se o mouse for posicionado, por exemplo, no canto superior esquerdo da tela, não será possível perceber caso um pequeno diálogo se abra em outra parte da tela que não esteja magnificada. O plugin Enhanced Zoom do Compiz Fusion move a janela visível para a nova janela com foco e altera o aumento para que se adapte à nova janela. Diferentemente do alternador de resolução do Xorg, essa ferramenta também aumenta o tamanho do ponteiro do mouse. Se ainda não for possível encontrar a localização do cursor na tela, o plugin mouse visibility exibe um círculo de fogo bastante chamativo ao seu redor.

Um segundo plugin de lente de aumento apenas aumenta uma área em torno do ponteiro do mouse, o que talvez seja preferível caso se deseje visualizar a tela inteira com apenas os detalhes aumentados (figura 4).

No caso de certos tipos de daltonismo, é possível trocar certas cores por outras, com escolhas a partir de várias tabelas, ou simplesmente inverter toda a tabela de cores (que também é um recurso prático para apresentações com contraste insuficiente).

Navegador acessível

O Elinks, um fork “experimental” do navegador Links, oferece certos recursos práticos para interfaces de texto. O Elinks suporta CSS e JavaScript, o que permite o uso de algumas páginas que se recusam a funcionar em navegadores sem suporte para JavaScript. O SBL é configurado por padrão para que o Elinks leia somente textos marcados com tags <a href>, e sem texto puro entre elas. Isso permite a navegação rápida apenas conferindo e seguindo links a princípio; ao final, chegando-se à página desejada, o usuário pode obter uma leitura da página inteira.

Figura 6 O ADRIANE leva a computação sem barreiras ao barato netbook EeePC.

Botões gráficos e símbolos não textuais simplesmente não podem ser exibidos como uma “letra”, portanto criam barreiras para usuários deficientes visuais. Os famosos “captchas”, imagens com texto difícil de reconhecer para fins de validação, são um exemplo de criação involuntária de barreiras artificiais. Embora o Elinks não tenha grande chance de contornar essas barreiras, ele oferece certas ferramentas para acesso a elementos “invisíveis” de formulários, tais como um formulário de envio sem botão de “enviar”.

A figura 5 mostra uma comparação entre o Konqueror e o Elinks, ambos usando a versão WAP menos carregada do eBay.

Imagens e elementos gráficos numa página web ainda podem ser “vistos” num ambiente somente-texto caso haja uma descrição textual por meio de metainformações (textarea, botão enviar etc.) ou títulos e rótulos, para os quais o parâmetro alt no interior das tafs <img> é usado. Se não houver nenhuma descrição, as imagens ficam “invisíveis”, a menos que algum tipo de software de reconhecimento de escrita (ou OCR, como costumam ser chamados) descubra textos desenhados na figura.

O Elinks pode invocar um visualizador de imagens pelo framebuffer como o fbi para exibir imagens no console de texto. Da mesma forma, vídeos podem ser reproduzidos no framebuffer com o MPlayer, então o suporte completo para multimídia não depende totalmente do Xorg.

Reconhecimento de texto

Além disso, pode-se usar softwares de OCR para converter textos escritos em algo legível digitalmente. Durante certo tempo, o GOCR foi o único software livre capaz de converter imagens escaneadas para texto.

Agora, o Google iniciou um novo projeto de código aberto chamado OCRopus, que consiste em uma análise de layout em áreas ou colunas consecutivas, assim como um mecanismo OCR baseado no Tesseract que faz reconhecimento e ajustes no texto baseados em probabilidade. A versão de desenvolvimento do OCRopus já produz resultados muito bons na maioria dos casos, então é possível usar a combinação do OCRopus com a ferramenta de escâner Sane para escanear e ler cartas e livros.

Obtendo o ADRIANE

O sistema ADRIANE está disponível no Live CD ou DVD do Knoppix desde a versão 5.3 por meio da opção de inicialização adriane. Também é possível remasterizar o CD ou DVD para usar o ADRIANE como opção padrão alterando-se o arquivo boot/isolinux/isolinux.cfg.

Com o SBL 3.2.1, seu autor Marco Skambraks acrescentou um outro daemon de teclado para navegação pela tela, então o patch do kernel para o keyboard sniffer deixa de ser necessário; o módulo uinput já é suficiente. Portanto, o ADRIANE agora também já deve ser instalável na forma de acessório do Debian, simplesmente instalando os pacotes conforme descrito na página do ADRIANE.

Depois de corrigir a configuração do Xorg pré-instalada no Asus EeePC, que não veio configurado com o composite ativado, experimentamos (figura 6) e criamos um cartão flash SD inicializável com ADRIANE, Orca e Compiz Fusion.

Juntamente com um teclado USB marcado e (para usuários com baixa visão) uma tela TFT suficientemente grande, incluir o ADRIANE num pen drive ou cartão de memória inicializáveis consiste em uma forma muito barata e acessível para se criar um ambiente de trabalho portátil.

Conclusão

Apesar de a comunidade Linux oferecer diversos ótimos auxílios e ferramentas para suporte a usuários com deficiências, simplesmente fazer todos esses programas funcionarem em harmonia geralmente exige muito trabalho, a menos que venham pré-instalados e pré-configurados. O ADRIANE une todas as ferramentas necessárias num único desktop auditivo fácil de usar.

Tabela 1: Navegação com a tecla Caps Lock

Caps Lock + para cima Lê a linha anterior
Caps Lock + para baixo Lê a próxima linha
Caps Lock + page up Lê desde o início da página
Caps Lock + page down Lê até o fim da página
Caps Lock + f/s Fala mais rápido (f) ou devagar (s)
Caps Lock + l/p Altera o idioma

***

Artigo publicado originalmente na Linux Magazine 51: http://www.linuxnewmedia.com.br/lm/article_online/desktop_auditivo