Тег address появился еще с HTML3 в 1995 году и продолжает выживать, вплоть до последних версий HTML5. Просуществовав около 15-и лет, он до сих пор продолжает вводить разработчиков в некоторое замешательство. Так как же нам все таки пользоваться тегом address, в наших документах?
Пример правильного использования
Давайте посмотрим, что говорит спецификация:
Тег address предоставляет контактную информацию, которая относится к документу или его части. Информация, которая содержится в address может включать имена владельцев, ссылки на страницы сайтов, e-mail адреса владельцев для обратной связи, почтовые адреса, номера телефонов и так далее. Тег address не используется для всех почтовых и e-mail адресов, он зарезервирован именно для информации, которая поможет найти людей, которые относятся к этому документу.
Если следовать данному совету, то мы могли бы делать что-то вроде этого:
The HTML5 Doctor is run by the following group of volunteers:
<address>
<a href="/author/jacko">Jack Osborne</a>,
<a href="/author/richc">Rich Clark</a>,
<a href="/author/miker">Mike Robinson</a>,
<a href="/author/toml">Tom Leadbetter</a>,
<a href="/author/brucel">Bruce Lawson</a>,
<a href="/author/remys">Remy Sharp</a>
</address>
Вот еще один пример, который используется у нас на сайте:
<footer>
<div class="vcard"> by
<address class="author">
<em class="fn"><a title="Posts by Jack Osborne" href="#">Jack Osborne</a></em>
</address> on
<time datetime="2009-11-04" class="published updated">November 4th, 2009</time>
</div>
</footer>
Если вы заглядывали в исходный текст страниц нашего сайта, Вы могли видеть использования тега address, который крепится к низу статьи несколько раз на странице.
Пример неправильного использования
Наиболее распространенное заблуждение по поводу применения тега address, это что он должен использоваться для обозначения любых адресов. Взгляните на следующий пример:
<!-- Это плохо! -->
<address>
Dr. Jack Osborne
HTML5 Hospital,
Doctorville,
Great Britain
Tel: +44 (0)XXXX XXXXXX
</address>
Вы думаете, что не так с этим кодом? Все очень просто, тег address не используется для выделения почтовых адресов. Последняя спецификация говорит об этом прямо, тег address не используется для обозначения почтовых адресов на странице, кроме случаев, когда данные адреса имеют отношение к текущему документу или его разделам.
Выделение почтовых адресов
Так что же делать с теми адресами, которые не имеют отношение к документу? Одно из решений — использовать тег <p> в комбинации с микроформатом hCard.
Давайте перепишем предыдущий пример, используя hCard:
<div class="vcard">
<p class="fn"><a class="url" href="#">Dr. Jack Osborne</a><p>
<p class="adr">
<span class="street-address">HTML5 Hospital</span>
<span class="region">Doctorville</span>
<span class="postal-code">Postal Code</span>
<span class="country-name">Great Britain</span>
</p>
<p class="tel">+44 (0)XXXX XXXXXX</p>
</div>
К сожалению, мы не станем углубляться в обсуждения об hCard, так как это не является темой данной статьи. Я включил информацию об этом микроформате только для того чтобы показать методы, которыми выделяется почтовый адрес и, что вам не следует использовать для этих целей тег address.
Если вы не чувствуете себя уверенно в реализации микроформатов своими силами, можете воспользоваться hCard-генератором, который сделает всю тяжелую работу за вас.