Acessibilidade em chats de IA: streaming não pode virar uma fila de interrupções
Um chat útil precisa de anúncios previsíveis, foco estável e navegação por teclado. A resposta gerada também exige estrutura acessível.
Eric Bailey publicou um guia de acessibilidade para chats imersivos com LLM, incluindo aplicações web empacotadas com Electron ou Tauri.[15] Entre as recomendações estão uma região de anúncios dedicada, comunicação do estado de processamento e navegação previsível entre conversa e prompt.[15] Para quem desenvolve essas interfaces, a resposta correta do modelo é apenas parte da entrega: o usuário precisa conseguir perceber, alcançar e explorar o conteúdo.
O que muda para quem desenvolve
O autor recomenda uma região de anúncios compartilhada ao final do DOM, em vez de adicionar aria-live a cada resposta, e anunciar o conteúdo ao término do streaming.[15] A ideia é evitar uma leitura entrecortada por fragmentos sucessivos.[15] Isso sugere separar a representação visual progressiva da comunicação destinada a tecnologias assistivas.
Para a conversa, o guia propõe mensagens como article, títulos acessíveis visualmente ocultos e foco programático com tabindex="-1".[15] Também recomenda links de salto e organização por grandes áreas, sem transformar cada mensagem em um landmark.[15] A estrutura precisa oferecer atalhos úteis sem produzir outra camada de ruído.
Na lista de sessões, um widget composto pode concentrar a entrada em uma parada de Tab e usar setas, Home, End e busca por caracteres para navegação interna.[15] O ganho pretendido é evitar que um histórico longo se torne uma sequência interminável de tabulações.[15]
Como aplicar
Monte um protótipo com envio de prompt, resposta em streaming, lista de conversas e um bloco de código. Faça o percurso completo apenas com teclado: entrar na conversa, enviar, acompanhar processamento, alcançar a resposta e voltar ao campo de entrada.
Depois repita com leitor de tela, ampliação de texto e redução de movimento. Registre onde o foco está, o que é anunciado e quanto conteúdo precisa ser atravessado. Não marque a tarefa como concluída apenas porque todos os controles possuem rótulos.
O guia observa que anúncios lineares perdem a semântica de tabelas e código e sugere resumos úteis, preservando o conteúdo completo com HTML semântico no histórico.[15] Para o experimento, compare o anúncio integral de um bloco longo com uma descrição breve que permita encontrá-lo depois. Valide a preferência com pessoas que usam essas tecnologias.
Cuidados e limites
Na web, o autor sugere Control+F6 e Control+Shift+F6 para alternar grandes áreas, preservando F6 do navegador; os atalhos devem ser descobríveis e ajustáveis quando oferecidos.[15] Não copie atalhos de aplicativos nativos sem considerar o ambiente.
O texto também pede cautela com suporte real a ariaNotify() e com o custo de manter transformações de conteúdo, localização e testes.[15] Minha recomendação é priorizar uma interação simples e previsível. Acessibilidade não deve depender de o usuário aprender a contornar uma interface visualmente sofisticada.
Fonte
[15] Fonte: Smashing Magazine