Как самый семантический способ показать адрес уличного адреса в HTML?
-
23-09-2019 - |
Вопрос
У меня есть адрес, который будет отображаться на веб -странице, но это не адрес автора страницы. Как это должно быть кодировано как семантическое, учитывая рекомендация W3C из:
Элемент адреса может использоваться авторами для предоставления контактной информации для документа или основной части документа, такой как форма. Этот элемент часто появляется в начале или в конце документа.
Решение
Вы можете использовать HCARD Microformat Чтобы описать ваш адрес. Преимущество микроформирования заключается в том, что вы можете использовать их в существующих документах для их обогащения.
Вот пример, полученный из примера из Микроформаты Вики:
<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>
Другие советы
Ответ Gumbo отсутствует жизненно важный ингредиент. 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>
вы можете использовать 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>
Вы можете использовать словарный запас schema.org Почтовый адрес предмет для этого. Он может быть использован через Микродата, 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>