lume.books & ideiasPortfólio
HTML & CSS — Da primeira página à web profissional
Capítulo 35/48 · Estados de foco, erro, vazio e carregamento
HTML & CSS — Da primeira página à web profissionalParte VI — Componentes e sistemas de interfaceCapítulo 35 · Edição de estudo

Use os exemplos como laboratório: leia o código, preveja o resultado e teste no ambiente de prática. Para guardar uma ideia, selecione qualquer trecho.

CAPÍTULO 35 DE 48

Estados de foco, erro, vazio e carregamento

Neste capítulo, você transforma estado como conteúdo em uma decisão de implementação que pode ser observada e revisada. Você sairá com uma implementação pequena, evidências de teste e critérios que poderão ser reutilizados nos projetos seguintes.

Parte VI — Componentes e sistemas de interface6 questões comentadasConceito · laboratório · projeto

Escrita, marcações e comentários ficam só neste navegador, separados por capítulo e sem sincronização com a conta. Evite informações sensíveis; limpar os dados do navegador pode remover seus registros.

02

Prepare-se — O que você vai construir

  • Explicar estado como conteúdo sem depender de uma receita decorada.
  • Relacionar foco perceptível com a estrutura e o comportamento esperado.
  • Aplicar feedback sem salto em um caso real e em um caso extremo.

Se precisar de apoio, consulte a capítulo anterior e volte a estas tarefas. Não há obrigação de seguir um prazo.

03

Entenda — Modelo mental e estrutura

1. Construa o modelo mental antes da regra

Interfaces não existem apenas no estado preenchido e bem-sucedido. Vazio orienta o próximo passo, erro permite recuperação, loading preserva contexto e foco mostra onde a próxima ação do teclado ocorrerá. O navegador não recebe uma imagem pronta: ele interpreta o documento, cria estruturas internas e combina regras para chegar ao resultado. Neste capítulo, use estado como conteúdo como ponto de partida. Relacione essa ideia com foco perceptível e feedback sem salto; as três decisões precisam colaborar. Uma declaração isolada pode parecer correta e ainda produzir uma experiência frágil quando o conteúdo muda, o texto aumenta ou outra pessoa navega por teclado.

Descreva primeiro o propósito de estado como conteúdo e a relação que ele mantém com foco perceptível. Pergunte primeiro qual informação ou relação precisa existir e só então escolha o elemento, seletor ou propriedade. Esse encadeamento evita decorar receitas sem compreender as consequências. Nomeie o comportamento esperado em uma frase curta, implemente a menor versão capaz de demonstrá-lo e mantenha o código-fonte legível. Se uma solução depende de números mágicos ou de uma ordem acidental, registre a dependência e procure uma alternativa guiada pelo conteúdo.

2. Leia o exemplo em camadas

.button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}
.results:empty::after { content: "Nenhum resultado ainda."; }

Leia o exemplo de fora para dentro. Identifique a estrutura, depois a regra que controla apresentação e, por fim, o estado que precisa continuar utilizável. O trecho torna estado como conteúdo explícito e deixa feedback sem salto disponível para evolução sem desmontar a estrutura. Digite o trecho em vez de apenas copiá-lo. Em seguida, troque nomes, quantidade de conteúdo e largura disponível. O objetivo não é preservar a captura de tela do exemplo, mas descobrir quais escolhas continuam corretas quando o cenário deixa de ser ideal.

Observe também o que o código não faz. HTML descreve significado e relações; CSS participa da apresentação e do layout. Quando uma responsabilidade é colocada na camada errada, manutenção e acessibilidade se tornam mais difíceis. Use comentários apenas para explicar uma decisão que o próprio código não consegue tornar óbvia. Comentários que repetem a propriedade ou o nome do elemento acrescentam ruído.

3. Transforme observação em critério

Uma solução forte torna estado como conteúdo reconhecível no código e verifica foco perceptível com conteúdo real. Um critério verificável descreve entrada, ação e resultado. Em vez de “ficou bonito”, prefira algo como “o título mantém hierarquia quando o texto dobra” ou “o controle continua visível e operável com Tab”. Verifique o DOM, os estilos calculados e o tamanho real da área disponível. Redimensionar a janela é útil, mas não substitui zoom, teclado, leitor de tela, validação de markup e teste com conteúdo extremo.

