HTML 3.2

Even though this version of HTML was introduced in January 1997 and replaced in December 1997 it is still the most popular version still in use almost twenty years later. There are a number of reasons for this.

One reason is that it took some time for browsers to properly support the new HTML version and even longer for people to stop using the older browsers that didn't support it. As late as 2004 there were still enough people still using the Netscape 4 browser which didn't properly support HTML 4 for people to still have a reason to use HTML 3.2. So effectively all web sites created between 1997 and 2004 could say that they were transitioning from HTML 3.2 to HTML 4 and used the HTML 3.2 tags that they needed to for their site to still display properly in Netscape 4. This covered a very popular period for people to start creating web sites and so a great many learnt this hybrid variant of HTML and created sites using it. As this code continues o work in more modern browsers there is little incentive for many of these sites to ever finish transitioning to HTML 4.

Few people ever take a formal course in writing modern HTML. Most learn HTML by looking at the source code of other web sites and use whatever works. With all of the sites originally produced back when HTML 3.2 was necessary, there are lots of these example sites that people copy from that use HTML 3.2 and so new sites get created that also use HTML 3.2 The number of sites that have yet to finish transitioning to HTML 4 is growing.

Even those who are responsible for the HTML standards have recognised that most people are simply going to use the antiquated tags that they are familiar with instead of updating their HTML code to use the latest version. Instead of removing support for all the obsolete HTML 3.2 tags in the new HTML 5 that was released in 2014, those tags were retained with their status downgraded to indicate that they were not going to be deleted (deprecated means obsolete and to be deleted soon). Even those proprietary tags that had been needed as late as 2012 to work around the lack of support for the correct HTML 4 tag but which were no longer needed once Internet Explorer 6 had died were added into the standard two years after the need for them had ceased to exist simply because those who learnt HTML by copying antiquated code would still continue using them.

As a result HTML 5 is a combination of new tags that have become necessary due to the changes in the way the web is used now compared to how it was used in 1997 and a whole series of commonly used but completely unnecessary tags from HTML 3.2 (as well as some that were proprietary) simply because they know that the majority of people writing HTML will stick with the HTML 3.2 tags that they know.

When it comes to those creating web pages as a part of their hobby interests you can't expect them to update their code when the standard changes. The only time that they will update their code is when they want to do something that the more modern browsers support but where the antiquated code they are using prevents them from using it. In those situations they might update that part of their code in order to get the feature they want to work but will likely not make changes beyond that.

Professionals creating web pages will keep more up to date and will use the latest version that will fit with the site they are working on. In many cases these people will be working for companies where their bosses are primarily concerned with how the site looks and who will care little for what code is used to make it look that way. The professionals will therefore be unlikely to be given much time for making changes and will therefore need to mainly patch what is already there rather than having the opportunity to completely rewrite the code to the latest standard. Of course the need to make web sites responsive so that they work with the huge number of different screen resolutions now in use means that a good many of the old approaches will no longer work and that at least some modernisation of the HTML throughout the site will be needed. These sites will therefore at least have less obsolete HTML 3.2 tags than the vast majority.

Very few sites have an incentive to not use any obsolete HTML 3.2 tags at all (including those reintroduced in HTML 5 to support IE6). Sites that actually belong to the professionals where they want to showcase their own abilities in order to get new clients are probably one of the most common that will actually use HTML 4 strict plus the new tags that HTML 5 provides that are actually needed.

For as long as all modern browsers continue to support the obsolete HTML 3.2 tags, people will continue to use them in web sites. Any browser that doesn't support these tags (and so breaks all these sites) will not achieve enough market share to compete commercially. So can anything be done to encourage people writing HTML to move out of 1997 into the more modern world? Probably not much.

The first thing that would be necessary if anything is to be achieved in getting HTML 3.2 code updated then a mechanism is needed that allows web pages to be viewed with HTML 3.2 turned off. This would at least allow people to see if their page would be affected if browsers were to stop supporting the obsolete tags that were supposed to be removed by now. This would at least allow those with no knowledge of HTML to be shown what impact removal of support for these prehistoric tags would have and possibly result in a little more time being provided for bringing professionally built sites more up to date.

We could in fact do this with any modern browser that supports user stylesheets by creating our own stylesheet that removes the support for all the obsolete tags and attributes. We'd simply need to define styles that override the default styles applied to these obsolete tags to undo most of the effect. Undoing the additional processing that some of these tags imply would be slightly more complicated - particularly for those that allow for a fallback where you want the fallback to be applied. Perhaps the simplest solution is to simply hide the content of those tags that load other content in a non-standard way.

The following in a user stylesheet will disable the effects of many of the obsolete HTML 3.2 tags (as well as some of the now obsolete proprietary tags accepted into the HTML 5 standard simply because too many people use them). Note that these don't need to override styles actually attached to the page as those will already override the tags/attributes that these are designed to 'turn off'. Suggestions for improvements to this code are welcome.

isindex, applet, iframe, frame, embed, noscript { display : none;}
xmp, plaintext, listing, font, basefont { display:inline; color:inherit; font:inherit; font-size:100%; }
dir, center { text-align:inherit; }
s,strike,u { text-decoration:inherit; }
*[align] { text-align:inherit; }
img { margin:0; border:none; }
ol { list-style-type:decimal; }
body { background-color:transparent; }
table,tr,th,td { width:auto; height:auto; background-color:transparent; vertical-align:inherit; border:none; }


This article written by Stephen Chapman, Felgall Pty Ltd.

go to top

FaceBook Follow
Twitter Follow