1
resposta

image replacement

Qual a diferença entre eu usar text-indent: -99999px; ou simplesmente remover o texto do elemento?

1 resposta

Se você remover o texto já não é mais uma substituição de imagem (image replacement), passa a ser a própria imagem e não faria sentido usar a tag <a>, poderia usar logo a <img>.

Mas a principal ideal do image replacement é deixar o HTML semântico, ou seja, se sua foto representa uma rede social, o ideal é que lá no HTML esteja escrito o nome da rede social. A leitura do HTML passa a ser algo com mais sentido (mais semântico) do que com a tag <img>.

Por exemplo, se formos considerar um ser humano, é fácil entender que ambos os códigos abaixo passam a ideia de uma rede social:

<img src="twitter.png"></img>
<a>Twitter</a>

Porém, para uma ferramente de busca que vai analisar o seu site, ela não vai interpretar o nome do arquivo twitter.png como uma rede social (essas ferramentas não analisam o nome dos arquivos), a única coisa que ele irá saber é que ali tem uma imagem e geralmente irá ignorá-la. Já com a técnica image replacement, a tag <a> além de mostrar a imagem por meio do CSS, irá representar o seu sentido (sua semântica) por meio da palavra "Twitter".