A armadilha principal desta etapa é: Remover foco, bloquear toda a região durante carregamento ou mostrar um vazio sem ação de recuperação.. Corrija a causa antes de empilhar exceções. Desative temporariamente regras, confira qual declaração venceu e reduza o caso até entender o mecanismo. Ao terminar, você deve conseguir explicar por que a solução funciona, quais limites assumiu e como o componente se comporta quando um recurso mais novo não está disponível.

04

Analise — Código em contexto

Uma revisão de código começa pela intenção. Para “Estados de foco, erro, vazio e carregamento”, o requisito é: a solução deve comunicar estado como conteúdo, preservar foco perceptível e continuar estável quando houver feedback sem salto. Analise a pequena variação abaixo e preveja seu resultado antes de abrir o navegador.

.button { outline: none; }
.loading { opacity: 0.35; pointer-events: none; }

A variação isola foco perceptível. Observe o que muda visualmente e o que permanece na estrutura acessível. Faça a leitura em quatro passagens. Na primeira, localize elementos e seletores. Na segunda, acompanhe de onde cada valor vem. Na terceira, imagine conteúdo curto, longo e ausente. Na quarta, percorra o resultado sem mouse. Se a ordem visual divergir da ordem do documento, se um estado existir apenas por cor ou se um campo perder seu rótulo, trate isso como um problema de implementação, não como acabamento opcional.

Compare a variação com o exemplo principal. Escolha uma única mudança e formule uma hipótese: “se eu alterar isto, espero aquilo, porque…”. Execute, observe e registre. Esse ciclo curto ensina mais do que mudar várias propriedades ao mesmo tempo. A resposta importante não é apenas qual trecho funciona, mas qual representa melhor o conteúdo, reduz acoplamento e permanece compreensível para a próxima pessoa que mantiver a página.

05

Construa — Teste cada decisão no ambiente

Crie uma pasta para o capítulo e preserve uma versão mínima que possa ser aberta diretamente no navegador. Reproduza o exemplo e crie uma segunda versão que aplique feedback sem salto sem perder estado como conteúdo. Primeiro implemente sem refinamentos visuais. Depois use as ferramentas de desenvolvimento para confirmar estrutura, regras aplicadas e dimensões. Por último, force pelo menos três situações adversas: texto duas vezes maior, largura de 320 CSS pixels e navegação completa por teclado.

Não corrija todos os sintomas de uma vez. Para cada falha, anote a hipótese, a evidência observada e a menor mudança feita. Valide novamente após a correção. Quando houver mais de uma solução possível, escolha pela clareza do contrato, pela adaptação ao conteúdo e pela experiência de quem usa teclado, zoom ou tecnologia assistiva. Guarde uma captura apenas como evidência complementar; o código e os critérios de aceite são a fonte principal da entrega.

06

Pratique — Seis decisões de implementação

Resolva primeiro pelo raciocínio. Consultar o capítulo e testar hipóteses no navegador faz parte do processo; depois, releia as justificativas.

E1 — Aplicar em contexto

Qual decisão inicia corretamente o trabalho de “Estados de foco, erro, vazio e carregamento”?

E2 — Aplicar em contexto

Qual verificação oferece a melhor evidência para o requisito deste capítulo?

E3 — Aplicar em contexto

Qual prática deve ser evitada nesta implementação?

E4 — Aplicar em contexto

Qual escolha protege melhor a experiência de acessibilidade?

E5 — Aplicar em contexto

Ao investigar um resultado inesperado, qual sequência é mais confiável?

E6 — Aplicar em contexto

Quando a entrega deste capítulo pode ser considerada pronta para revisão?

07

Confira — Gabarito comentado

Abrir gabarito e explicações completas

E1 — B. A implementação começa pelo contrato do conteúdo. Descreva primeiro o propósito de estado como conteúdo e a relação que ele mantém com foco perceptível. Isso permite avaliar o resultado por comportamento, não só por aparência.

