While writing Accessible calendars, I realized something that eluded me during that whole CSS-versus-tables debate a few months ago: I have a deep respect for HTML. This is not to say that it’s the greatest thing in the world; it’s not. There are more expressive markup languages (DocBook comes to mind), and there are other ways of achieving the same thing (the structured text formatting of wikis is simpler to learn, write, parse, and debug later). And the whole idea of replacing desktop applications with web-based applications has set the entire field of user interface design back at least 10 years.
It is what it is, but what it is is more than most people give it credit for. If you take the time to learn it fully and use it correctly, HTML can be remarkably expressive, and at times downright elegant. It has been abused so much and so long by so many that most people who think they know it really know something else entirely. They think it’s some weird page layout language that doesn’t let you lay out pages, but instead of sitting down and thinking through that contradiction, they just decry it as a crock and proceed to bludgeon it until it sort of does what they want.
Well, it’s not a crock. There, I said it. HTML is not a crock, and anyone who tells you that it is either doesn’t understand it or is trying to sell you something, or both. It’s a structural markup language, and if you’re trying to make it into something else, it’s no wonder you hate it, because it really sucks at being anything else. And if you insist on treating it with no respect, then it will continue to give you grief, and you deserve it.
Hello, my name is Mark, and I’m an HTML purist.

