Web design standards are constantly progressing, and Web browsers are constantly being updated to support these standards. Unfortunately, Web users don't always keep up with the pace, leaving Web developers in a bind: When do you drop browser version support?
If you've read any of my previous articles, you know that I am an advocate for standards-compliant CSS2-based layouts. They're more accessible, more portable, and much easier to maintain. However, even with all of the benefits of CSS2, many readers claim that lack of CSS2 support in older browsers is the biggest roadblock to adopting CSS2-based layouts. So should we stop supporting older browsers to adopt Web standards? I would argue that we should.
What qualifies as an "older" browser?
I am going to define an older browser as any version 4.x or earlier browser. Although some version 4 browsers were better than others, I really want to focus on actively supporting the latest browsers—which include Internet Explorer 5.5 and 6, Netscape 6.x, Opera 7.x, and the one exception to the 4.x rule, Apple's Safari.
And just to be clear, I am not suggesting that we abandon users of older browsers, but I am suggesting that we stop actively supporting those older browsers by creating workarounds like browser redirects, separate style sheets, and other tricks to get our sites to render properly on them.
Why not support them all?
For years, I've heard designers and developers argue for supporting all browsers; however, that just doesn't make sense when you look at the numbers. Internet Explorer controls roughly 95 percent of the browser market, with Netscape, Opera, and the rest owning the other 5 percent. So even though I think supporting as many older browsers as possible is a fine goal to have, I don't think it is the most important consideration—especially given the aforementioned market share data. And when you look at the cost involved in tweaking code and testing pages in all of the different browsers, it doesn't make financial sense either.
After years of somewhat reckless coding, we need to focus on the adoption of and adherence to W3C standards, not eternally supporting older, noncompliant software products. Accessibility and adherence to W3C standards are much more important factors to consider when building a site than whether Netscape 4.7 users can render your style sheet properly.
Assuming you're still with me, the following three steps will help you determine whether you (and your site) are ready to make that transition.
1. Analyze your current audience's browser usage
The first step in determining whether you can stop actively supporting older browsers is to analyze the browser stats for your current audience. The results of this analysis will affect how you approach the transition.
For example, if you find, like I did with my site, that more than 80 percent of your site visitors (that percentage is actually higher if you exclude crawlers) are using the latest versions of Internet Explorer, Netscape, or Opera, the decision to stop actively supporting older browsers is pretty easy.
In addition, if you are building intranets or other internal Web applications, and the organization supports only a certain browser, your decision is already made.
On the other hand, if you find that a significant portion of your audience is still using older browsers, you will need to make a choice. Do you continue to actively support those older browsers with workarounds and redirects, or do you encourage those users to upgrade to a newer version? Before you answer that question, though, consider the next two steps.
2. Analyze your site's existing code
The next step in determining which browsers to actively support is to analyze your own code. The quickest way to do that is to run it through a validator, like this one from the W3C. It will determine whether your code is compliant with W3C standards.
If you are writing valid, standards-compliant code or you are building a new site from scratch, you are in great shape. If your code isn't compliant with W3C standards, it will require more effort to make the transition to supporting only the latest browsers. After all, how can you expect visitors using older browsers to upgrade to a more standards-compliant browser if your site isn't compliant? So if, after step 1, you were ready to make the transition, you will need to assess the cost of getting your site compliant with W3C standards first.
In addition to validating your code against a W3C validator, you can use a service such as BrowserCam to view your site's URLs in a variety of browsers. Even if you're not actively supporting older browsers, it can be helpful to see how gracefully your site will degrade in various browser and OS configurations. Fortunately for my site, the only problems I ran into were with Netscape 4.78, which has trouble rendering CSS.
3. Assess the cost
Cost is the final consideration when determining which browsers to actively support. In this case, we need to examine both the cost to you and your company and the cost to the end user.
I have personally spent more hours than I care to remember trying to tweak pages or style sheets so that they would work on older browsers. The time and money spent on that tweaking can add up quickly. With most companies working with much tighter project budgets these days, it is more crucial than ever to make sure that you aren't wasting resources.
Another cost associated with actively supporting older browsers is a lack of innovation. If you are constantly aiming for the lowest common denominator, your site may be limiting the features and functionality that your company and your users need to be successful.
As for cost to the user, that one is pretty simple. Other than the time it takes to download and install the latest version of a browser, there is no direct cost to the user who chooses the upgrade.
Make your decision
Once you've gathered all of the necessary data, you can make your decision. For me, it was a pretty easy decision to make, since my site is compliant with W3C standards and more than 80 percent of my audience is using the latest browser versions.
If you are not writing standards-compliant code, you should be. However, the reality is that you probably aren't going to scrap all of your current code overnight. You will need to assess how much it will cost you to adopt standards before deciding which browsers to support. That cost can vary greatly according to the way your current site is built. For example, if you are using a CSS2-based layout already, the process will be much easier than if you are going to have to touch every single page of your site.
Either way, adoption of W3C standards by developers and browser makers is crucial if we are ever going to put an end to the debate about which browsers to support. For more information on the Web standards movement, check out Webstandards.org. The Learn section explains Web standards and how to adopt them.
For more Web design strategies, check out these other articles by Shawn Morton:
- "Don't approach site redesign blindly—analyze usage data first"
- "Get more accessible with CSS"
- "Download our site template and make the leap to XHTML and CSS2"
- "Ditch graphics-heavy pages: Create flexible CSS2 border effects"
- "Try CSS media types to build printer-friendly pages"
- "DENIM may be the rapid Web prototyping tool you're looking for"
- "Patterns provide the key to Web site development"
- "Lay out forms with CSS2 instead of tables"