Webdesign Issues

Problems and Workarounds concerning Webdesign

Abstract

The Tao of Webdesign. Well, it's there, its XHTML strict with CSS. Sad that some browsers just can't work with it or have severe bugs. So I asked myself the question, what public do I have, and which browsers do I have to support? Support, in a sense of "it has to be reasonably useable an readable". Specifically, one Question was whether enough (more than 1 percent) of people will be using very old (and broken) browsers like Netscape 4.x or MSIE 4.x

The Browsers

For determining the capabilites of browsers, it was necessary to decide what browsers would have to be looked at. So I assembled some data from October 2004 on swiss Webpages.

A statistic from a high-traffic sports-tournament page. This gives us a hint on what the majority of unsuspecting users will use. Note that this, as a sports-event, will necessarily not be a representative sample of the whole population, as it is to expect that a whole lot of people are not interested in sports at all, or not interested in that specific sport; thus probably under-representing certain groups of people (thought to be the technical and the scientific community, for instance).

MSIE 6.x	84.23%
MSIE 5.x	 8.25%
Mozilla		 5.37%
Opera 		 1.37%
Netscape 3/4	 0.31%
MSIE 4.x	 0.10%

And one from a medium-traffic tech-news site. The Site is moderately technical and covers also socio-technical problems or politics related to technology. The sample is thus heavily skewed towards technically proficient people and early adopters. But having the early adopters in there makes it very interesting as a foreshadow of future development.

Mozilla		39.67%
MSIE 6.x	30.41%
kHTML		 3.99%
Opera		 3.49%
MSIE 5.x	 2.01%

We thus conclude that Netscape 4.x and MSIE 4.x are practically dead, and given the brokenness of those browsers, not worth the effort of supporting at all.

As general trends we can thus conclude that MSIE 5.x will fall below one percent in maybe a year or two, getting replaced by more modern browsers. Support for MSIE 5.x should only be done if its a small effort and does not interfere with other browsers. On a small rise seem to be Opera and kHTML (the latter a library used by Konqueror and Safari), definitly worth some support. The big hunk of people right now is using MSIE 6.x, so that is the main target, along with its contender Mozilla which might well surpass MSIE in the future.

Another point is the relative standard-adherence of the browsers. While Mozilla, Opera and kHTML strife for maximal W3C-compliance (and are sometimes very close to achieve it), this cannot be said for MSIE. Since the future of MSIE is largely unknown (Microsoft talk about a new version some time in 2007); the only sane choice is to adhere to the standards as much as possible. Specifically writing web-pages for MSIE 6.x seems short-sightened in this light. Due to the large installed base however, MSIE 6.x justifies for specific adjustments and bug-workarounds.

Standards

Given that there not only are standards, but those standards are evolving and mostly implemented in the browsers, it makes sense to adhere to the standards; and to adhere to the most strict version of it (the transitional-versions are, well, for the transition of pages from an earlier standard in order to simplify work). Well, but there is not only one standard, but many.

There is, for instance, the old HTML 4.0 which was surpassed by XHTML 1.0 (essentially this would be HTML 5.0). And there is not only XHTML 1.0 but 1.1 and now 2.0. According to the recommendations of the W3C XHTML 1.1 is a modularized version of XHTML 1.0; and XHTML 2.0 is something completely new and incompatible to anything else. Given that browsers don't understand XHTML 2.0; I can't discern the differences between XHTML 1.1 and 1.0 and given that the W3C itself uses mostly XHTML 1.0/strict, XHTML 1.1 and 2.0 can only be viewed as work-in-progress or proof-of-concept which right now aren't worth the trouble to implement.

When using XHTML 1.0/strict, we're bound to only make layout-changes through a Cascading Style Sheet (CSS). Now, there are different versions of those as well. There's level 1 and 2.1; and level 3 in development, and not all browsers support all elements of level 2.1. Luckily all relevant browsers support level 1. The choice making sense is to use CSS level 1, with selected elements of level 2, and to ignore that some features like :after and :before do not exist on MSIE 6.x; they aren't really of big importance, the layout will look a bit different, but so what.

Bugs

This is a bit MSIE 6.x-heavy, but what do you expect? Pretty much all of those are documented on Position is Everything. Of course I ran into several of them; one of them seemingly not turning on a horizontal scrollbar while positioning some text WAY to the right istead of just 350 pixels.

Peter Keel, 11.11.2004