The Battle For Supremacy
HTML5 has been brewing for about 2 years now and the fight for it to become the next markup language for the web is hot. XHTML2 has been in the pipes for just as long, but seems to be further from an actual recommendation. Along with this the more standards compliant browser vendors also appear to be embracing HTML 5. This leads me to believe that many developers will also be forced to embrace this technology. I am fine with that as it appears to be an decent choice, despite the fact that most of my pages are served as text/xhtml. So that said let's take a look at the difference between the two.
XHTML 2: Out of the frying pan and into the fire
XHTML 2.0, which touts itself as a replacement for both HTML 4.01 & XHTML 1.1, brings in some new and very useful elements, while completely removing others that are still in heavy usage.
The first good thing that is coming in XHTML 2 is the removal of useless and deprecated tags. The <b>, <i>, <small>, <big>, <tt>, <font> and <basefont> elements are all gone. The <iframe> is out as well, I'm not sure if this is a good thing though. The <iframe> is useful in creating a shim for flash movies. Many of us now that when trying to place a drop down above a .swf file embedded in a page, the <iframe> comes in handy. <acronym>will be replaced by the <abb> tag. <abbr> is currently being used, but XHTML 2 will create a more standardized way of making abbreviations. XHTML 2 will also bring in a few new things that propose to make thing more semantically correct. The first one is the role attribute. This attribute can be added to any element, and has the power to give search engines and assistive technologies the helping hand they need. Another great improvement is the addition of navigation lists. As almost any developer knows, an <ul> or <dl>, ** NOTE: Definition Lists technically should not be used for navigation, are the best way to make a nice neat horizontal or vertical <nav> bar, so the addition of a dedicated element designed for navigation is excellent. The last truly great thing that is coming with XHTML 2 is the ability of any element to be a hyperlink. By simply adding the href attribute to any element it is transformed into a hyperlink.
All in all, XHTML is a powerful and viable replacement for both of the current versions of HTML and XHTML. However the lengthy process and the closed nature of the development of XHTML 2 may be the downfall of this markup language. Now let's take look at X/HTML 5.
X/HTML 5: The Beastly Beauty
HTML 5 also vies to be the next markup language of the web. So far the "standards-compliant" browsers seem to be embracing this, which could be both a good and bad thing. Let's take a look at what it has to offer.
X/HTML 5 brings in some really good ideas. HTML5 brings in the idea of sectioning of the page. It implements the
Despite these improvements there are some obvious flaws as well. The first of which is backwards compatibility. Now you might not think that compatible with earlier versions of HTML would be a bad thing, but this allows all of the foibles of the previous incarnations of HTML to be brought forward into HTML 5. Things like <i> & <font> will still be supported. Yeah, I said it the FONT tag is supported. This has got to be the worst element that HTML 4.01 had and we are still going to have it cluttering up the web.
Despite its faults though HTML 5 with a bit of tender love and care it could truly be a real contender. X/HTML 5, or Web Applications 1.0 as it is also known, does have an open development policy, anyone can give feedback which may taken into consideration. Taking that in and coupling it with the backing of Mozilla, Safari, and Opera, and you have the makings of a next generation markup language.
For further reading please check out these links: