Feed Sign in with OpenID OpenID

Simon Willison’s Weblog

HTML: More structural than semantic

Semantic markup is getting a lot of blog coverage at the moment, following a starter post by Jason Kottke. There’s some great content flowing around (Dave Shea, Doug Bowman and Paul Scrivens in particular devote whole essays to the topic) but the central point is the same: just because a page validates doesn’t mean it’s good HTML; semantic markup is equally if not more important for building good pages.

I’m not about to disagree, and there’s not much I can add to what’s already been said. Instead, I’m going to be picky about terminology. In my opinion, HTML is far more a structural language than a semantic one. The word semantic suggests meaning. Sure, marking something up as a paragraph or header is more meaningful than leaving it in a semantically uninteresting div or span, but to be truely semantic the markup would need to tell us what the element actually is —a headline, or the author of an article, or a list of navigation options for the page. That kind of information is the realm of XML. Semantic HTML elements add a small amount of meaning, but a great amount of structure—a fact that becomes particularly important when you start applying CSS. Try to derive real meaning from the simple elements provided by HTML and you’ll quickly run in to a brick wall.

This is HTML: More structural than semantic by Simon Willison, posted on 28th August 2003.

View blog reactions

Next: Too much accessibility

Previous: Great liquid design example

5 comments

  1. I'm all for standards, but I think that all of this semantic stuff is hoo-ha.

    Sam - 28th August 2003 13:53 - #

  2. Sam, I think you're a bit confused. HTML and XHTML are SGML and XML applications, respectively. The whole point in HTML and XHTML is shared semantics. So if all you want is structure, it is you who should go ahead and use any old SGML or XML application, and the people you criticise that should stick with HTML and XHTML.

    Saying that you don't read the HTML source, so semantics are irrelevant is just stupid. You don't read the HTML source to check if all the pages you read are valid, yet you claim to be "all for standards". What matters is the application of the source. There are plenty of ways in which semantic information is useful (Google is a prominent user of such information, for instance).

    Jim Dabell - 28th August 2003 14:32 - #

  3. What I find most interesting about the whole division of presentation and content is that in most spheres of technology there seems to be a prevailing trend of convergence. Mobile phones are getting more PDA-like, refridgerators are connecting to the internet and computers are (finally) getting the ability to recognise human handwriting on the fly. Trust the internet to go in the opposite direction towards divergence.

    Jules - 29th August 2003 10:07 - #

  4. Jules, Separating content from its presentation behind the scenes is how the content can be used for a variety of purposes and applications, such as a PDA, a cell phone, a refrigerator... in addition to using that same content on the Web. If the content is separate from its presentation, then using it for a variety of purposes is easy to do and allows for far greater convergence. The word "separation" may lead you and others to think that it implies creating divergence, but that's not what's really happening. There are some excellent books on the subject, such as Cascading Style Sheets: Separating Content from Presentation by Owen Briggs, Steve Champeon, Eric Costello, Matthew Patterson.

    Shirley Kaiser - 29th August 2003 22:57 - #

  5. Thanks for the clarification, Shirley. I thought there was something fishy going on somewhere down the line. Should've known it was with my own understanding of the issue.

    Jules - 3rd September 2003 01:00 - #

Comments are closed.

Previously hosted at http://simon.incutio.com/archive/2003/08/28/structuralVsSemantic

A django site