Imagens e mídia


O texto carrega boa parte de uma página web, mas não tudo. Fotos, diagramas, ilustrações, clipes de vídeo e som também são conteúdo, e o HTML tem elementos para cada um deles. Este capítulo trata da marcação que coloca mídia em uma página: como você aponta para um arquivo de imagem, como você descreve essa imagem para pessoas que não conseguem vê-la e como você entrega o arquivo certo para a tela certa sem desperdiçar os dados de ninguém.
O elemento de imagem
Você coloca uma imagem em uma página com o elemento de imagem, escrito como <img>. Ele não tem conteúdo nem tag de fechamento. Em vez disso, você informa duas coisas por meio de atributos: qual arquivo mostrar e o que a imagem representa.
<img src="golden-retriever.jpg" alt="A golden retriever sitting in tall grass">src é a fonte: o caminho ou endereço web do arquivo de imagem. alt é o texto alternativo: uma breve descrição da imagem em palavras. Se a imagem não carregar, ou se alguém estiver ouvindo a página com um leitor de tela em vez de olhar para ela, o texto do alt é o que essa pessoa recebe. Então escreva-o como se estivesse descrevendo a imagem para um amigo ao telefone.
src, que é o arquivo a mostrar, e alt, que descreve a imagem em palavras. Escreva o alt como se estivesse contando para alguém ao telefone o que tem na foto. É a parte mais pulada, e é a parte que mais importa. Imagens responsivas
Uma foto que parece nítida em um notebook pode ser muito maior do que um celular precisa. Enviar esse arquivo em tamanho grande para uma tela pequena desperdiça os dados do visitante e deixa a página mais lenta. O HTML permite oferecer ao navegador algumas versões da mesma imagem e deixar que ele escolha a que se encaixa melhor.
Você não precisa disso em todas as imagens enquanto está começando. Um único <img> com um arquivo de tamanho razoável já é suficiente. Mas ajuda saber que essa possibilidade existe: a mesma foto pode vir em vários tamanhos, e o navegador escolhe.
<img src="beach-800.jpg" alt="Waves rolling onto a quiet beach at sunset"><img> simples é suficiente. A opção está lá para quando uma página começa a ficar pesada no celular. Vídeo e áudio
O HTML pode reproduzir vídeo e som sem nenhum plug-in. Para um clipe, você usa o elemento <video>; para som, <audio>. Adicione o atributo controls e o navegador te dá de graça um botão de play, uma linha do tempo e um controle de volume.
<video src="tutorial.mp4" controls></video>
<audio src="podcast-episode.mp3" controls></audio>Diferente de uma imagem, esses elementos têm tag de fechamento, porque você pode colocar texto alternativo ou configurações extras entre a tag de abertura e a de fechamento. A coisa mais importante para lembrar no início: sempre inclua controls, ou o visitante não terá nenhuma forma de apertar o play.
<video> reproduz um clipe e <audio> reproduz som, sem precisar de plug-ins. Adicione controls ou não vai haver botão de play e o visitante fica sem saída. Ambos têm tag de fechamento, porque você pode encaixar configurações e texto de reserva dentro deles, diferente de uma imagem. Dimensionamento, carregamento lento e desempenho
Quando uma imagem carrega, ela pode empurrar o resto da página. Você está lendo um parágrafo, uma foto termina de carregar acima dele e, de repente, o texto pula para baixo. Esse pulo é irritante, e você pode evitá-lo: informe o tamanho da imagem ao navegador com antecedência usando width e height.
<img src="team-lunch.jpg" alt="The team sharing lunch on the office balcony"
width="800" height="600">Com esses números, o navegador reserva a quantidade certa de espaço antes de a imagem chegar, então nada pula quando ela aparece. Você informa as dimensões reais em pixels do arquivo, e o CSS ainda pode redimensioná-la na tela.
width e um height e a página para de pular enquanto as fotos carregam. Use o tamanho real em pixels do arquivo; o CSS ainda pode encolhê-lo na tela. Esse único hábito resolve o defeito de carregamento mais irritante que existe. 
