Tantek Çelik (Editor)
h-adr is a simple, open format for publishing structured locations such as addresses, physical and/or postal. h-adr is one of several open microformat draft standards suitable for embedding data in HTML/HTML5 on the web.
h-adr is the microformats-2 update to adr. It is most commonly used as part of an h-card or h-event.
For named addresses, e.g. people or venues, use h-card.
Per CC0, to the extent possible under law, the editors have waived all copyright and related or neighboring rights to this work. In addition, as of 2016-05-26, the editors have made this specification available under the Open Web Foundation Agreement Version 1.0.
Contents |
Example
Here is a simple postal address example:
<p class="h-adr"> <span class="p-street-address">17 Austerstræti</span> <span class="p-locality">Reykjavík</span> <span class="p-country-name">Iceland</span> <span class="p-postal-code">107</span> </p>
Parsed JSON:
{ "items": [ { "type": [ "h-adr" ], "properties": { "street-address": [ "17 Austerstræti" ], "locality": [ "Reykjavík" ], "country-name": [ "Iceland" ], "postal-code": [ "107" ], "name": [ "17 Austerstræti Reykjavík Iceland 107" ] } } ] }
The implicit "name" property that is generated from parsing an h-adr is there for consuming applications to have a simple flattened string representation of an h-adr.
For an explicitly named address (such as a mailing address to a specific person), use h-card.
Get started
The class h-adr is a root class name that indicates the presence of an h-adr.
p-street-address, p-locality, p-country-name, p-postal-code and all the other h-adr property class names listed below define properties of the h-adr.
See microformats-2-parsing to learn more about property class names.
Properties
h-adr properties, inside an element with class h-adr:
-
p-street-address- house/apartment number, floor, street name -
p-extended-address- additional street details -
p-post-office-box- post office mailbox -
p-locality- city/town/village -
p-region- state/county/province -
p-postal-code- postal code, e.g. ZIP in the US -
p-country-name- should be full name of country, country code ok -
p-label- a mailing label, plain text, perhaps with preformatting -
p-geo(or u-geo with a RFC 5870 geo: URL), optionally embedded h-geo -
p-latitude- decimal latitude -
p-longitude- decimal longitude -
p-altitude- decimal altitude - new in vCard4 (RFC6350)
All properties are optional.
-
p-name- there is no "p-name" property in h-adr. If your address has an explicit name, it's likely a venue, and you should use h-card instead.
Status
h-adr is a microformats.org draft specification. Public discussion on h-adr takes place on h-adr-feedback and the #microformats irc channel on irc.freenode.net.
h-adr is ready to use and implemented in the wild, but for backwards compatibility you should also mark h-adrs up with classic adr classnames.
Property Details
(stub, add any property explanations here)
Examples in the Wild
- … add any h-adr examples you find in the wild
Validating
Test and validate microformats2 markup in general with:
- http://waterpigs.co.uk/php-mf2/ - enter your markup directly
- http://pin13.net/ - enter a URL to a page to test where it says "Microformats Parser"
Backward Compatiblity
Publisher Compatibility
For backward compatibility, you may wish to use classic adr classnames in addition to the more future-proof h-adr properties, for example:
<p class="h-adr adr"> <span class="p-street-address street-address">123 Main St.</span>, <span class="p-locality locality">Pleasantville</span> ... </p>
The class adr is a backward compatible root class name that indicates the presence of an adr.
street-address, locality, and all the other backward compatibility adr property class names are listed below.
Parser Compatibility
Microformats parsers should detect classic properties only if a classic root class name is found and parse them as microformats2 properties.
If an "h-adr" is found, don't look for an "adr" on the same element.
Compatibility root class name: adr
Properties: (parsed as p- plain text unless otherwise specified)
- post-office-box
- extended-address
- street-address
- locality
- region
- postal-code
- country-name
FAQ
What about country codes
Q: When marking up an address, can p-country-name be used to markup two letter country codes like "UK"? Or others like 3 letter Olympic country codes?
A: In short yes. You can do:
<span class="p-country-name">UK</span>
However it's better if you mark it up with the abbr element and provide the full name as well, e.g.
<abbr class="p-country-name" title="United Kingdom">UK</abbr>
Consuming applications may interpret any 2-3 character country-name per the table of 2-3 character country codes in ISO3166.
Background
h-adr is based on the existing adr specification, which was extracted from hCard in order to allow it to be used for applications other than contact information.
See Also
- microformats2
- h-geo can be embedded in h-adr
- h-card and h-event often contain h-adr
- vcard (most recently vCard4 RFC6350) vocabulary is re-used by h-adr.