XHTML 2.0 Working Draft

Tuesday, January 14, 2003

The W3C has released the XHTML 2.0 Working Draft. It appears to include major revisions over previous versions of HMTL, including:

  • A new <nl> tag for navigation lists (aka menus).
  • A new <line> tag to replace <br /> for single line-breaks.
  • A more general <h> tag for headers, to be used in conjunction with…
  • The new <section> tag, to hierarchically organize information.
  • Deprication of the <img> tag in favor of the <object> tag, which can now also contain image information (and other media information) in the XHTML itself. (As opposed to current standards, which require you to point to other files for image data.)
  • A <colgroup> tag to help keep those tables organized.
  • New <ins> and <del> tags to indicate insertions and deletions from draft documents.

Many other changes have been proposed, as well, no doubt.

Now, Zeldman complains about the lack of compatibility with older standards, arguing that the W3C might have done better calling the new specification something like “Advanced Markup Language” (AML) instead of XHTML 2.0 to avoid confusion and incompatibility complaints.

“Imagine if Illustrator had been named Photoshop 2,” he writes, comparing XHTML 2.0 to Illustrator and XHTML 1.0 to Photoshop. “Some artists would scream with pleasure. (‘Finally, I can use vectors!’) Others would howl with rage. (‘What do you mean I can’t edit photos any more?’)”

This is nonsense. I haven’t done a thorough study, but at first blush XHTML 2.0 appears designed to accomplish the same goals as 1.0 in much the same way — it’s not a different product nor a completely different paradigm of text markup. It attempts to solve some of the more outstanding problems with HTML, though, and this requires deeper structural changes.

As different versions of HTML and XHTML come out, we should start paying more and more attention to our document-type declarations, usually the first line in the HTML code. Internet Explorer 5 for Mac does render pages slightly differently depending on which version of HTML the page has declared it will use. Hopefully new browsers will include this sort of feature, allowing different markup processing engines to fire up depending on which text markup scheme the web page uses — HTML, XHTML 1.0, XHTML 2.0, or whatever else may come in the future.