Pular para o conteúdo
fluxr
Acessibilidade06 — WCAG 2.1 AABrandbook

Acessibilidade

Erros comuns que violam a identidade Fluxr. Qualquer componente que viole estas regras deve ser corrigido antes do deploy.

Contraste

contraste01

Razões calculadas no build. Se um par documentado cair abaixo de AA, o build quebra.

ParPapelMínimoUso
Aatexto18.92:14.5:1Texto principal sobre o fundo do site
Aatexto7.72:14.5:1Subtítulos e descrições
Aatexto15.33:14.5:1Lime como texto de destaque no tema escuro
Aatexto14.26:14.5:1Texto dentro do botão lime
Aatexto8.35:14.5:1Texto sobre o preenchimento lime do tema claro
Aatexto4.58:14.5:1Lime como LETRA sobre branco
Aaui3.06:13:1Borda, ícone e anel de foco sobre branco

Foco

foco02

Anel lime obrigatório em todo elemento acionável. Foco invisível é falha, não estilo.

Visual
Começar Agora
outline: none
Ver Demo

Movimento

motion03

Com prefers-reduced-motion a interface entrega o estado FINAL, não uma versão mais lenta.

@media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } }

Áreas de toque

alvos04

Mínimo 44×44px em qualquer controle tocável. No celular o dedo não acerta 32px.

32px44px56px

Semântica

semantica05

Um h1 por página, hierarquia sem saltos, landmarks reais, alt em toda imagem com conteúdo.

cursor:default em clicável
Todo elemento interativo deve ter cursor:pointer. Sem exceção.
Focus states invisíveis
Obrigatório para a11y. Usar box-shadow com rgba(var(--brand-primary-rgb),0.3).
Contraste insuficiente
Mínimo 4.5:1 WCAG AA. Testar com ferramentas de contraste.
Scroll horizontal mobile
Toda tela deve ser testada em 375px. overflow-x:hidden no body.
Conteúdo sob nav fixa
Verificar padding-top suficiente quando navbar é sticky/fixed.

Checklist de Entrega

06
Visual
Sem emojis como ícones (usar SVG)
Ícones de set consistente (Lucide/Heroicons)
cursor-pointer em todos os clicáveis
Hover states com transições 150–300ms
Contraste mínimo 4.5:1
Lime #C3F400 como primária; sem accent roxo
Tema claro: lime de preenchimento é #8DBE22, nunca #C3F400
Background correto (#0a0a0a / #0B0F19)
Técnico / A11y
Focus states visíveis (teclado)
prefers-reduced-motion respeitado
Responsivo: 375px, 768px, 1024px, 1440px
Sem scroll horizontal no mobile
Sem conteúdo sob navbar fixa
Console.log removido (produção)
Rotas em inglês, conteúdo via i18n