Каков наиболее семантический способ отображения уличного адреса в HTML?
У меня есть адрес, который будет отображаться на веб-странице, но это не адрес для автора страницы. Как это должно быть закодировано, чтобы быть семантическим, учитывая рекомендацию w3c:
Элемент ADDRESS может использоваться авторами для предоставления контактной информации для документа или большей части документа, такого как форма. Этот элемент часто появляется в начале или конце документа.
Ответы
Ответ 1
Чтобы описать свой адрес, вы можете использовать hCard Microformat. Преимущество Microformats заключается в том, что вы можете использовать их в своих существующих документах для их обогащения.
Вот пример, полученный в примере из Microformats wiki:
<address class="vcard">
<span class="adr">
<span class="street-address">169 University Avenue</span>
<span class="locality">Palo Alto</span>,
<abbr class="region" title="California">CA</abbr>
<span class="postal-code">94301</span>
<span class="country-name">USA</span>
</span>
</address>
Ответ 2
В ответе Гумбо отсутствует жизненно важный ингредиент. Для имени hcard/vcard требуется .
http://microformats.org/wiki/hcard#Property_List
В этом случае тег адреса не должен использоваться, поскольку он специально используется для связи с автором страницы, на которой он отображается.
<div class="vcard">
<span class="fn">Tristan Ginger</span>
<span class="adr">
<span class="street-address">169 University Avenue</span>
<span class="locality">Palo Alto</span>,
<abbr class="region" title="California">CA</abbr>
<span class="postal-code">94301</span>
<span class="country-name">USA</span>
</span>
</div>
Большинство компаний, желающих отобразить свой адрес на своем веб-сайте, должны использовать следующее:
<address class="vcard">
<span class="fn org">Tristan Ginger Inc</span>
<span class="adr">
<span class="street-address">69 University Avenue</span>
<span class="locality">Great Bookham</span>,
<span class="region">Surrey</span>
<span class="postal-code">KT22 9TQ</span>
<span class="country-name">UK</span>
</span>
</address>
Ответ 3
вы можете использовать RDFa, например:
<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:address="http://schemas.talis.com/2005/address/schema#"
xml:lang="fr" lang="fr"
>
<head>...</head>
<body>
<div typeof="foaf:Person" about="http://you.openid.com#me">
<span id="name" property="foaf:name">First Name, Last Name</span>
<address property="address:streetAddress">My Street, My City</address>
</div>
</body>
</html>
Ответ 4
Вы можете использовать словарь Schema.org PostalAddress для этого. Его можно использовать с помощью Microdata, RDFa или JSON-LD.
Например, используя RDFa:
<div vocab="http://schema.org/" typeof="PostalAddress">
<span property="name">Google Inc.</span>
P.O. Box<span property="postOfficeBoxNumber">1234</span>
<span property="addressLocality">Mountain View</span>,
<span property="addressRegion">CA</span>
<span property="postalCode">94043</span>
<span property="addressCountry">United States</span>
</div>
AFAIK, это также должно быть справедливо с помощью <address>
вместо прилагаемого <div>
:
<address vocab="http://schema.org/" typeof="PostalAddress">
<span property="name">Google Inc.</span>
P.O. Box<span property="postOfficeBoxNumber">1234</span>
<span property="addressLocality">Mountain View</span>,
<span property="addressRegion">CA</span>
<span property="postalCode">94043</span>
<span property="addressCountry">United States</span>
</address>