Jun 3, 2013
Meaningful HTML
Today you’ve been asked to create some meaningful HTML. What’s that you ask? We’ll get back to that.
However, you knew that this day would come and prepared for it. You have a very simple, but workable content model jammed packed with meaning and structure. You’ve already done the hard content modelling work and identified the key content types for your business. For for each content type, you have:
- A name.
- A one line description of its purpose.
- A list of its attributes and a one line description for each.
- A clear understanding of the relationships it has with other content types.
- Open and transparent agreement, across business, UX and technology, on all of the above.
So, back to the meaningful HTML task. HTML was never designed to convey meaning. It’s a display language. However, search engines, web crawlers and browsers need meaningful content to better display search results and deliver awesome customer experiences. They can’t do that with a display language. Microdata, RDFa and Microformats are popular Internet specifications that add semantics to HTML to make it meaningful.
You have a content model. Let’s put it to work.
Microdata
Microdata is a specification that nests meaning into the attributes of HTML elements. So, HTML elements still describe how best to render your content, it’s just that now, the additional attributes on the HTML elements convey meaning. This enables machines to not only display web content, but also know what they are dealing with. Ah, you’re a calendar, or a contact, or a video, or a location, and so on. I know what you are and what you are made of. With this, browsers and their multitude of plugins, can make intelligent decisions about how best to deal with your content. Ditto for search engines other web applications. Voila, we have meaningful HTML.
As an example, Schema.Org is a microdata dialect that all the major search engine providers, including Google, Bing, Yahoo and Yandex encourage us to markup our web content with to better display search engine results.
Microformats
Microformat is another way of adding meaning to HTML by using attributes. It just uses different attributes and values to microdata to define meaning. But the same principle. Like microdata, when loading an annotated HTML page with a contact (they are called hContacts in Microformat land), the browser can say hey, I understand this stuff. I see surnames, phone numbers, and addresses. I’m going to pass this information across to a pre-configured browser plugin so that you can call numbers, or send emails, or fire up Google maps from within the web page. The fact that your web content now has meaning, we’re basically only limited by our imagination.
RDFa
And finally, but by no means least, we have RDFa. These semantic attributes are used to carry rich sets of metadata, such as the Dublin Core and Friend of a Friend (FOAF), within HTML to provide machine-readable ontologies for describing web resources and people respectively. RDFa is very powerful and considered to be the the most expressive of three.
Creating Meaningful HTML
So which specification do we choose? Microdata, Microformats or RDFa? Although this is still widely debated it’s becoming less of an issue today. Or it should be. Why? Because if all the meaning is in content model, what we are really talking about here is selecting a specification to annotate our HTML elements with. That should be a downstream, content delivery concern.
From a technology perspective, we can support all three and make it a business decision to go with microdata, microformats or RDFa depending upon who and what is consuming your content. And we can do that if we keep content separated from its presentation. And we can do that if we plan, model and design for that reality.
Unfortunately, 99 times out of a 100, the content has been produced, managed and delivered for the web channel making it very costly to unpick and offer these choices to the business. But with a content model, we have structured content from which we can create meaningful HTML.
We must step back from the web channel and think strategically about content. A good place to start is with a content strategy (Confab, CSForum) but there’s nothing stopping you from content modelling today.
Absolutely love this, Cleve! A pleasantly tangible guide to adding meaning, and the value of content models.
Thanks Angus. I’ve got a few more things I’d like summarise about putting content models to work. Hopefully get something out early next week.