According to Net Market Share, Internet Explorer 5 registers no market share and Internet Explorer 7 has 0.28% (about 1/4 of one percent) market share on the desktop as of November 10th, 2015. One would think IE 5 is dead and can be forgotten and left in the history books now. The truth is, Internet Explorer version 5 as well as 6, 7 and 8 are still widely used behind corporate firewalls and is something application developers may need to understand when working with line-of-business applications.
You may be thinking I'm crazy for implying that companies are still running Internet Explorer 5 in 2015. As of 2015, many large companies have Internet Explorer versions 8 or 9 installed on their workstations. Both these versions of Internet Explorer have IE 5 inside which is commonly called "Quirks Mode". Each version of Internet Explorer can emulate several of its previous versions. So, let's take a closer look at this.
Internet Explorer can be configured to emulate a specific previous version of the browser. Active Directory Admins, IIS Admins and application developers all have the ability to configure Internet Explorer to render web pages using version emulation.
Active Directory Admins are able to configure Internet Explorer to emulate previous versions of the browser through group policy. The Compatibility View Settings window in IE 11 is shown below:
Both the settings "Websites you've added to Compatibility View" and "Display intranet sites in Compatibility View" can be configured through Active Directory Group Policy.
When a page is running with compatibility view enabled, it renders pages in Internet Explorer 7 Standards mode.
IIS Admins can configure browser emulation at a more granular level by having IIS return an X-UA-Compatible header to the browser. The X-UA-Compatible header takes precedence over the Compatibility View Settings in Internet Explorer.
Application developers can also configure this setting by providing a meta tag in the document head for X-UA-Compatible. This meta tag takes precedence over the X-UA-Compatible header. Here's an example of the meta tag instructing the browser to emulate IE 7:
<meta http-equiv="x-ua-compatible" content="IE=EmulateIE7"></head>
You can learn more about X-UA-Compatible HTTP headers and Meta tags here X-UA-Compatibility Meta Tag and HTTP Response Header.
You can learn more about legacy document modes here Specifying legacy document modes.
Basically, the content attribute in the meta tag specifies the document mode. It can contain the following values:
|X-UA-Compatible value||Document modes|
|IE=edge||The highest supported document mode of the browser|
|IE=EmulateIE7||IE7 mode (if a valid <!DOCTYPE> declaration is present) Quirks Mode (otherwise)|
|IE=EmulateIE8||IE8 mode (if a valid <!DOCTYPE> declaration is present) Quirks Mode (otherwise)|
|IE=EmulateIE9||IE9 mode (if a valid <!DOCTYPE> declaration is present) Quirks Mode (otherwise)|
|IE=EmulateIE10||IE10 mode (if a valid <!DOCTYPE> declaration is present) Quirks Mode (otherwise)|
|IE=EmulateIE11||IE11 mode (if a valid <!DOCTYPE> declaration is present) Quirks Mode (otherwise)|
The above information comes directly from MSDN. Quirks mode is a term used to indicate pages rendered using IE 5.5 emulation.
You can learn about how the various !DOCTYPE declarations affect the document mode here !DOCTYPE Declaration.
Whenever you come across the term "Almost Standards" mode, it means standards mode (conforming to W3C standards) with one exception. Here's a concise definition of "Almost Standards" mode:
Line height calculations as specified in [CSS-Level2-2009] can sometimes result in broken page rendering. In particular, any design that involves table cells and other blocks that contain only images, such as custom buttons or controls that are a map of GIF images laid out using an invisible table, cause these broken pages. Almost standards mode was developed to fix these problems and enable these pages to render correctly.
The above definition is taken from here Almost Standards Mode.
A company may have IE 11 installed on their workstations and a developer can include a X-UA-Compatible Meta tag with a content attribute set to IE=7 and the page will be rendered just like Internet Explorer 7. So, this means the HTML 5 and CSS 3 features introduced in IE 9 are not available in this mode.
A relatively easy way of determining when an older version of Internet Explorer is being emulated is via the IE Developer Tools. With a web page opened, press F12 and the Developer Tools will open. In IE 11, on the right side you'll find a drop-down containing the various document modes (5, 7, 8, 9, 10 and 11). The configured document mode for the page is identified by the word "Default". The document mode for the screen shot shown below is IE 11.
So, even though legacy versions of Internet Explorer are only installed on a very small percentage of workstations, it's being emulated in newer versions of the browser for many line-of-business applications running behind corporate firewalls.