Do you really need to test all browsers? Is it even possible? Are you still testing Netscape 4.7 or IE 5? Which browsers are you supposed to test? Which can you ignore? Which browsers need to render your page pixel perfect, and which browsers should render the page, but if they break, you’re willing to live with that? And, for the browsers that you do plan on supporting, what operating system are you going to test them in? There’s Windows, Mac, Unix and Mobile to consider, but then there are various flavors of each: Windows XP, Windows Vista, Windows 2000, Windows ME, Windows 98, etc.
Graded Browser Support
Yahoo! Developer Network provides a list of what they call "grade-A browsers" which has become the defacto norm for browser support. Their article Graded Browser Support is a very clear articulation and formalisation of what many of us have been thinking about and implementing. If you haven’t been thinking about it, you should!
The general idea is that there are 3 classes or grades of web browser:
- Grade-A: list of browsers we should thoroughly along with which operating system they should be tested on.
- Grade-C: list of browsers that should be able to present the core functionality & content, but don’t need to be pixel perfect.
- Grade-X: list of less common browsers and less common operating systems, for which Yahoo! (and you) need provide no testing and no support.
At the time of this writing, grade-A browsers include IE7, IE6, Safari 3.1, Firefox 2 and 3, and Opera 9.5. Grade A operating systems include Windows XP, Vista and 2000, and Mac 10.4 and 10.5.
At the time of this writing, neither Google Chrome or Internet Explorer 8 are included in the Grade A list. IE8 is not on the list since it is still in beta, and Chrome may not be on the list either because it is too new (the page is updated quarterly), it is too rare ( under 0.7% of the browser market share) or because it has a very similar rendering engine to Safari 3.1 (AppleWebKit/525.13 versus AppleWebKit/525.19).
I was surprised to find Windows 2000 still on the list of supported operating systems, and assume that will be downgraded soon. I am not copying the list in this article because whereas Graded Browser Support is updated quarterly, this page won’t be. So, bookmark Graded Browser Support to keep up to date with modern browsers and to stay abreast of what you should support and QA.
Which browser gets put into which grade depends on the market share. If you have a particular population that visits your website, your Grade-A browser may be different. For example, if you are building an Intranet for a company in which all employees are provided with a specific operating system, then that is the only operating system that should be in your grade A listing. Do take a look at your sites web statistics to determine if you have a large population of mobile visitors, old Mac users, unix users or some other population. Generally, the Graded Browser Support should work for 99% of audiences, but for your audience (or the audience you expect), it may differ.
Steps you can take
You will need to check your site in all grade-A browsers. However, there are some things you can do to make the whole process a lot easier:
- Develop in Firefox with Firebug.
- Write valid code, closing all of your elements
- Add a space before the slash in self-closing, or empty, elements so very old browsers don’t choke: ex. <br />
- Do NOT include the XML declaration at the top of your XHTML, as it breaks IE5 and sends IE6 into quirks mode.
- In CSS, first create compliant, valid CSS code for compliant browsers before creating fixes for non-compliant browsers.
Keep up to date on what browsers to support by visiting the Yahoo Graded Browser Support article on a quarterly basis (as that’s how often they update that article). Market Share is a great resources to see the current (and past) popularity of the various generally available browsers.