⚡ Curso de HTML • Web-ZoneWare

Imagens no HTML: Tag <img> e Acessibilidade | Web Academy

Lição 12 de 50

Imagens no HTML: Tag <img> e Acessibilidade | Web Academy

Diz o ditado que uma imagem vale mais que mil palavras, mas na web uma imagem mal implementada pode destruir a velocidade de carregamento da sua página e excluir completamente usuários que dependem de tecnologias assistivas. No HTML, a inserção de recursos visuais é controlada pela tag <img>. Dominar seus atributos essenciais de acessibilidade, dimensionamento e carregamento diferido é indispensável para construir sites modernos e velozes.

1. Anatomia Básica da Tag <img>

A tag <img> é um elemento vazio (void element): ela não possui conteúdo de texto interno e, portanto, nunca possui tag de fechamento (não existe </img>).

Para funcionar corretamente, ela exige no mínimo dois atributos fundamentais:

HTML5 1 linha
<img src="paisagem-montanhas.webp" alt="Montanhas cobertas de neve sob o pôr do sol">
  • src (de Source / Origem): O endereço ou caminho do arquivo da imagem (pode ser um caminho relativo local como imagens/foto.webp ou uma URL absoluta externa como https://...).
  • alt (de Alternative Text / Texto Alternativo): A descrição textual que substitui a imagem caso o arquivo quebre ou a conexão do usuário esteja lenta.

2. A Arte e a Ciência do Atributo alt (Acessibilidade & SEO)

O atributo alt é um dos itens mais fiscalizados pelas diretrizes mundiais de acessibilidade digital (WCAG) e pelos robôs de indexação do Google Imagens:

  1. Leitores de Tela para Deficientes Visuais: Quando uma pessoa cega navega pelo seu site com softwares como NVDA ou VoiceOver, o sintetizador de voz lê exatamente o que está escrito no alt.
  2. Indexação no Google: Robôs de busca não “enxergam” fotos da mesma forma que os humanos; eles dependem primordialmente do texto alternativo para entender o contexto da imagem e exibi-la nas buscas.
💡
Como Redigir um alt Perfeito:

  • Ruim: alt="imagem" ou alt="foto123.jpg" (Não diz nada útil).
  • Ruim: alt="Foto de um cachorro latindo" (Evite escrever “foto de” ou “imagem de”, pois os leitores de tela já avisam previamente ao usuário que se trata de uma imagem).
  • Excelente: alt="Cachorro labrador dourado brincando com uma bola vermelha na grama" (Descritivo, objetivo e direto ao ponto).
  • Imagens Decorativas: Se a imagem for puramente estética (como uma linha divisória ou um fundo abstrato), utilize alt="" (texto vazio). Isso instrui os leitores de tela a ignorarem a imagem, evitando poluição sonora para o usuário.

3. Prevenindo Saltos de Layout (CLS) com width e height

Você já começou a ler um artigo em um site e, de repente, a página inteira “pulou” para baixo porque uma imagem demorou para carregar e empurrou o texto?

Esse erro gravíssimo de experiência do usuário é medido pelo Google através da métrica Cumulative Layout Shift (CLS) do Core Web Vitals.

A solução é simples e obrigatória: sempre declare as dimensões intrínsecas (largura e altura) na tag <img>:

HTML5 1 linha
<img src="banner-curso.webp" alt="Alunos estudando programação web" width="1200" height="630">
⚡
Como o Navegador Trabalha: Ao ler width="1200" height="630", o navegador calcula instantaneamente a proporção de aspecto (Aspect Ratio) e reserva aquele espaço exato na tela em branco. Quando o download da imagem termina, ela preenche o espaço reservado suavemente, sem empurrar nenhum texto!

4. Carregamento Inteligente com loading=”lazy”

Em páginas longas com muitas fotos, baixar todas as imagens de uma vez gasta a franquia de dados móveis do visitante e deixa o carregamento inicial lento.

O HTML5 possui uma solução nativa revolucionária: o atributo loading=”lazy”:

HTML5 2 linhas
<!-- A imagem só será baixada quando o usuário rolar a página até perto dela: -->
<img src="galeria-foto-10.webp" alt="Fachada moderna do estúdio digital" width="800" height="600" loading="lazy">
  • loading="lazy": Adie o carregamento para imagens que estão abaixo da dobra (fora da visão inicial).
  • loading="eager": Valor padrão (carregamento imediato). Utilize na imagem principal do topo (Hero Image / LCP) para que ela apareça o mais rápido possível.

5. Formatos de Imagem Modernos da Web

Para atingir pontuação máxima de velocidade no Google PageSpeed Insights, prefira formatos modernos de alta compressão:

  • WEBP: Desenvolvido pelo Google, é cerca de 30% a 50% mais leve que o JPG e PNG, suportando transparência e animações com nitidez cristalina. É o formato padrão da Web Academy.
  • AVIF: O formato de última geração com a compressão mais agressiva e alta fidelidade de cores da indústria.
  • SVG: Gráficos vetoriais perfeitos para logotipos, ícones e diagramas. Como são baseados em código matemático, nunca perdem nitidez em nenhuma resolução e pesam poucos kilobytes.

6. Exemplo Prático Integrado

Veja a estrutura completa e profissional de uma imagem moderna:

HTML5 10 linhas
<figure class="card-ilustracao">
  <img 
    src="https://images.unsplash.com/photo-1517694712202-14dd9538aa97?w=800" 
    alt="Notebook exibindo linhas de código em um ambiente de trabalho moderno" 
    width="800" 
    height="533" 
    loading="lazy"
    class="imagem-arredondada">
  <figcaption>Ambiente de desenvolvimento profissional configurado para aulas práticas.</figcaption>
</figure>

🚀 Teste imagens no Playground IDE: Experimente carregar links visuais no nosso editor:

🧪 Testar no Playground IDE

7. Tabela de Referência da Tag <img>

Atributo Obrigatório? Finalidade Técnica Exemplo
src Sim Caminho relativo ou URL absoluta do arquivo. src="foto.webp"
alt Sim Descrição textual para acessibilidade (WCAG) e SEO. alt="Gráfico de barras de vendas"
width Recomendado Largura intrínseca em pixels (sem colocar ‘px’). width="800"
height Recomendado Altura intrínseca em pixels (sem colocar ‘px’). height="600"
loading Opcional Define o carregamento preguiçoso (lazy) ou imediato (eager). loading="lazy"
title Opcional Exibe balão flutuante (tooltip) ao passar o mouse. title="Clique para ampliar"

8. Ferramentas Web-ZoneWare para Otimizar Imagens

Aproveite as ferramentas da nossa suíte para preparar suas imagens antes de publicá-las no HTML:

10. Exercício Prático da Lição 12

  1. Abra o Playground Web IDE.
  2. Insira uma imagem utilizando a tag <img> apontando para uma URL da web (você pode utilizar o exemplo do Unsplash fornecido nesta lição).
  3. Escreva um texto alternativo (alt) descritivo e preciso, sem usar a expressão “foto de”.
  4. Declare os atributos width="800" e height="533" e observe a estabilidade do layout.
  5. Adicione o atributo loading="lazy" para treinar as boas práticas de Core Web Vitals.
Rolar para cima