Checklist Completo de UI/UX para Desenvolvimento Web
Material didático independente com explicações, boas práticas, exemplos visuais e demos funcionais — alinhado aos tokens do Design System (turquesa, tipografia, elevação e acessibilidade).
Tipografia
A tipografia organiza a hierarquia, melhora a legibilidade e reduz a carga cognitiva. Use escala consistente e tamanho mínimo de 16px no corpo.
Heading 1 · 48px / ExtraBold
Heading 2 · 32px / Bold
Heading 3 · 24px / SemiBold
Heading 4 · 18px / SemiBold
Corpo legível a 16px com line-height 1.8. O espaçamento entre linhas facilita a leitura contínua e evita fadiga visual em textos longos.
<p style="font-size:var(--font-size-sm);line-height:var(--line-height-lg)">
Texto mínimo de 16px com boa respiração.
</p>
--font-size-*, --line-height-*) em vez de valores soltos — isso garante consistência no Design System.Cores
Paleta consistente comunica status sem ambiguidade. Nunca dependa apenas da cor: combine ícone, texto e contraste adequado (WCAG AA).
Espaçamento
Grids de 4px e 8px criam ritmo visual. Use tokens de spacing para margens, paddings e separação entre seções.
Padding vs Margem
--spacing-xxl (48px) e agrupe itens relacionados com --spacing-sm/md.Bordas
Bordas discretas delimitam regiões sem competir com o conteúdo. Radius comunica personalidade do produto.
Sombras
Elevação comunica profundidade e prioridade. Use poucas camadas bem definidas.
listas, inputs
cards, dropdowns
modais, menus
Estados · Botão
Todo botão precisa comunicar default, hover, focus, active, disabled e estados de processo (loading/success/error).
<button class="btn btn-primary" type="button">Salvar</button>
<button class="btn btn-primary" disabled>Disabled</button>
Estados · Input
Inputs devem deixar claro o estado atual: normal, hover, focus, erro, sucesso e disabled.
Feedback Visual
Feedback imediato reduz ansiedade e confirma ações. Combine skeleton, spinner, progresso, alerts e overlays.
Skeleton Loading
Spinner & Progresso
Alertas
Focus State
O foco indica onde o teclado está. Nunca remova o outline sem oferecer um substituto visível e com contraste.
outline: none sem alternativa quebra acessibilidade por teclado e falha em auditorias WCAG.Hover
Hover antecipa interatividade. Em touch devices, não dependa apenas do hover — ofereça estados focus/active.
Responsividade
Projete mobile-first. Conteúdo e ações principais devem funcionar em todas as larguras sem scroll horizontal.
Microinterações
Animações curtas (150–300ms) dão vida à interface sem distrair. Prefira easing suave e propósito claro.
Accordion + rotação de ícone
Modais
Modais pedem atenção total. Implemente fechar por X, clique fora, ESC, bloqueio de scroll e retorno de foco.
aria-labelledby; botão de ação destrutiva separado.Formulários
Formulários claros reduzem erros. Labels visíveis, validação em tempo real, máscaras e navegação por TAB.
Notificações
Escolha o padrão certo: Toast (efêmero), Snackbar (ação), Alert (inline) ou Dialog (decisão).
Tabelas
Tabelas modernas precisam de busca, ordenação, filtros, paginação, cabeçalho fixo e ações agrupadas — com fallback responsivo.
| Nome | Papel | Status | Ações |
|---|
Pesquisa
Busca instantânea com debounce, sugestões, histórico e estado vazio melhora descoberta sem sobrecarregar a API.
Upload
Drag and drop, preview, validação de tipo/tamanho, progresso e remoção fazem o upload parecer confiável.
Arraste arquivos aqui ou clique
PNG, JPG ou PDF · máx. 2MB
Estados Vazios
Empty states orientam o próximo passo: explicar, ilustrar e oferecer CTA.
Sem resultados
Nenhum item corresponde à busca. Tente outros termos.
Nenhum registro
Ainda não há dados nesta lista.
Primeiros passos
Configure seu perfil para começar a usar o painel.
Ilustração + CTA
Use ilustrações simples alinhadas à marca, não stock genérico.
Estados de Carregamento
Skeleton para layout conhecido, spinner para ações curtas, barra para progresso determinístico, lazy e infinite scroll para listas.
Lazy Loading de imagem
Infinite Scroll (simulado)
Acessibilidade
Acessibilidade não é extra: é requisito. Teclado, ARIA, labels, contraste e área de toque mínima.
aria-* em componentes custom · labels associados · contraste AA · leitores de tela (NVDA/VoiceOver).<button aria-expanded="false" aria-controls="painel">
Detalhes
</button>
<div id="painel" role="region" hidden>…</div>
Performance Percebida
Usuários julgam velocidade pela percepção: skeleton, lazy load, imagens otimizadas, prefetch, cache e transições 150–300ms.
Prefetch / streaming visual
Indica atividade enquanto o conteúdo chega.
Cache simulado
Clique para simular fetch + cache em memória.
loading="lazy", formatos modernos (WebP/AVIF) e width/height para evitar CLS.Consistência Visual
Padronize botões, inputs, cards, modais, ícones, fontes, espaçamento, sombras, bordas e animações.
Padrões Modernos
Design System, tokens, dark/light mode, feedback imediato e interface minimalista reduzem carga cognitiva.
Design Tokens (do CSS externo)
--primary-color--spacing-md--shadow-md--border-radius-md