В настоящее время нет обозначенного элемента для разметки физического адреса или почтового адреса. Вы правы: <address>
следует использовать только для представления контактной информации автора статьи или документа, поэтому не следует использовать ее для разметки адресов, например, в списке предприятий.
Когда HTML не существует для определенной семантики, лучше всего разметить элемент, наиболее близкий по значению, а затем использовать вспомогательные стандарты, такие как (1) классы микроформатов, (2) атрибуты микроданных и / или (3 ) Ария роли. Лично я предпочитаю Микроданные Микроформатам, потому что Микроданные не вмешиваются в атрибут [class]
, который предназначен для стиля. Я не люблю смешивать семантику со стилем. Роли ARIA предназначены для доступности, и я недостаточно знаю о них, чтобы сказать много, но они очень хороши в вашем коде.
Читайте о Синтаксис микроданных (расширение HTML). Микроданные являются официальным синтаксисом в разметке, тогда как Schema.org очень популярен (Google любит это) словарь для использования с синтаксисом. Есть и другие менее популярные словари.
Для разметки физического адреса используйте тип элемента Schema.org PostalAddress с соответствующими свойствами. Честно говоря, лучшим элементом для использования был бы простой старый <p>
.
<p itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="name">The White House</span>
<br/>
<span itemprop="streetAddress">1600 Pennsylvania Avenue</span>
<br/>
<span itemprop="addressLocality">Washington</span>,
<span itemprop="addressRegion">DC</span>
<span itemprop="postalCode">20500</span>
<br/>
<data itemprop="addressCountry" value="US">United States of America</data>
<br/>
<span itemprop="url">https://www.whitehouse.gov/</span>
</p>
Элемент <br/>
предназначен для обеспечения (семантического, значимого) разрывов строк в контенте, поэтому его использование здесь оправдано в почтовом адресе. Это также чрезвычайно обычный вариант использования. Однако можно утверждать, что <pre>
работает так же хорошо, как и технически предварительно отформатированный текст.
<code><pre itemscope itemtype="http://schema.org/PostalAddress">
<span itemprop="name">The White House</span>
<span itemprop="streetAddress">1600 Pennsylvania Avenue</span>
<span itemprop="addressLocality">Washington</span>, <span itemprop="addressRegion">DC</span> <span itemprop="postalCode">20500</span>
<data itemprop="addressCountry" value="US">United States of America</data>
<span itemprop="url">https://www.whitehouse.gov/</span>