In an ideal world, all Web browsers would
flawlessly support a common set of standards, and Web builders
could design their sites knowing that they would display properly
for every visitor. Unfortunately, the real world is far from that
ideal. The Web viewing public uses a wide variety of browsers and
platforms that are plagued with a bewildering array of proprietary
features and incomplete support for Web standards. Even the most
standards-compliant modern browsers suffer from annoying
inconsistencies in the way they render pages.
Creating Web pages that display as intended in
all Web browsers is a practical impossibility; just supporting the
more modern browsers requires all manner of CSS hacks and
workarounds. Supporting older browsers often requires browser
sniffing scripts and duplicate Web pages tailored to specific
browsers. What a mess!
As a result, Web designers are forced to choose
which browsers and platforms to design for and which browsers don’t
merit support. Whenever Web builders gather, a common discussion
topic is what browsers they currently support and how they arrived
at that decision.
To support or not to support…
The question of Web browser support tends to
ebb and flow like the tides. It’s a hot topic for a while, and then
it retreats from the spotlight, only to return with renewed vigor
later. It appears to be on the upswing recently. That’s probably
due, at least in part, to the rapid growth and acceptance of
Mozilla Firefox after it reached its version 1.0 milestone. This
seems to have created a general perception among Web builders that
we’re experiencing a shift to a new generation of browsers.
Furthermore, many Web builders appear inclined to support a limited
number of browsers, so adding support for a new browser, such as
Firefox, often means dropping support for one of the older
browsers.
Ethan Marcotte created a stir with his
blog entry in which he stated that, although IE5/Mac was
an important browser (note the past tense), he decided that it was
no longer worth the extra effort required to support that browser
with the full range of features on his sidesh0w.com site. Many
comments on his site and other blogs question the timing of his
decision, but few dispute the inevitable transition of this
venerable browser as it fades from the Web mainstream into the
status of a historic relic from a bygone day.
So, the question among Web builders isn’t
whether to cease supporting older browsers at some point, it’s how
to select which browsers to support and when (not if) they should
cease supporting older or less popular browsers.
Browser support based on statistics
Many Web builders let statistics guide their
decisions on which browsers to support. They use strategies such as
supporting the top five browsers or dropping support for an older
browser when it drops below some percentage (usually one or two
percent) of the Web user population.
Many of those Web builders base their browser
support decisions on general Web usage statistics from sources such
as WebSideStory. However, in Eric Meyer’s article,
“Don’t Care About Market Share,” he makes a strong case for why
you should base any Web analytics on your own site’s server logs
instead of the browser usage patterns on the Web as a whole. He
also makes the point that you need to know the audience for your
Web site and base your browser support decisions on the needs and
usage patterns of that audience, rather than some generic Web
demographic.
Interestingly, some of the comments on his
article point out a potential problem with site-specific
analytics—they can become self-fulfilling prophecies. For
instance, a site that doesn’t display properly in a given browser
will alienate users of that browser. This lowers the usage stats
for the browser, which could then be used as a rationale for not
providing better support for that browser.
Jim Byrne, writing on the Guild of Accessible
Web Designers site, argues against
the statistical approach to browser support decision making. He
makes a case for the Web being about making content accessible to
everyone and the need to avoid disenfranchising minority browser
users. He’d like to see every Web site fully support every browser
and user agent. That may not be practical in the real world, but
it’s important to remember that dropping support for a browser
means that your site will become inaccessible to users of that
browser.
Suggestions for enlightened browser support
A primary goal of most commercial Web sites is
to make its content available to the biggest possible audience.
That includes supporting multiple browsers and platforms, as well
as assistive technologies for handicapped users. Accessibility also
makes good business sense. After all, you don’t want to
disenfranchise any potential customers. However, reality demands
that you balance the desire to support every possible user agent
against the time, effort, and cost to do so.
I don’t believe that the best way to choose
which browsers to support is to cease supporting a browser when its
usage drops below some arbitrary level. Browser usage statistics
provide an important data point in making the support decision, but
it’s not as simple as dropping support for a given browser when it
reaches a certain percentage of your visitors.
Another important part of the browser support
equation is how much time and trouble is required to support a
given browser. It can take a lot of CSS hacks and other workarounds
to achieve precisely the same effects across multiple browsers and
platforms. However, sometimes, it doesn’t take that much extra
effort to maintain some level of support for an older browser.
Often, you can design your site to avoid things that create
problems for any browser, old or new. That makes it easy to support
a broader range of browsers with less effort. If you want to add
features to your site that older browsers don’t support, try to
implement them in a way that degrades gracefully in older browsers
(i.e., the new feature may be missing in the older browser, but the
page remains attractive and usable). Always supply at least a
minimally-styled text version of your site content to every
visitor, regardless of what browser they use.
Finally, don’t automatically ignore any
browser, no matter how small its market share. Always consider the
impact of not fully supporting a browser and how that will affect
the people who try to use that browser to access your site. Make a
deliberate decision about supporting a browser after carefully
weighing the cost of supporting the browser against making the site
inaccessible to users of that browser.