Какой самый семантический способ отображения адреса улицы в HTML? - PullRequest
31 голосов
/ 02 марта 2010

У меня есть адрес, который будет отображаться на веб-странице, но это не адрес автора страницы. Как это должно быть закодировано, чтобы быть семантическим с учетом рекомендации w3c из:

Элемент ADDRESS может использоваться авторами для предоставления контактной информации для документа или основной части документа, такой как форма. Этот элемент часто появляется в начале или в конце документа.

Ответы [ 4 ]

21 голосов
/ 02 марта 2010

Вы можете использовать микроформат hCard для описания своего адреса. Преимущество микроформатов заключается в том, что вы можете использовать их в существующих документах для их обогащения.

Вот пример, полученный из примера из Микроформаты 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>&nbsp;&nbsp;
    <span class="postal-code">94301</span>
    <span class="country-name">USA</span>
  </span>
</address>
9 голосов
/ 30 мая 2014

В ответе Гамбо отсутствует жизненно важный ингредиент. 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>
4 голосов
/ 02 марта 2010

вы можете использовать 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>
0 голосов
/ 04 июля 2017

Для этого вы можете использовать элемент PostalAddress словаря 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>
...