Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Anyone who develops for the web quickly learns that it is a challenge to develop sites that work consistently across browsers. As browsers have matured, and particularly now that Internet Explorer 7 and 8 are starting to replace IE 6, this challenge is receding, but browsers have bugs, and always will. So why do browser bugs cause us so many headaches?
Like operating systems, web browsers provide the underlying technologies that applications (in this case, web pages and web apps) use to present themselves. Of course, unlike desktop applications designed to run on a single operating system, web pages and applications must run on all common browsers. When there’s a bug in an OS, application developers can use workarounds to avoid the consequences of that bug, because the operating system they’re developing for is effectively unique. On the web, however, a workaround for a problem with one browser might cause problems in another browser, or in future versions of the same browser. In essence, we must target multiple operating systems (browsers) with the same code base (our markup, styles, and so on), which is very difficult to do.