In An Ideal World We’d Be Free To Choose
Browser makers always go on about how their product is so effective at adhering to web standards. Microsoft is always criticised for how badly Internet Explorer deals with the same issue. Both of those claims have always been exaggerated wildly. Yet are we now finally reaching a stage of standards adherence and consistency between browser products?
A pain for designers
We web designers are always talking about the difficulties of designing web sites that will be compatible across various browsers. And new version of the likes of Firefox, Safari and Opera always trumpet about how they so closely adhere to standards. Usually they direct you to look at how well their browsers deal with the Acid test, as a demonstration of how good their product is.
From a purely design point of view, in terms of rendering CSS correctly, the biggest advantage of web standards is that it means that designs will be rendered consistently. And for a long time we’ve never had that. Regardless of how great a browser was supposed to be, there was always some glitch or other.
Even the supposed standards compliant browsers couldn’t render pages consistently. I know, there’s been numerous times where a page that looks fine on Firefox has layout disasters on Opera or Safari, or where Firefox has failed to deal effectively with mouseover menus. And of course Internet Explorer 6 has been a law unto itself, and Internet Explorer 7 still behaving unusually from time to time.
While being the most criticised for lack of standards compliance, as a designer I’ve always been aware that glitches in Internet Explorer are easier to fix (‘Be Realistic, Be Like Internet Explorer’). Unlike the other browsers, you can specify conditional stylesheets for IE - stylesheets that only load if a particular version of IE is being used. My biggest problems have always been tracking down CSS hacks that deal with inconsistencies between Firefox, Safari and Opera. They seemed to exist in some kind of idealised world - where they didn’t need to have conditional stylesheets because, hey, they were all compliant so there wouldn’t be any problems! Some hope.
But then one day everything pretty much worked
The last couple of weeks I’ve been working on a relatively complex site design. I tend to work initially previewing the site in Safari, as the browser that most accurately renders the CSS to what it’s supposed to look like. I usually get a reasonable way into a design before I start looking at cross browser issues and tracking down fixes.
So earlier this week I decided to check out how it was rendering in the latest versions of the other browsers. I was very aware that with the addition of Chrome, there’s another browser that has to be addressed in terms of compatibility.
Across the latest versions of Firefox, Opera, Safari and Chrome, there was one single glitch based on my initial CSS. That was a Chrome issue related to margins and a fixed footer, and was solved in the main CSS file without any hacks (i.e. the solution fixed the Chrome issue but was relevant and harmless to all the other browsers).
Internet Explorer, both versions 6 and 7, still have problems of course. But I know that I can fix them without having to hack the main CSS documents. They at least have a practical solution to a known problem with the conditional stylesheets. And with Internet Explorer 8 looking to genuinely be compliant and consistent, one day (although it will be years away given how many people still use the antiquated IE6) the problems might be eliminated altogether.
Be idealistic when it’s practical
Non-Microsoft browsers used to piss me off as a web designer. Internet Explorer always had problems and an obvious and reasonably elegant solution. Firefox, Safari, Opera etc were like the worst kind of idealist - they wouldn’t address practical problems because those problems weren’t supposed to exist. The fact that they did exist was conveniently glossed over. And so a designer had to find arcane hacks to CSS code to make it work properly.
Now, perhaps, we’ve finally reached a stage where those problems are ending. Where I can design with one browser and be genuinely confident that it will render the same in the others - or at the very least it will only glitch in Internet Explorer allowing me an easy fix. Long may it continue.
