← Fundamentos de HTML e CSS: estrutura, apresentação e diagnóstico
02 / 10 · 65 MIN

Ligações, imagens e significado do conteúdo

Construir ligações e imagens cujo significado sobreviva a mudanças de apresentação. Resolver caminhos relativos, distinguir alternativas textuais e manter relações de cabeçalho numa tabela simples.

Destino e ação

A ligação do cartão abre um relatório; o seu href deve representar esse destino real. Se uma opção apenas altera estado local, como expandir um painel, um botão exprime essa intenção e precisa do comportamento correspondente. Usar href="#" para simular todas as ações torna copiar, abrir noutro separador e interpretar o controlo menos previsível.

Começa pela intenção do utilizador, não pela aparência azul ou pelo formato de um ícone.

Caminhos dependem do contexto

O caminho relatorios/r7.html parte do URL base do documento. Mover o mesmo fragmento de /guias/ para /guias/rede/ pode alterar o destino, apesar de o atributo não mudar. Um caminho iniciado por / parte da raiz da origem; ../ sobe um nível do diretório.

Se existir base com href, considera esse URL na resolução, incluindo ligações só com fragmento. Num 404, compara o destino pedido com o destino pretendido antes de culpar o formato ou o tamanho da imagem.

O papel da imagem determina a alternativa

No cartão, o separador visual não acrescenta informação à frase e recebe alt vazio. Já o ícone dentro da ligação é o único conteúdo que explica a sua finalidade; o alt identifica a abertura do relatório R7. O mesmo ficheiro gráfico pode ter tratamentos diferentes em contextos diferentes.

Omitir alt não é equivalente a declarar uma imagem decorativa e pode expor nomes de ficheiro pouco úteis. Faz a escolha depois de ler o conteúdo que rodeia a imagem.

Informação complexa e texto visível

Uma etiqueta breve pode identificar um gráfico, mas não substitui doze valores necessários a uma decisão. Fornece os dados e uma explicação relevante em texto ou tabela associados ao gráfico. O objetivo é conservar o significado, não transcrever cada pixel.

Também não guardes informação indispensável apenas em title: um tooltip dependente de hover pode não chegar a quem usa teclado ou toque. Informação necessária deve estar disponível numa apresentação apropriada ao contexto.

Dimensões e formatos têm contratos próprios

width e height coerentes permitem antecipar a proporção antes de a imagem chegar e ajudam a reservar espaço. CSS pode alterar o tamanho apresentado; as dimensões não impedem esse ajuste nem substituem alt. Se picture oferecer fontes alternativas, conserva img como elemento que apresenta a imagem e fornece fallback.

Ter vários source não prova que algum seja utilizável no browser alvo. Uma decisão sobre download deve considerar o recurso efetivamente selecionado e as condições de apresentação.

Dados tabulares com relações explícitas

Na tabela do exemplo, cada nome de serviço é um th com scope row e os nomes no topo são th com scope col. O valor 120 fica relacionado com Consulta e Pedidos. Pôr todos os td a negrito não exprime essas relações.

Esta é uma tabela simples; relações com vários níveis de cabeçalho podem exigir uma modelação mais cuidadosa. Usa uma tabela para dados cuja organização em linhas e colunas tenha significado, conservando esse significado ao rever o layout.

Diagnóstico antes da correção

Se um ícone deixa de aparecer depois de mover uma página, verifica o URL resolvido; se a ligação não tem nome útil, verifica o conteúdo textual e alt; se o relatório perde contexto, verifica os cabeçalhos e as alternativas dos gráficos. São problemas diferentes mesmo quando ocorrem no mesmo cartão.

Explica que observação sustentaria cada diagnóstico e o que ainda falta confirmar. A leitura do excerto permite escolher uma correção, mas não demonstra disponibilidade real dos recursos nem acessibilidade integral do portal.

<article aria-labelledby="relatorio-r7">
  <h2 id="relatorio-r7">Relatório R7</h2>
  <p>
    <img src="assets/separador.svg" alt="" width="16" height="16">
    Medições do turno da manhã.
  </p>
  <a href="relatorios/r7.html">
    <img src="assets/relatorio.svg" alt="Abrir relatório R7" width="24" height="24">
  </a>
  <table>
    <caption>Pedidos observados por serviço</caption>
    <thead>
      <tr><th scope="col">Serviço</th><th scope="col">Pedidos</th></tr>
    </thead>
    <tbody>
      <tr><th scope="row">Consulta</th><td>120</td></tr>
      <tr><th scope="row">Exportação</th><td>35</td></tr>
    </tbody>
  </table>
</article>
NA PRÁTICA

O cartão é um fragmento HTML para um documento PT-PT. O primeiro ícone é decorativo; o segundo dá nome à ligação que o contém. A tabela separa cabeçalhos e dados sem depender do negrito.

Os URLs são relativos ao contexto em que o fragmento é inserido. Os ficheiros e o relatório são referências ilustrativas, não recursos fornecidos por este excerto; a avaliação consiste em interpretar a marcação.

Armadilhas comuns

Tratar todos os ícones como decorativos; usar title como substituto de alt; confundir URL relativo com caminho desde a raiz; remover img de picture; pôr cabeçalhos de tabela apenas a negrito; atribuir a CSS uma resposta 404 de um URL diferente.

Tópicos relacionados: Estrutura do documento e semântica · Formulários, controlos e submissão · Design responsivo e media queries · Foco, estados, movimento e preferências

Leva esta ideia contigo

Uma ligação precisa de um destino correto e de uma finalidade compreensível. Uma imagem precisa de tratamento segundo o seu papel; tamanho e formato não substituem significado. Quando há dados tabulares, conserva a relação entre valores e cabeçalhos. Diagnostica cada camada com a evidência correspondente.

Criar conta

Referência: HTML relative navigation · HTML Living Standard; modular CSS