В настоящее время не существует специального элемента для разметки физического адреса или почтового адреса. Вы правы: <address>
следует использовать только для представления контактной информации автора статьи или документа, поэтому вы не должны использовать его, например, для разметки адресов в списке компаний.
Когда HTML не существует для определенной семантики, лучше всего разметить элемент, наиболее близкий по смыслу, а затем использовать вспомогательные стандарты, такие как (1) классы микроформата, (2) атрибуты микроданных и/или (3) роли ARIA. . Лично я предпочитаю микроданные микроформатам, потому что микроданные не мешают атрибуту [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>
работает так же хорошо, поскольку это технически предварительно отформатированный текст.
<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>
</pre>
person
chharvey
schedule
22.08.2016