In most tags are semantic: that is, they carry meaning, but there is no way to provide meaning for every piece of content. This impoverishes the web: machine-readable tags that provide context make for a richer, more semantic internet. But short of an XML utopia, there's no way to cover every possibility.

Instead, there are several measures that add to, or extend, the semantics of web pages:

  • Microformats extend tags via special values for class and id attributes. Microformats have strong support by Google, Facebook and YouTube through schemas like hcard (to represent people, companies, organizations, and places), calendar (for events), recipe, and XFN (to diagram relationships between people).
  • RDFa is another means of providing context to tags via values added to class attributes, currently used to indicate Creative Commons licenses, amongst other purposes.
  • Unlike meta tags, microdata is written in the body of an HTML document; unlike microformats and RDFa, it does not abuse class, instead using attributes such as itemscope and item type, with established, central schemas such as schema.org and data-vocabulary.org.

Which system you use depends on what you are trying to do:

Want to add a Creative Commons license?
Use RDFa, plus a public notification.
Making a HTML page?
Use microdata, adding meta tags and RDFa as they are supported.