Я думаю, что было бы лучше использовать класс CSS:
<div class="social">
<label for="social1" class="s1">Social 1</label>
<input type="text id="social1" name="social1" />
<label for="social2" class="s2">Social 2</label>
<input type="text id="social2" name="social2" />
</div>
Так что вы можете применить фон следующим образом:
.social {
display: block;
width: 50px;
height: 50px;
background-repeat: no-repeat;
}
.social .s1{
background-image: url("social1.gif");
}
.social .s2{
background-image: url("social2.gif");
}
Я бы не стал удалять текст с ярлыков. Таким образом, пользователи смогут выбрать этот текст, но при этом выглядеть как изображение (с соответствующим фоном).
Но если вы действительно хотите придерживаться только изображений, то вы можете использовать этот подход:
<div class="social">
<label for="social1" class="s1">
<img alt="Social 1" src="img/social1.gif" />
</label>
<input type="text id="social1" name="social1" />
<label for="social2" class="s2">
<img alt="Social 2" src="img/social2.gif" />
</label>
<input type="text id="social2" name="social2" />
</div>
и, отвечая на ваш вопрос, я думаю, что можно иметь изображения с альтернативным текстом.