Building a Multi-Browser Web Page Testing Suite
May 14, 2009
Netscape is dead.
Other browsers are faster, cleaner. Internet Explorer 8 and Firefox own most of the market. Google Chrome is rising fast. Safari and Opera continue to have their loyal supporters.
What certainly hasn't changed is that you need to test your web page designs in all of them. Hence my 2009 Update - Browser Web Page Testing Suite, with download links, percent market share per browser, and Acid2 and Acid3 test results for current and prior versions.
November 25, 2007
Whew. Deep breath.
Interestingly, I had developed the basic code some four years ago, and that menu (the deeply-nested, complex sample menu featured elsewhere on this site) looks and functions the same then as it does now. The only catch: it only worked under Internet Explorer.
It took four years of on-again, off-again work to get it to work consistently across browsers. Standards-compliant code wasn't the answer: standards-compliant code did not work correctly in any of the browsers.
Inconsistencies are frequent and significant. CSS or Cascading Style Sheets implementations should be consistent, but aren't. Some browsers add padding to a defined width or height; others include it within that width or height. Some allow vertical centering within table elements, some in all, some in none. Some handle fonts differently from others. All have opacity options, but all are handled differently. Some have useful filters. And so on, and so on ...
Here alone, a resolution seems far away. Internet Explorer's Trident engine, in 2007, still ranks worst at rendering CSS. There are also Mozilla's Gecko, Apple's Safari and WebCore, and Opera's Presto technologies, and others. For the whole ugly picture, just scroll down the Comparison of layout engines (CSS) at Wikipedia.
(I explore some of the SurgeMenu positioning issues in SurgeMenu and Positioning Code Variations, if you're interested.)
Finally, even HTML can be rendered differently by different browsers, and this is independent of which HTML or XHTML standard and sub-specification is followed.
I did eventually get SurgeMenu to work in all of the browsers I tested it on. It seemed forever.
One day, I hope, all browsers will fully comply with a single clear, functional standard. Until that day, you'll want to test your web page designs in all of the leading browsers, in all major versions in current use.
Here they are:
Browsers for Windows
Furthermore, you could test the linux browser Konqueror on a Windows platform, either via a dual-boot setup, or running linux inside a Windows virtual machine. I personally prefer the latter, and would suggest Kubuntu or another linux distribution that includes Konqueror by default. Links for the same:
Browsers for Mac
Browsers for Linux