Backward Compatibility is a Joke – WHATWG and HTML5
I remember when I first learned of the work being done on (X)HTML5. I had mixed emotions toward the entire project. Although I’ve been a fan of Firefox, Opera, and Apple for a long time, I don’t agree with the direction they’re going with (X)HTML5. Along with the creation of the Web Hypertext Application Technology Working Group (or WHATWG) came the return of the slow progression of HTML.
As a designer/developer, I believe (X)HTML5 is a step backward in the development of the primary web language. One of the major reasons for the creation of (X)HTML5 was the fact that many of the websites on the WWW didn’t switch to well-formed XHTML. They blame website owners, but I blame the major browsers (Internet Explorer, Firefox, Opera, and Safari). It may just be a pet peeve, but I’ve always used well-formed HTML. Even before I knew XHTML existed, I was putting quotes around all of my attributes. I’ve also always used lowercase tag and attribute names. When I began using XHTML, closing empty tags made perfect sense. What doesn’t make sense is why others don’t follow suit. And I just can’t get myself to believe that browsers refuse to conform to a standard that’s been around for years.
The browsers need to quit improving their ‘tag soup’ algorithms and use a parser (as they should). If browsers began using DTDs properly, they would no longer need to rely on being backward compliant with the next version of HTML and web authors would no longer need to worry about outdated browsers. This is how I believe XHTML should be treated by every browser:
- Use an XML Parser
- Check the DTD
- Check the stylesheet associated with the DTD if the user has not disabled the DTD stylesheet
- Check for any user stylesheets
- Format the page accordingly
The pros to doing this are as follows:
- Within 5-10 years, we will no longer have to worry about backward compliancy.
- Regardless of how old a browser is, it will be able to display a page correctly decades from now because the styles for each tag will be the same across all browsers. The only features that will not be available are new features (for example: href attribute added to additional tags). A possible way around this is to turn to Javascript to save the day once again… each function would use Javascript to do events (href=: location.href=). This would require all browsers to parse javascript the same way.
- The option to disable the DTD stylesheet will give the user full control over the layout and design. No more need for additional stylesheets to clear browser styles.
- This will also allow users to create custom DTDs when working on websites or applications that require certain functions over and over again. For example: <edit type=”comment” id=”174″> – Edit link for comment #174.
Sadly, due to the lazy (or greedy) browser developers, we may never see something so wonderful in this lifetime. Maybe our children’s children will see the day, but even that is doubtful.
Tags: (X)HTML5, Apple, CSS, DTD, Firefox, HTML, Internet Explorer, JavaScript, Opera, Safari, tag soup, WHATWG, XML

October 21st, 2009 at 10:50 pm
[...] many already know, I’m not a fan of limiting an application to be backward compatible. I am, however, a firm believer of forward compatibility. I believe applications (any product [...]