The Web Would Not Exist Without Standards

While not all browsers follow the current web standards, the web itself would not be able to exist in the form that it is in if it were not for the web standards.The current standards for web pages at the time of writing are HTML 4.01, CSS 2.1 and ECMAScript 5 but the point of this discussion will be unaffected by the release of any replacement standards. It is these standards which allow you to write one web page that will work in basically the same way regardless of which browser that your visitor is using.

Browsers can of course also implement their own proprietary code that only works with their particular browser. That's how innovation and improvement to the standards happens. One browser tries out a new command of some sort. If it proves useful then other browsers will add support for it as well and it will then become a de facto standard. If it is then put to the approriate standards committee it should then find its way into the official standards as well.

Without the standards the innovation and development can't exist.

Back when the web first started to gain popularity with the general public there was basically only one browser in common use and that browser was Netscape. With only the one browser being used by almost everyone the browser writers working on that browser didn't need to follow the standards if they didn't want to since people would write their pages to work with their browser. Effectively what their browser supported was the standard. As HTML was still at an early stage of development there were all sorts of tags added to HTML at that point many of which did things that ought not to be done with HTML at all.

Things became more complicated around about version 3 of that browser whenit started to get serious competition from another browser (Microsoft's Internet Explorer 3). IE3 provided its own set of proprietary tags different from those in Netscape 3 and as IE3 started to gain in popularity it started to become necessary to create separate versions of each web page directled at each of the browsers so that people could view the page that worked best in whichever browser they were using.

The only reason this worked at all was because of the HTML standards. Both browsers supported the standard HTML tags and so it was only the proprietary ones that differed between the browsers and so it wasn't necessary to completely rewrite the HTML for each browser and a page that was intended for one browser did sort of work in the other. Now people could write their HTML following the standards and have their page work the same in both browsers but then they missed out on the additional functionality that the proprietary tags offered.

By the time the version four browsers were out the useful tags had been added into the standards and were supported by both browsers resolving most of the HTML conflicts. It became possible to write HTML with most of the more advanced features while following standards that both browsers supported. The browser wars didn't end though because the conflict moved from HTML to JavaScript.IE4 added their document.all DOM for accessing the web page while Netscape 4 introduced their document.layers DOM.

This JavaScript conflict was resolved in a completely different way to the way the HTML conflict was resolved as the standards body introduced a completely different DOM to either of those tha the version 4 browsers supported. The standard DOM was introduced into the next version of all the different browsers resolving that conflict although IE continued to support their proprietary DOM as well for backwards compatibility with scripts written specifically for IE4. While there are still a few areas of JavaScript for which there is no official standard and which IE therefore handles differently to the other browsers it is relatively easy now to use feature sensing to resolve these issues and get a script to work in all browsers.

The next conflict to arise was with CSS. By the time Microsoft released IE5 they had pretty much won the browser wars as their share of the browser market was climbing rapidly as Netscape users switched over. One of the big benefits of IE5 (apart from supporting the standard JavaScript DOM) was the introduction of support for the CSS 2 standard. Unfortunately this standard wasn't quite finished yet and so Microsoft introduced support according to the draft standard that existed at the time. There were a few changes made before the final standard was released and so IE5 ended up not following the standard that they had tried to implement just a little too soon. This led to Microsoft having to find a way to be able to tell IE6 whether a web page expected to have the CSS interpreted the IE5 way or the standard way.

Eventually a number of different standard compliant browsers were released in competition to IE6 and that led to a slow move away from IE6 simply because it didn't support the standards as well as the competing browsers did (even though it was the most standard compliant browser of all at the time of its release).

That IE6 doesn't fully support the current standards now acts to hold back innovation since time has to be spent on getting web pages to work in that older browser that would otherwise be able to be spent on trying out the new proprietary tags that the latest generation of browsers are experimenting with in the hope that they might prove useful enough to be added into the next version of the standard.


This article written by Stephen Chapman, Felgall Pty Ltd.

go to top

FaceBook Follow
Twitter Follow