Those Cross-Browser Blues: How To Develop Web Sites For Both Internet Explorer And Firefox
If you're trying to develop sites that will be compatible with IE, Firefox, and Opera, watch out -- there are still a lot of speed bumps out there. We examine six of them and let you in on some solutions.
It's no surprise that most of the cross-browser issues out there center on Microsoft's Internet Explorer and the Mozilla browser family -- mainly Firefox.
- Why Rational Development Solutions for Power?
- 2012 IBM Chief Information Security Officer Assessment
Love it or hate it -- and let's face it, most of us probably either hate it or manifest mere tolerance for it -- Internet Explorer is here to stay, the way Windows itself is probably here to stay. According to the most recent W3Schools report, IE in all its incarnations commands about 58% of the browser usage pie, down from its high of 90% or more, but definitely still large enough to matter.
Then there's the question of which version of IE. IE 6 is still the most widely used version of IE (37%), but IE 7 is gaining fast -- up from 13% at the start of 2007 to nearly 20% of the total. For developers, IE 7 can't catch on fast enough, since it fixes many things that have long been broken in IE 6.
But the introduction of IE 7 is still no cure-all. There are many IE issues that remain outstanding; getting the majority of existing IE users to work with IE 7 (or later) is a slow process; and existing Web sites that are dependent on an IE-specific technology, like ActiveX controls (about which I'll have more to say later), may have trouble switching away to something more browser-neutral.
Against all of this, the Mozilla browser family -- first Netscape, now Firefox -- has made serious inroads. Netscape was the first major Web browser on the PC (aside from NCSA Mosaic, of course), but over time it stagnated and lost out to IE's ascendancy. In only a couple of years, Firefox has turned that situation around and carved out a significant niche across multiple platforms -- 34.5% and climbing, according to the aforementioned report. That said, as Firefox caught on it became clear that many existing sites had been written to favor IE's interpretations of things and didn't render correctly in Firefox.
This situation doesn't seem to be quite as dire as when, say, Firefox was still in its 1.x incarnation. Most broadly trafficked sites today do render properly in both browsers, with only relatively minor variations between them. But Web designers still have to accommodate both IE and Firefox as elegantly as possible -- and to accommodate the smattering of other browsers that have grown in popularity as well: Opera, Safari, and Konqueror, among others.
Incidentally, while Opera doesn't command a very large stake of the browser market, it has a fiercely devoted following. It hews most closely to the Mozilla way of doing things as well, so coding for the most broadly accepted set of Web standards out there will work best for Opera, too.
In the following pages, I look at six major issues that developers should keep in mind when trying to create sites that work properly across all browsers, and provide some possible solutions as well:
- Quirky Implementations Of Layout Functions
- Proprietary IE-Only HTML Tags
- User Interface And Keybindings
- Planning For The Future
Keep in mind that (as we all know) there are so many factors operating when you develop a Web site that not every solution may work for every situation. Also, these categories aren't all-inclusive or closed-ended; something that might be in one category may also lapse slightly into another, or there may be other things I haven't explicitly mentioned that could be dropped into any of them.