Skip to content

Feature/criar visual acessivel - #28

Merged
joaokrv merged 2 commits into
homologacaofrom
feature/criar-visual-acessivel
Oct 13, 2026
Merged

joaokrv merged 2 commits into
homologacaofrom
feature/criar-visual-acessivel

Conversation

@devg-lustosa

@devg-lustosa devg-lustosa commented Oct 8, 2026 •

Copy link
Copy Markdown
Collaborator

📝 Descrição

Esta PR implementa as regras visuais de acessibilidade definidas pelo Design System para atender pessoas com baixa visão, focando no escalonamento de fontes, contraste, navegação por teclado e novos componentes base.

🛠️ O que foi feito

  • Tipografia Escalonável (rem): Substituímos os tamanhos estáticos de fonte (px) em todo o sistema (tokens.css, base.css, ui.css) por novas variáveis baseadas em rem (--fs-*). Isso garante que a plataforma seja utilizável até com 200% de zoom no navegador sem perda de legibilidade ou rolagem horizontal (WCAG 1.4.4 - AA).
  • Novo Componente Dialogo: Criamos o componente acessível Dialogo.tsx construído em cima da primitiva Dialog do Radix UI, garantindo o aprisionamento de foco (focus trap), fechamento com tecla ESC e a inatividade do conteúdo de fundo (overlay).
  • Variante de Ação Destrutiva: Inclusão do token CSS .tf-btn--perigo para facilitar a criação de ações irreversíveis.
  • Documentação de Design: O arquivo docs/design-system/README.md foi atualizado para descrever a regra estrita de uso de rem em tipografias e o uso do novo componente de Diálogo.

✅ Critérios de Aceite Atendidos

  • O contraste da paleta segue a regra de 4,5:1 (texto) e 3:1 (ícones/bordas).
  • Fontes usam a unidade rem, suportando 200% de zoom sem quebrar o layout.
  • Foco permanece plenamente visível na navegação por teclado (:focus-visible).
  • Os tokens base continuam centralizados em um único arquivo de estilos (tokens.css).
  • Os componentes base utilizam os padrões semânticos e propriedades do Radix UI.
  • Mensagens de sistema e erros não dependem apenas de cores; usam também ícones e textos.
  • Testes de verificação automatizada vitest-axe inseridos e aprovados (100% dos testes concluídos).

…dix)

- tokens.css: adiciona escala --fs-* em rem (xs/sm/base/lg/xl/2xl)
- base.css: fonte base do body usa var(--fs-base) em vez de px fixo
- ui.css: substitui todos os tamanhos de fonte px por var(--fs-*);
  adiciona estilos .tf-dialogo-* e variante .tf-btn--perigo
- Dialogo.tsx: novo componente acessivel sobre Radix UI Dialog:
  captura foco, ESC fecha, aria-labelledby/describedby, overlay,
  animacao respeitando prefers-reduced-motion
- ui.test.tsx: 4 novos testes do Dialogo (abrir/fechar, titulo
  acessivel, ESC, axe sem violacoes com e sem o dialogo aberto)

Criterios da historia atendidos:
  - Fontes em rem (zoom 200%: sem rolagem horizontal, sem conteudo sumindo)
  - Foco visivel em todo elemento clicavel via :focus-visible (base.css)
  - Variaveis CSS em arquivo unico (tokens.css)
  - Componente Dialogo sobre Radix UI (Dialog)
  - Informacao nunca so por cor (icone + texto nos alertas e erros)
@eksdat
eksdat requested review from eksdat and joaokrv October 8, 2026 12:38
@joaokrv
joaokrv changed the base branch from main to homologacao October 13, 2026 17:01
@joaokrv
joaokrv merged commit 616d8ae into homologacao Oct 13, 2026
2 checks passed
joaokrv added a commit that referenced this pull request Oct 14, 2026
Merge pull request #28 from eksdat/feature/criar-visual-acessivel

Feature/criar visual acessivel
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants