Free HTML!
One of the most exciting developments in Web design in recent years has been the increasingly sharp distinction we have been able to draw between content and presentation. As more and more powerful and efficient (not to say beautiful) Web page designs appear, using nothing but style sheets for presentation, HTML markup can be freed—to return to its true semantic roots.
Of course, all this is passing by designers still muddied down in the twentieth-century, using tables for layout, and font tags for type. Like people who insist on driving four-wheel gas-guzzlers in towns, in spite of everything that we know about global warming, they will no doubt persist in their ways until the waters close over their heads.
I myself have a couple of small caveats about the dogmatic and (I believe) artificial limitations placed by some writers on what is to count as ‘content’, because it must never be forgotten that forms and colours also communicate meaning: by no means all a site’s ‘content’ is words. (I’ll come back to this in a later post.) But the main thrust of the missionary work (like the missionary work of Greens) is all to the good.
It’s good, to give one tiny example, to use an h1 tag just because what you’re inserting at that point in your page is your main page header—and not to worry about how big it’s going to be. The size of every header element can be changed in your style sheet, so that for a particular page design, the text in an h1 tag may be smaller than that in an h2 tag. What matters is that one has the text of a primary header, the other the text of a secondary header. You can think exclusively about meaning and message when creating your HTML markup, and about presentation when writing your CSS rules.
This means that we can now use list tags for all lists (such as navigation menu options), however we want them to appear on the final page. We can revive old tags like address for addresses. And so on.
I’ve actually been quite slow, I have to confess, in freeing myself up. Some of my older sites still muddle content and presentation, especially in the naming of IDs and classes. I’ll come to that in my next post!