Path // ā†’ Accessibility ā†’ BROWSER SUPPORT

Browser Support

When working on a new site or a redesign of an existing site, it is a good idea to decide what technologies you’re going to use throughout, and thus, what browsers you will actively support. This will allow you to make use of the advanced features present in more advanced browsers.

Clock This page was last updated on 2012-08-21

The Difference in Capabilities

There are a number of popular browsers available, and each one supports a different subset of HTML, CSS, JavaScript, and all the other supporting technologies we use every day. At some point in the far future when we travel around in jet packs, we’ll be able to rely on all browsers to support whatever we throw at them; but until that day comes, web designers will always have to keep track of which browser supports what, and which versions of these browsers have “bugs” in their implementations.

These “bugs” are generally the things that cause the most grief. A browser bug is when something seems to work, but under some set of circumstances, the display won’t look as you had expected. You can lose hours of time trying to track down an obscure rendering bug — avoid ’em if you can.

As you progress, you will begin to get a feel for which browsers are the most reliable. Most modern browsers have strong standards support.

  • Firefox supported advanced CSS and JavaScript when it was released even at version 1.0, and continues to improve.
  • Safari on the Mac and Opera on all platforms have strong standards support.
  • Internet Explorer 6 is often troublesome, but the many bugs it contains are pretty well-documented on various sites, so once you do hit a wall you can be sure that someone else already pulled their hair out so you don’t have to. If you’re really lucky they’ll have written up an article on how to fix it.

Because version 6 of Internet Explorer went without an update for years and years (and years), it is seen as the baseline that all sites should support. Internet Explorer 7 promises to fix many of the most annoying bugs. Once Internet Explorer 6 has become naught but a distant memory, we web designers will have a very good assortment of standards-compliant browsers to work with.

On the other end of what is a wide and cratered scale, the browsers that came out during the infamous browser wars — Internet Explorer 4 and Netscape Navigator 4 — are both very poor browsers. They will interpret the same code differently, and even basic CSS and JavaScript are unsupported. In most cases, you can avoid testing in these browsers, as the correct use of CSS and unobtrusive JavaScript that you are taught at HTML Source will mean that visitors to your sites that are unlucky enough to have to use these browsers for whatever reason will be served a page that is still usable without the bells and whistles.

Degrading Gracefully

“Graceful degradation” is a term you will hear a lot about when you start designing using CSS, and writing modern JavaScript. It breaks down like this: most users will arrive at your site with a browser that supports style sheets and JavaScript; and some users won’t. “Most”, in this case, can probably be taken to mean over 90%.

So, because the vast majority of your users will benefit from prettier pages or more useful interactions, we should all use them. However, we should do so in a way that doesn’t require that the user supports them.

This is possible, and various technologies have been designed with this specifically in mind — CSS being the textbook example. You can apply a style sheet to a page, and it will make the page look nice in those browsers that support it. But it doesn’t affect users with unsupported browsers, who are still able to access and read the (albeit a little more plain) page.

This is what we should always aim for. The 5% or so of visitors with very old or exotic browsers are still worth supporting, and if you write your sites well, it shouldn’t take much extra work to make your site accessible to as wide an audience as possible.

Making the Call

So, is there an easy way to choose which versions of what you should try to support? My own advice would be to aim high. That means:

  • All sites should use CSS for formatting and layout.
  • JavaScript can be useful, so use it when it’s appropriate. Make it unobtrusive so that it improves most users’ experience of your site, but is not required to read your pages. When used in limited amounts and for logical things like form validation (and coded with no errors), JavaScript can be a tasteful addition to any page.
  • It’s OK to use Flash if you have a definite reason to use it. Flash should be limited to things like interactive presentations and animations that are impossible with CSS/JS alone. Things like your site’s basic navigation should not be made in Flash.

If you already have a site online, you can monitor your server logs to see what browsers your visitors are using. Every time anybody views a file on your site, a record of this download is saved in your server’s access log. Many web hosts will perform some analysis of these logs and make available reports to you, from which you can check, for example, that only 0.5% of your audience use versions of Internet Explorer older than version 5.5. These are good numbers to know!

Once you’ve made a decision on which browsers to support, test your site so you’re sure everything works.