Microformats in HTML5

Revision as of 16:10, 30 June 2011 by Tantek (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)

Jump to: navigation, search

This page is to document future use of microformats in HTML5. None of the items documented are supported now, and may change upon proper development within the microformats community, or changes in the HTML 5 specification. This page is to track HTML5 enabled enhancements to microformats, and issues that HTML5 raises. It may be used to track issues which we need to push back into the HTML 5 development process.

If there are things that microformats would like to mark up that aren't handled by HTML5 explicitly, please let the WHATWG know, so we can improve HTML5. This is how the time element came to be, for instance.


New features in HTML5

time element

time element for representing date times. In HTML5, the machine form of datetimes can be represented natively. In some cases it may be possible to replace the date-time design pattern with native HTML5.

Note that there are documented limitations in the time element. Please add additional opinions and use cases to that wiki page so that we can help improve the time element.

hCalendar with time element

Here is the hCalendar spec example updated to use section instead of div, and time instead of abbr.

<section class="vevent">
 <a class="url" href="http://conferences.oreillynet.com/pub/w/40/program.html">
 <span class="summary">Web 2.0 Conference</span>: 
 <time class="dtstart" datetime="2005-10-05">October 5</time>-
 <time class="dtend" datetime="2005-10-07">7</time>,
 at the <span class="location">Argent Hotel, San Francisco, CA</span>

article element

article element for major, independent compositions of content within a page. Perhaps synonymous with hAtom hentry. Could be parsed as hentry within explicit hfeed blocks?

data attributes

data- naming convention for tag attributes. the draft specification states that any attribute that starts with "data-" will be treated as a storage area for private data.

new semantic elements

HTML5 has numerous new semantic elements.

Most microformats parsers probably won't recognize those elements and may ignore them - so avoid using microformats classes on new HTML5 semantic elements for anything in production.

HOWEVER, do try experimenting with microformats and new semantic HTML5,

AND try http://dev.h2vx.com/ (the beta version of H2VX) as it now has preliminary support for the new semantic HTML5 elements as well as <time datetime>.

Changes in HTML5

The rel/rev attributes

The rev attribute has been removed from HTML5. The rel attribute can be still be used in the same way, but microformats that assumed the existence of rev and thus only defined a single forward-facing relation may need to be changed to include an opposite relation as well. That is, for every relation that goes in one direction (e.g. rel-parent of xfn), you must explicitly name and define the inverse relationship (e.g. rel-child of xfn) if the inverse relation is indeed useful.

Additions beyond HTML5


Main article: microdata

microdata is an extension to HTML5 that provides a set of attributes and associated DOM APIs for semantically marking up and extracting data from existing content in web pages, similar to microformats but with new attributes.

Current microformat compatibility

There seems to be no issue with current implementation of the following microformats in HTML 5:



  • The profile attribute has been removed. In HTML, the profile attribute from the head has been removed, with no direct replacement. This causes issues for GRDDL support. It's been suggested that profile URLs be represented in link elements instead, or even as a custom HTTP header. See grddl and profile-uris
    • See rel-profile which is the replacement for the profile attribute. Tantek 23:24, 5 November 2009 (UTC)
  • Microdata itemprop duplicates class data. the new attribute itemprop is designed to hold some meaningful data about an element, but class already exists to hold this data. Unsure of reasons why itemprop required?
    • This is because microdata is designed to be generically parsable, even when the parser does not understand the vocabulary. As such, property names have to be on an explicit attribute, not shared with other, non-data classnames. --BenWard 21:12, 4 September 2009 (UTC)
  • The recommended removal of the colon in timezone doesn’t validate The relevant uF wiki text is “However the colons ":" separating the hours and minutes of any timezone offset are optional and discouraged in order to make it less likely that a timezone offset will be confused for a time.” ref: HTML5 time microsyntax for <time> --Oli 14:40, 14 February 2010 (+9)
  • Some websites are not ready to upgrade to HTML5 and must stick with HTML4 (or XHTML1 served/interpreted as HTML4) for now. For example:

see also

Microformats in HTML5 was last modified: Wednesday, December 31st, 1969