Skip to content

acessibilidade

github-actions[bot] edited this page Nov 13, 2026 · 1 revision

♿ Acessibilidade

O Codis oferece um sistema de acessibilidade modular e totalmente opcional. Nenhuma funcionalidade afeta a experiência padrão enquanto não for explicitamente ativada.


Como Ativar

Acesse pelo menu Ferramentas → Remoto & Colaboração → Acessibilidade…, pelo atalho Ctrl+Shift+U, pelo ícone ♿ na barra de atividades (visível por padrão, já que a11y_screen_reader é true por padrão em config.json), ou via linha de comando:

python run.py --a11y
python run.py --accessibility

Modos Disponíveis

Alto Contraste

Aplica uma paleta de cores com fundo preto, texto branco e bordas nítidas, seguindo as diretrizes WCAG AA. Ideal para ambientes com luz intensa ou baixa acuidade visual.

A ativação é persistida entre sessões no arquivo de configuração. Para desativar, basta desmarcar a opção no painel ou usar o mesmo atalho.

Modos para Daltonismo

Quatro paletas de cores otimizadas para diferentes tipos de daltonismo:

Modo Deficiência Estratégia
Protanopia Dificuldade com vermelho Azul no lugar de vermelho, laranja para avisos
Deuteranopia Dificuldade com verde Laranja-vermelho, amarelo-ouro, azul
Tritanopia Dificuldade com azul/amarelo Vermelho puro, teal, laranja
Acromasia Sem percepção de cor Escala de cinza por luminosidade

As paletas substituem as cores semânticas (erro, aviso, sucesso, info) por alternativas perceptivelmente distintas dentro da limitação de cada condição.


Leitor de Tela / TTS

O Codis detecta automaticamente o motor de síntese de voz disponível no sistema:

Sistema Motor usado
Linux spd-say (Speech Dispatcher), espeak
macOS say (nativo)
Windows SAPI via PowerShell

Quando um motor é detectado, os widgets anotados anunciam automaticamente seu rótulo e atalho ao receber foco ou ao passar o mouse sobre eles (<Enter>). Use o botão Testar leitor de tela no painel para verificar o funcionamento.

Para anotar widgets customizados em plugins:

# No activate(api) do plugin
api.annotate_widget(meu_botao,
                    role="button",
                    label="Executar script",
                    keyshortcut="F5")

Navegação por Teclado

Toda a interface pode ser operada sem mouse:

Tecla Ação
Tab Próximo widget no grupo ativo
Shift+Tab Widget anterior
Enter / Space Ativar elemento focado
Escape Fechar modal / sair do grupo
Setas Navegação contextual (listas, árvores)

O gerenciador de navegação é inicializado automaticamente. Plugins podem registrar grupos de navegação customizados:

api.register_nav_group("meu_painel", [btn1, btn2, entry1])

Configuração Persistente

As preferências são salvas automaticamente em ~/.config/codis/config.json:

{
  "a11y_high_contrast": false,
  "a11y_colorblind_mode": "deuteranopia"
}

Suporte a Voz (experimental)

Navegação por comandos de voz requer speech_recognition e um microfone:

pip install SpeechRecognition

Quando disponível, o botão 🎙 Ativar voz aparece no painel de acessibilidade. Comandos básicos: "abrir arquivo", "fechar", "desfazer", "salvar".


Contribuindo com Acessibilidade

Se você usa tecnologia assistiva e encontrou problemas de acessibilidade no Codis, abra uma issue com a tag a11y. Descreva:

  • O modo de acessibilidade utilizado
  • O sistema operacional e motor TTS
  • O comportamento esperado vs. o observado
  • Se possível, um log do painel de Output

Contribuições de paletas para daltonismo adicional (ex: tritanopia melhorada para temas claros) são muito bem-vindas via Pull Request.


Navegação e Motor

Navegação Aprimorada por Teclado

Com a11y_keyboard_nav: true (padrão), o Codis registra grupos de widgets para navegação por Tab / Shift+Tab e setas direcionais em painéis, listas e árvores.

Fonte de UI Grande

Com a11y_large_ui_font: true, força a fonte de interface para no mínimo 13pt, melhorando legibilidade em monitores de baixa resolução ou com zoom reduzido.

Reduzir Movimento

Com a11y_reduce_motion: true, desabilita animações, transições e efeitos visuais (piscar, fade, deslizamentos). Útil para usuários com sensibilidade a movimento ou epilepsia fotossensível.


Configurações

Acesse em Configurações → Acessibilidade (ou Ctrl+, → categoria Acessibilidade):

Chave Padrão Descrição
a11y_high_contrast False Alto contraste (WCAG AA)
a11y_colorblind_mode "" Modo daltonismo: protanopia / deuteranopia / tritanopia / achromatopsia
a11y_screen_reader True Habilita anúncios via TTS/leitor de tela
a11y_keyboard_nav True Navegação aprimorada por Tab e setas
a11y_large_ui_font False Fonte de UI mínima de 13pt
a11y_reduce_motion False Desativa animações e efeitos visuais

Clone this wiki locally