Why do certain browsers insist on “correcting” coding errors? Over the last few months I have come across a few situations where Firefox – the darling of the web development world – “corrects” a coding error which, in my opinion, should not be corrected.
What’s the problem with that, I hear you ask? Well, in my view, this can be a dangerous situation if one tends to rely on Firefox as being the “perfect” browser for developing web sites. Personally, if I’ve made a coding error I want to know about it so that I can correct it and ensure, all things being equal, that the web page will display correctly in other browsers. I wrote about How browsers can be misleading when handling errors a little while ago in which I started to compile a list of such issues. Having recently came across another example, I thought I would add it to my list.
The case of the disappearing image: visible in Firefox, missing in IE7
I came across this when answering a poster’s question on a popular WordPress theme site. The poster was complaining that an image on one of their web pages could be seen in Firefox, but was missing when viewed in IE7.
A quick glance at the page Source showed that the image in question had a URI which began:
Hopefully you will have spotted the error: three forward slashes after http rather than the correct two. It seems that Firefox “knows” this is an error and “corrects” the mistake. Hence the image is visible in Firefox whilst, on the other hand, IE7 returns an error and the image is not loaded.
In my opinion the IE7 treatment of this coding error is correct: the link is not correct therefore the image should not be loaded. In this instance I think that the Firefox developers are wrong here and that such an error should remain exactly as it is – a coding error.
So, for future reference I’ve added this one to the list of misleading browser behaviours that I first wrote about in this article: How browsers can be misleading when handling errors.
If you have some other examples, please feel free to post a comment and tell me about it – or join in the discussion on the Forum.