Pular para o conteúdo
~/.primo-academy.sh
☰ Aulas · Acessibilidade Web: Interfaces para todas as pessoas · 0/20
Recomendado: essencial

Zoom, Reflow e Movimento: Respeitando Preferências

2 min de leitura

fonte

A pessoa pode aumentar o zoom, usar fonte maior ou abrir a página lado a lado com outro aplicativo. O layout precisa se reorganizar sem esconder conteúdo nem transformar cada linha em uma rolagem horizontal.

.container {
  width: min(100% - 2rem, 70rem);
  margin-inline: auto;
}

.grade {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: 1rem;
}

img {
  max-width: 100%;
  height: auto;
}

Reflow deixa o conteúdo se adaptar

Layouts flexíveis ajudam texto e controles a caberem em uma área menor sem perda de informação. No exemplo, os cards passam de várias colunas para uma coluna quando falta espaço; nenhum texto é cortado.

Texto precisa crescer sem perder conteúdo

Evite dimensões que só funcionam com uma quantidade exata de texto:

Alturas rígidas podem cortar conteúdo

/* Cuidado: corta a descrição quando o texto aumenta. */
.card {
  height: 180px;
  overflow: hidden;
}

/* Prefira permitir crescimento. */
.card {
  min-height: 180px;
}

Unidades relativas como rem, % e ch ajudam, mas não garantem acessibilidade sozinhas. O teste real é aumentar texto e zoom e verificar se a tarefa continua possível.

Movimento também é uma preferência

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

Reduzir movimento não significa remover feedback. Uma barra de progresso pode atualizar sem deslizar; um modal pode aparecer sem zoom ou giro. Preserve o estado final e a compreensão da ação.

Evite rolagem presa e conteúdo fixo demais

height: 100vh, painéis internos roláveis e cabeçalhos fixos podem deixar ações fora da tela quando o teclado virtual aparece ou o zoom aumenta. Prefira min-height, fluxo normal e poucas regiões de rolagem.

  • Zoom e reflow precisam preservar conteúdo e funcionalidade.
  • Tamanhos rígidos podem quebrar quando fonte ou zoom aumentam.
  • prefers-reduced-motion respeita a preferência de reduzir animações.
  • Fluxo normal permite que a página cresça conforme conteúdo e fonte.

Matriz prática de teste

SituaçãoO que conferir
Zoom 200%Texto não sobrepõe controles e ações continuam visíveis.
Viewport com 320 CSS pxConteúdo comum reflui sem rolagem em duas direções.
Fonte maior no navegadorCards e botões crescem sem cortar palavras.
Movimento reduzido no sistemaAnimações intensas são removidas ou simplificadas.

Dica: teste com zoom alto e viewport estreita. Você encontra problemas que dificilmente aparecem olhando só o desktop em 100%.

No próximo nó, vamos conhecer ARIA — e por que ela deve entrar depois do HTML nativo, não antes.

// Quiz

Qual sinal mostra problema de reflow ao testar zoom alto?

Escolha uma alternativa

// recursos

// avaliação da trilha

—
ainda sem avaliações