HTML and CSS Reference
Eliminated Version Targeting
Since rendering engines are constantly evolving, even the various versions of the same browser support standards
differently. To avoid losing users and potential customers who use older browser versions, web developers often
apply various browser- and version-specific solutions in the markup or style sheets. In other words, version targeting
means a considerable amount of additional work for developers, and the result works only in a certain version of a
Due to the advanced standard support of current browser versions, these codes are real threats to functionality or
code optimality, or both. Thus, version targeting should be eliminated, which, on the other hand, can cause problems
with backward compatibility . Although there are some techniques that can be used together with standard
compliance to maximize version independence (for example, resetting the style sheets of the browser), creating web
pages that work properly under all browsers and browser versions is unfeasible.
Browsers to be used for rendering version targeted web documents can be easily defined by a simple meta
declaration in the document head (Listing 1-3).
Listing 1-3. Version Targeting Example (Should Not Be Used)
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
The most up-to-date Internet Explorer version can be targeted by adding the IE=edge attribute value to the
content attribute of the meta element  (Listing 1-4).
Listing 1-4. Version Targeting for the Latest IE Version (Should Not Be Used)
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
Although targeted browsers might decide more quickly between old, backward-compatible and new,
standard-compliant rendering modes when such data are provided, version targeting should be totally eliminated.
Creating multiple versions of nonstandard markup for the same web page is not only costly but also
unsustainable. Moreover, version targeting and browser detection scripts are not reliable and cannot target the
correct browsers in many cases, because browsers often identify themselves as other browsers or other versions
of the same browser.
Standard-compliant web sites that work well under the currently used browser versions are also ready for the future
but might be rendered incorrectly in older browsers because of the incorrect standards implementations of their
rendering engines. Consequently, even with proper implementation, web standards do not work under all browsers.
The support for old rendering engines, backward compatibility , should be within reasonable limits. Why bother with
browsers that are no longer in use or the “very old” versions of major browsers? Netscape, for example, is “not widely
used anymore” just like Internet Explorer 5 or Mozilla Firefox 3.6. The major problem with this question is how to
define browser obsoletion . Can IE6 be labeled as “very old” and IE8 as “old”? The choice of supported browsers has a
large impact on the traffic and popularity of a web site, and the lack of support for older—even obsolete—browsers
can lead to loss of visitors. Satisfied users cannot be pushed to upgrade their browsers every time a new version
is released, and there are users who have to use a version-targeted corporate software. Because of this, there is no
ultimate decision regarding backward compatibility.