The W3C is finally waking up and realizing they’ve got a problem with HTML. The browser vendors are once again abandoning them and going their own way (except for Microsoft, which is going in a different direction entirely). The W3C has wisely decided to start listening to Mozilla, Opera, and Apple and revisit classic HTML. Unfortunately though they realize they have a problem, they haven’t yet realized what the problem is. Berners-Lee seems to think it’s about “quotes around attribute values and slashes in empty tags and namespaces”, and it’s not.
XHTML is not the problem. Well-formedness is certainly not the problem. Hell, even namespaces aren’t really the problem although they’re clunky and ugly and everyone hates them. The problem is that the W3C has abandoned HTML for years. HTML hasn’t moved forward since 1999. No wonder browser vendors are getting antsy.
XHTML (1.0 and 1.1) is nothing but a reformulation of HTML. It is a very good reformulation that offers real benefits to developers and authors. However it doesn’t add any significant new functionality. It makes many tasks easier (especially ones that involve machine processing of HTML) but it doesn’t make anything new possible. Nonetheless it’s an unalloyed good thing, and we should keep it. Berners-Lee complains that:
The attempt to get the world to switch to XML, including quotes around attribute values and slashes in empty tags and namespaces all at once didn’t work. The large HTML-generating public did not move, largely because the browsers didn’t complain. Some large communities did shift and are enjoying the fruits of well-formed systems, but not all.
The simple fact is that it’s hard to change direction on a moving train. It’s even harder to change direction when that train is made up of millions of independent authors and software vendors. It takes years, but guess what? The train is moving. XHTML is winning. More and more pages are being served in valid XHTML, and more and more tools are generating it. We may never get rid of classic HTML in my life time, but there’s no reason to give up on XHTML now.
The problem is not now and has never been XHTML or well-formedness. The problem is that the W3C lost interest in improvements to HTML and XHTML. Instead they’ve run off and started work on huge, complicated, massive monolithic plugin technologies like XForms, MathML, and SVG, but even these aren’t the problem themselves. Considered individually they’re each useful and practical. The problem is that the W3C stopped worrying about the smaller problems, like how to DELETE a URL with a web form, how to identify a date in a document, or how to logout of a site that uses HTTP authentication. There’s still a lot of room for improvement in classic HTML and XHTML. There are still elements and attributes and attribute values that are simply missing and glaring by their absence.
The W3C’s mistake was ignoring these little things while it worked on big problems like MathML and SVG. What’s needed now is not an abandonment of the good work the W3C has done in XForms, SVG, MathML and most especially XHTML. Instead what we need to do is tie up the loose ends. Finish what Tim Berners-Lee started way back in 1989, and make HTML a really solid language for the writing and reading of narrative content.