E2 — A. A evidência precisa exercitar o mecanismo estudado. Inspecionar estado como conteúdo, variar foco perceptível e confirmar o comportamento com feedback sem salto. Uma única captura em condição ideal não demonstra robustez.

E3 — C. A armadilha é Remover foco, bloquear toda a região durante carregamento ou mostrar um vazio sem ação de recuperação. Ela mascara o modelo mental e costuma criar regressões quando conteúdo ou viewport mudam.

E4 — B. A alternativa correta integra acessibilidade ao contrato do componente: Preservar ordem, nome acessível e foco visível enquanto estado como conteúdo é apresentado. Aparência não pode apagar informação nem operação.

E5 — A. A sequência baseada em evidência reduz o caso e relaciona causa e efeito. Alterações amplas escondem o mecanismo que realmente falhou.

E6 — C. Pronto para revisão significa atender critérios observáveis. A estrutura comunica estado como conteúdo, o teste de foco perceptível foi registrado e feedback sem salto não impede a tarefa principal. Isso ainda permite que outra pessoa encontre melhorias.

08

Projete — Implemente, compare e refine

Entrega incremental: uma matriz visual e textual dos estados de busca, formulário e cards, com foco visível sobre fundos claros e escuros. Comece descrevendo, em até cinco linhas, quem usará a interface e qual tarefa precisa concluir. Implemente a estrutura e a apresentação em arquivos separados, mantendo nomes coerentes com a função do componente. Inclua um caso de conteúdo real, um caso extremo e o estado de foco. Ao final, escreva uma nota técnica explicando onde aplicou estado como conteúdo, como conferiu foco perceptível e qual limite encontrou em feedback sem salto.

Consultar um modelo possível
.button:focus-visible {
  outline: 3px solid #ffbf47;
  outline-offset: 3px;
}
.results:empty::after { content: "Nenhum resultado ainda."; }

O modelo ilustra uma possibilidade. Use os critérios para revisar suas próprias ideias, não para copiar as mesmas frases.

Critérios para revisar

  • A estrutura comunica estado como conteúdo, o teste de foco perceptível foi registrado e feedback sem salto não impede a tarefa principal.
  • Preservar ordem, nome acessível e foco visível enquanto estado como conteúdo é apresentado.
  • O código evidencia estado como conteúdo e foco perceptível sem depender de números acidentais.
  • A nota técnica registra o teste de texto duas vezes maior, largura de 320 CSS pixels e navegação completa por teclado.

Até 12.000 caracteres em cada versão. Produção livre, sem correção automática.

09

Retome — Organize sua revisão

  • Explique com suas palavras a relação entre estado como conteúdo e foco perceptível.
  • Reabra o laboratório sem consultar o texto e reconstrua a decisão ligada a feedback sem salto.
  • Aplique o teste “Inspecionar estado como conteúdo, variar foco perceptível e confirmar o comportamento com feedback sem salto.” ao projeto acumulado e registre uma melhoria.

Feche a explicação, tente lembrar um exemplo e depois confira. Retome uma dificuldade no próximo encontro e alguns dias depois; ajuste o intervalo ao que ainda precisa praticar.

Use exemplos concretos na autoavaliação: “consigo explicar com consulta” ou “quero praticar novamente”. Marcar como lida não representa uma certificação.

SEU PROGRESSO NO CAPÍTULO 35

Um capítulo, no seu ritmo.

— exercícios respondidos

Carregando progresso…

Você decide quando marcar este capítulo como lido. Isso não altera seus exercícios nem suas marcações.

Acompanhar todos os capítulos →

Progresso salvo só neste navegador, sem sincronização com sua conta.

Guardar uma ideia

Cor e significado

Você pode personalizar os significados no seu caderno.

Salvo só neste navegador, sem sincronização com a conta. Evite informações sensíveis em computadores compartilhados.

Do seu jeito de ler

Encontre o ritmo mais confortável para seus olhos.

Ambiente
Tipografia
Tamanho do texto
Entrelinhas
Largura da leitura

Preferências salvas neste navegador. O progresso indica a posição na página, não o domínio do conteúdo.

Seções do Capítulo 35