Website Design
Design Considerations
Theme/Content
Website Structure
Page Layout
Aesthetics
Content vs Style
Maintainability
Tech Requirement
Future Scalability
Website Security
Browser Support
Graceful Degradation
Accessibility
Next section...
Webpage Coding

Website Design Considerations

Browser Support

Web standards are evolving and slowly everyone is coming round to the mainstream view. But there are still a great many older browsers out there that predate many of these standards, and when they encounter these new-fangled ideas they don't always render the pages in the desired way.

Just when you thought it was safe to start coding here is a cat for the pigeons...

Most of the incompatibilities relate to JS, DHTML and the DOM. To make pages which will work in all of the various browser types there is often a need for all sorts of trickery and substitution within the scripts to detect the browser and render appropriate code. Some of this is required, but some of it is not.

It should also be noted that however clever the code, the very act of attempting to detect the browser is fundamentally flawed! Clear identification is rarely possible, some browsers masquerade as others (Opera as IE for example). In short it is a complete jungle and the wrong approach.

However, whilst there are many browsers there are only a few DOM variations to support. The simplest way to assess compatibility is to test for whatever functionality it is that you require, and if it fails you know that it is not supported and must do something else.

There is no need to ascertain which browser is being used, just whether or not your code will work.

This method is generally known in JavaScript circles as 'Object Detection' and is infinitely superior to 'Browser Detection'.

The earliest browsers that you may reasonably encounter are Internet Explorer 4 and Netscape Navigator 4. Both are now officially obsolete, the number of people using these barely registers nowadays (2006). In their day these were state of the art, but that was a good while ago, and by modern standards they are both utterly useless and will not support a good deal of fundamental DHTML. But hey, since they are obsolete there really is no need to code for them any longer, so ignore any literature or references regarding cross-compatibility coding that is more than a few years old! (Especially if it demonstrates browser detection methods!)

All subsequent browsers are at least semi-compliant. Two that will be encountered regularly are IE5.0 and IE5.5. IE5.0 is fairly compliant, it renders most CSS and interprets the DOM reasonably well but it is a little vague about some of the finer points of positioning, otherwise applications work well enough. IE5.0 usage is slowly dying out, but it has not gone away yet and still needs to be supported for now.

IE5.5 is a bit different. It has real problems with hidden content and does not interpret DHTML display:none; correctly. Fortunately this is not a very common browser and also dying out, let's hope it's soon!

Beyond that there is IE6, now IE7 and on the other side there are the open source project browsers, Mozilla, now known as FireFox and Opera. All of these browsers are fully compliant, or as good as. (There are a few minor niggles here and there with some browser compliancies, but these are beyond the scope of this document)

You need to be aware of browser issues. You can choose your content and methods to avoid tripping over these issues, or you can code around them. The important point is that you should be aware that things may not always work as you intended and so you should have fall-back code or alternative methods in place, see 'graceful degradation' and browser support testing.

But if you use xHTML1.0 or later and write strictly standards based code you should not encounter too many problems, and most important of all; your webpages and applications will continue to work in compliant browsers for quite some time to come, this new standard is here to stay!

Show Style-Switcher...