HTML: More structural than semantic
28th August 2003
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.
More recent articles
- Slop is the new name for unwanted AI-generated content - 8th May 2024
- Weeknotes: more datasette-secrets, plus a mystery video project - 7th May 2024
- Weeknotes: Llama 3, AI for Data Journalism, llm-evals and datasette-secrets - 23rd April 2024
- Options for accessing Llama 3 from the terminal using LLM - 22nd April 2024
- AI for Data Journalism: demonstrating what we can do with this stuff right now - 17th April 2024
- Three major LLM releases in 24 hours (plus weeknotes) - 10th April 2024
- Building files-to-prompt entirely using Claude 3 Opus - 8th April 2024
- Running OCR against PDFs and images directly in your browser - 30th March 2024
- llm cmd undo last git commit - a new plugin for LLM - 26th March 2024
- Building and testing C extensions for SQLite with ChatGPT Code Interpreter - 23rd March 2024