Much Ado About XHTML 2

There has recently been much grumbling about XHTML 2 in general and its deprecation of the IMG tag in favor of the OBJECT one.

While XHTML 2 is indeed a departure from the existing standards instead of being an evolution, it is important to realize that some of the things the workgroup is trying to do is fix old issues and help improve the overall development of the web. While I agree with Zeldman’s assertion that IMG should be deprecated in this version instead of being completely tossed out, I believe that the tag should never have been in HTML in the first place. The argument for an OBJECT tag date back to the early days of the web (circa 1993) when things broke down into two camps: one that wanted a quick and dirty way to show images on the web (the IMG crowd) and the other that looked forward and wanted any type of media to be embedded in a page (the OBJECT crowd). We are now paying for the decisions that were made back then and, much like tables are still in use for layout on most sites instead of being replaced by CSS, we will continue to see IMG tags in code for a very long time.

The next assumption by the anti-XHTML 2 crowd is that XHTML 2 won’t be supported by browsers for a long time to come. However, because browsers have now evolved to the point where properly formatted text can be presented, most modern browsers can already display XHTML 2 without any problems (for an example, just check Sjoerd Visscher’s weblog), as long as a proper DTD is pointed to. This means that once XHTML 2 makes it to recommendation level, then all modern browsers will be able to exploit it. However, I suspect there will be a slow uptake (as there has already been a slow one on the existing XHTML implementation) largely because a lot of developers do not want to have to deal with the rigorousness of XHTML (making sure all tags are closed, making sure not improper characters are inputted, etc…)

The first step in making sure that XHTML 2 will move forward is in ensuring that the browser vendors fix their implementations to conform to the standard. Microsoft’s implementation of the OBJECT is broken and needs to be fixed. It does not meet the standard so it is their responsibility to fix it. The same is true of other browsers that do not render it properly. In the long run, the success or failure of XHTML 2.0 will be based more on whether those things are fixed than on what people feel is right and, much like the fights over improper CSS nowadays, this kind of thing will only happen once the development community pressures browser vendors into fixing their code.