The future of markup: XHTML 2 vs. HTML 5

The current standards we use for markup, XHTML 1 and HTML 4, are both getting rather long in the tooth—they’re 9 and 12 years old, respectively. In that time, the web has changed almost unrecognizably. With the aid of dynamic scripting and technologies like AJAX, we do things in browsers today that the founders of the web, and the creators of these markup specifications, could only imagine.

So it only makes sense that the standards should evolve to meet the needs of today’s (and tomorrow’s) web. Now, there are people already hard at work on the next versions of both the HTML and XHTML specifications, and there are two possible directions we could go with markup.

You can read about the similarities and differences in the two new specs in detail elsewhere, but in brief, it seems that while HTML 5 can be seen as an evolution of today’s markup, XHTML 2 is more of a reimagining.

While both specifications have some promising features, HTML 5 has more industry support (most browser vendors) and is further along in the approval process. Each also has its own faults—for instance, I don’t really see why HTML 5 chose to create predefined classnames, since for one it’s exceedingly unlikely that browser vendors will implement default user agent stylesheets to capitalize on them.

In general, I am leaning more towards XHTML 2. Here’s why:

  • While both standards support XML namespaces, XML serialization and doctype switching, HTML 5 is as lenient as HTML 4 was towards poorly formed markup.

    Which in a nutshell is why I’m not a fan—you may be able to validate poorly-formed markup, but why on earth would you want to write markup that way? It’s harder to read and much much harder to debug.

  • XHTML 2 seems to have implemented certain similar features more intelligently than its counterpart. For example, both specifications introduce the concept of a nav list, but only in XHTML 2 is it actually considered a list, with child li elements, which is more semantic than introducing a nav list where the items don’t have to be list items.

XHTML 2′s big (and perhaps fatal) flaw is that it’s coming from a closed group. HTML 5′s working group, however, is open and transparent. They at least realize that standards development that will impact the whole web should also allow people from every walk of internet life to be involved.

There are hopes that we’ll see a passed standard by sometime next year; let’s hope that the final product is something we can all benefit from.

Leave a reply

(required)
(required) (will not be published)