Frontend Web - Acessibilidade¶
Este documento descreve os recursos de acessibilidade do frontend web.
Base atual¶
- Componentes base com Radix UI (
src/components/ui/*) - Painel de acessibilidade global:
src/components/AccessibilityPanel.tsx - Estilos e comportamento globais distribuídos em
src/styles/*e utilitários da aplicação
Princípios adotados¶
- Navegação por teclado em elementos interativos.
- Semântica adequada de HTML e ARIA quando necessário.
- Indicador de foco visível.
- Contraste mínimo para leitura em estados padrão e hover.
Navegação por teclado¶
TabeShift+Tabpara foco sequencialEntereSpacepara ativaçãoEscpara fechar overlays (dialogs/popovers compatíveis)⌘K(macOS) ouCtrl+K(Windows/Linux) para abrir a command palette global
Command palette (acessibilidade)¶
- A palette pode ser aberta por atalho global ou botão no header/sidebar.
- Navegação entre itens por
ArrowUp/ArrowDown. - Execução de item focado com
Enter. - Fechamento com
Escmantendo foco consistente no elemento anterior. - Itens são agrupados por seção (
AçõesePáginas) para melhorar leitura e orientação.
Regras para componentes de feature¶
view.tsxdeve permanecer declarativa e sem lógica de dados.- Componentes em
src/modules/**/componentsdevem preservar semântica (button,label,fieldset,nav,mainetc.). - Inputs devem ter rótulo explícito (
labelvisível ouaria-labelquando aplicável). - Ícones isolados em botões devem possuir texto alternativo acessível.
Checklist de revisão¶
- Todos os controles são alcançáveis por teclado?
- O foco é visível em tema atual?
- Mensagens de erro de formulário têm associação com o campo?
- Estados desabilitados não dependem apenas de cor?
- Componentes dinâmicos mantêm leitura consistente para screen reader?
Relação com Design System¶
Qualquer ajuste de acessibilidade em componentes base deve refletir em:
src/components/ui/*src/modules/design-system/*- documentação em
design-system.md