Is it time to switch to writing your web pages using HTML 5? Should you ever consider changing to writing your web pages using HTML 5? Is HTML 5 the worst thing that has ever happened to the web?
The first thing to consider with respect to HTML is that even though HTML 4 has been around for well over ten years, most of the web is still written using HTML 3.2. Now HTML 3.2 introduced lots of new HTML tags to make up for the lack of a proper stylesheet standard. These extra tags that HTML 3.2 introduced some of which are still used on most web pages were intended to make up for a definency in a different area of the standards in that there was at that time no agreement as to what form stylesheets should take.
Even after CSS won that battle and became the standard and even after the last of the browsers that supported enough CSS to make it practical to use CSS with HTML 4 to define web pages, most sites remained unchanged. Even now when all the latest browsers fully support CSS 2.1 and most support at least parts of CSS 3, most web pages still use many HTML 3.2 tags instead of their CSS replacements.
If most sites still use HTML 3.2 and are still only "transitioning" to HTML 4 (which for many sites means they are using HTML 3.2 with the incorrect doctype since they are not in the process of transitioning at all), then what is the point of HTML 5? It could be many years more before even HTML 4 takes over any significant fraction of the web. Well, if anything, with the way that HTML 5 is being designed it will very rapidly take over from HTML 3.2 as the way that most web pages are coded.
The reason theat HTML 5 will be adopted so quickly as the new standard is not because it is so fantastically brilliant that everyone will immediately rewrite all their pages to use it. The reason is that those developing HTML 5 are incorporating every one of the bad practices that web sites use that were a part of the HTML 3.2 standard as well as a number of proprietary tags that web sites use into their new standard. The new HTML 5 standard will basically include all the garbage tags that HTML 4 got rid of and more junk tags as well. So any web site using any sort of HTML will just about automatically qualify as using HTML 5.
The new tags proposed for HTML 5 can be divided up into several groups. The first group of tags are those that were deprecated in HTML 4 because using them is a really bad idea. They used to be needed back when they were the only way to achieve a given effect but they ceased to be needed when better ways to achieve the same effect were introduced. That better ways were going to be introduced was the reason that HTML 4 deprecated them. Now deprecated means that they are flagged for deletion and are only continued to be supported for backwayds compatibility while pages are transitioned to stop using them. HTML 5 has taken the huge backwards step for these tags by reintroducing them simply because browsers support them and people use them. This removes one of the reasons for people to update their web pages to get rid of these codes and replace them with something better.
The second group of tags are, as with the first gorup, being introduced because web pages use them. This group differs from the first group in that they were never a part of any previous standard. The prime example here is the embed tag which was a proposed way to attach external files such as audio and video into the web page. This particular tag didn't make it into the standard because the object tag was adopted for that purpose instead. The reason why people continued to use the proprietary embed tag instead of the standard object tag is that not all browsers support the object tag properly. Now using the embed tag in that situation would be reasonable except that just about all the web pages that use embed use it for the browsers that do support the object tag properly and use the object tag instead for the browsers that don't fully support it. The issue here is one of browser support and being able to code properly to work around browser's lack of support for the standards. Thes HTML 5 changes will not fix this problem.
The third group of tags include tags intended to replace the object tag for specific types of data. This includes audio and video tags. Again here there is a tag already defined which should be able to properly handle this but not all browsers support the standard for that tag correctly and so rather than trying to encourage browsers to support the standards that already exist HTML 5 is introducing additional alternatives for browsers to not support properly.
The fourth group of tags allow you to break your web page up into sections and to define which pieces of the page are the header, footer, navigation etc. Now within the web page itself these can already be adequately defined using div tags with either id or class attributes to define which piece of the page is which. The new tags do have a couple of uses though. Firstly there are some situations where it would be useful for browsers to be able to distinguish between those parts of a web page. Where there is limited space to display the page on the screen such as with a handheld device, being able to tell what part of the page is the main content and which is the navigation so as to be able to toggle between them rather than trying to display both at once might be useful.Search engines will also be able to more easily tell what the page is about if they can identify the header, footer, navigation etc and skip over those parts in order to examint the actual content. Finally, these tags may also be useful if you have an automated process building some sort of contents or index of what is on the site.These tags are a good addition to HTML although not ones that by themselves would justify adopting a whole new standard.
The last group of tags and attributes are those that are actually useful if not essential additions to HTML. Many of these relate to form fields and include such things as adding combo boxes, and date and colour selectors to forms as well as attributes to allow some level of field validation to be built into the form fields themselves. As browsers implement support for this part of HTML 5 it may be worthwhile to actually adopt the use of HTML 5 just for those pages that need these additional features.
The one final thing that we need to consider with HTML 5 is that while HTML 2 through HTML 4 have all made use of SGML (which is the standard for defining markup languages), HTML 5 has abandoned those standards. You really have to wonder about a new standard that introduces previously deprecated features becase people still use them and which doesn't even use the standards that apply to developing markup standards.
This article written by Stephen Chapman, Felgall Pty Ltd.