Of course, using markup to provide context isn’t a new concept. Before HTML5, people used tags like
<div id="nav"> to make pages more structured and usable. Unfortunately the attribute values of the div tag were left to the whim of developers so the tags didn’t make a lot of sense to machines. If
<div id="deep_thoughts"> described your content, then bravo! But the machines were unimpressed.
The standardized semantic elements in HTML5 not only help humans make sense of the content but machines too. The elements open up realms of possibilities for the future. New products, features, and extensions could be developed. Examples:
- A browser on a mobile device could hide all
<aside>elements to reduce clutter
- A standard browser could provide a print dialog that lets the user skip all
- A screen reader could announce
<aside>elements, or be configured to skip
- A search engine could sniff out headings to index pages more effectively, or pick up the links in nav elements to display them as quick links in search results.
Who knows? A yet-to-be-imagined use case could give birth to the next Internet giant.