2010-03-01 16 views
31

Tengo una dirección que se mostrará en una página web, pero no es la dirección del autor de la página. ¿Cómo debe ser codificado para ser dada la semántica de w3c recommendation:¿Cuál es la forma más semántica de mostrar una dirección de calle en HTML?

El elemento de dirección puede ser utilizado por los autores para suministrar información de contacto de un documento o una parte importante de un documento, como una forma. Este elemento a menudo aparece al principio o al final de un documento.

+2

¿Qué hay de los microformatos? – Gumbo

+0

Gumbo: ¿No es realmente al estilo W3C, o estoy equivocado? – Franz

+0

@Franz: los microformatos están utilizando clases para su descripción. Y eso es absolutamente legítimo. – Gumbo

Respuesta

21

Puede usar el hCard Microformat para describir su dirección. La ventaja de Microformats es que puede usarlos en sus documentos existentes para enriquecerlos.

He aquí un ejemplo derivado del ejemplo de la 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>&nbsp;&nbsp; 
    <span class="postal-code">94301</span> 
    <span class="country-name">USA</span> 
    </span> 
</address> 
+2

Gracias por señalar que los divs no están permitidos dentro de la etiqueta de dirección :) – Ally

+1

Véase también http://html5doctor.com/the-address-element/ –

+20

Dado que la pregunta pregunta "no es la dirección del autor del página ", uno no debe usar el elemento de dirección HTML esta dirección. El elemento de dirección solo se puede usar para la información de contacto del autor de una página o artículo. Aquí, el elemento de dirección debe ser un div, aunque p también sería aceptable. El borrador de HTML5 es más específico con respecto a esto: http://dev.w3.org/html5/spec/sections.html#the-address-element –

4

puede utilizar RDFa, por ejemplo:

<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> 
9

La respuesta por Gumbo falta el ingrediente vital. Una hcard/vcard es requiere para tener un nombre.

http://microformats.org/wiki/hcard#Property_List

También la etiqueta de la dirección no debe ser utilizado en este caso, ya que se utiliza específicamente para relacionarse con el autor de la página se muestra en pantalla.

<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> 

La mayoría de negocios que quieran mostrar su dirección en su página web debe utilizar lo siguiente:

<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> 
0

puede utilizar el elemento del vocabulario Schema.org PostalAddress para esto. Se puede usar a través de Microdata, RDFa o JSON-LD.

Por ejemplo, el uso de 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> 

yo sepa, esto también debe ser válida con <address> en lugar de la <div> adjuntando:

<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> 
Cuestiones relacionadas