Telas de esqueleto: quando usá-las em vez de spinners
O que são telas de esqueleto, quando elas vencem os spinners, como projetá-las para que correspondam ao conteúdo real e como animá-las sem prejudicar o desempenho ou a acessibilidade.
Ponto principal
Uma tela de esqueleto é um espaço reservado semelhante a um wireframe que mostra o layout do conteúdo enquanto ele é carregado. Use-o para páginas inteiras e listas com formato previsível; use um botão giratório para pequenas áreas ou conteúdo desconhecido e progresso real para tarefas longas. Faça com que o esqueleto corresponda ao layout real para que nada salte quando o conteúdo chegar.
O que é uma tela esqueleto
Nielsen Norman Group define uma tela de esqueleto como um espaço reservado para uma página de carregamento que imita o layout com um visual semelhante a um wireframe. É usado para carregamento de página inteira e reduz o tempo de carregamento percebido, pois as pessoas veem a estrutura do que está por vir em vez de uma área vazia.
Quando usar qual
Combine o indicador com o conteúdo e espere:
- Esqueleto: carrega páginas ou listas onde o layout é conhecido, como feeds, cartões e perfis.
- Spinner: pequenas áreas, botões ou conteúdo cuja forma você não pode prever.
- Barra de progresso: tarefas longas que você pode medir, como uploads e exportações.
- Nada: respostas muito rápidas, onde um indicador apenas piscava.
Projetando um bom esqueleto
Use as dimensões reais do componente para que a página não mude quando o conteúdo chegar, o que também protege sua pontuação Cumulative Layout Shift. Mantenha as formas simples (blocos para imagens, barras para texto), use tons de cinza de baixo contraste e substitua cada espaço reservado por conteúdo real assim que estiver pronto, em vez de esperar por tudo.
Animando esqueletos
NN/g observa que alguns esqueletos incluem uma animação pulsante ou cintilante para sinalizar que o sistema ainda está funcionando. Mantenha-o lento e sutil, anime a opacidade ou uma transformação em vez das propriedades de layout e interrompa-o quando o movimento reduzido estiver ativado. Dê à região de carregamento um rótulo acessível, como "Carregando resultados".
Princípios-chave para lembrar
- Esqueletos mostram o layout do conteúdo futuro e reduzem a espera percebida
- Use-os para carregamentos previsíveis de páginas e listas; spinners para áreas pequenas ou desconhecidas
- Combine dimensões reais para evitar mudanças de layout
- Mantenha o brilho sutil e interrompa-o para reduzir o movimento
- Regiões de carregamento de rótulos para leitores de tela
Perguntas frequentes
Fontes
- Skeleton Screens 101 — Nielsen Norman Group
- Progress Indicators Make a Slow System Less Insufferable — Nielsen Norman Group
- Cumulative Layout Shift (CLS) — web.dev