A compatibility mode is a software mechanism in which a software either emulates an older version of software, or mimics another
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
in order to allow older or
incompatible software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
or
files to remain compatible with the computer's newer
hardware or software. Examples of the software using the mode are operating systems and
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical web browsers developed by Microsoft which was used in the Windows line of operating systems ( ...
.
Operating systems
A compatibility mode in an operating system is a software mechanism in which a computer's
operating system
An operating system (OS) is system software that manages computer hardware, software resources, and provides common services for computer programs.
Time-sharing operating systems schedule tasks for efficient use of the system and may also i ...
emulates an older
processor
Processor may refer to:
Computing Hardware
* Processor (computing)
**Central processing unit (CPU), the hardware within a computer that executes a program
*** Microprocessor, a central processing unit contained on a single integrated circuit (I ...
, operating system, and/or
hardware platform in order to allow older
software
Software is a set of computer programs and associated software documentation, documentation and data (computing), data. This is in contrast to Computer hardware, hardware, from which the system is built and which actually performs the work.
...
to remain compatible with the computer's newer
hardware or software.
This differs from a full-fledged
emulator
In computing, an emulator is hardware or software that enables one computer system (called the ''host'') to behave like another computer system (called the ''guest''). An emulator typically enables the host system to run software or use pe ...
in that an emulator typically creates a virtual hardware architecture on the host system, rather than simply translating the older system's function calls into calls that the host system can understand.
Examples include Classic Mode in
Mac OS X
macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
and compatibility mode in
Microsoft Windows, which both allow applications designed for older versions of the operating system to run. Other examples include
Wine
Wine is an alcoholic drink typically made from fermented grapes. Yeast consumes the sugar in the grapes and converts it to ethanol and carbon dioxide, releasing heat in the process. Different varieties of grapes and strains of yeasts are m ...
to run Windows programs on
Linux
Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
/ OS X and
Mono
Mono may refer to:
Common meanings
* Infectious mononucleosis, "the kissing disease"
* Monaural, monophonic sound reproduction, often shortened to mono
* Mono-, a numerical prefix representing anything single
Music Performers
* Mono (Japanese b ...
to run
.NET programs on various
Unix-like
A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems.
Internet Explorer
"Compatibility View" is a compatibility mode feature of the
web browser
A web browser is application software for accessing websites. When a user requests a web page from a particular website, the browser retrieves its files from a web server and then displays the page on the user's screen. Browsers are used o ...
Internet Explorer
Internet Explorer (formerly Microsoft Internet Explorer and Windows Internet Explorer, commonly abbreviated IE or MSIE) is a series of graphical web browsers developed by Microsoft which was used in the Windows line of operating systems ( ...
in version 8 and later. When active, Compatibility View forces IE to display the webpage in
Quirks mode
In computing, quirks mode is a technique used by some web browsers for the sake of maintaining backward compatibility with web pages designed for old web browsers instead of strictly complying with W3C and IETF standards in standards mode. This b ...
as if the page were being viewed in IE7.
When compatibility view is not activated, IE is said to be running in native mode. In IE11, a user can turn on compatibility mode for a web site by clicking the Gears icon and clicking Compatibility View Settings.
IE8+
Internet Explorer 8
Windows Internet Explorer 8 (IE8) is a web browser for Windows. It was released by Microsoft on March 19, 2009, as the eighth version of Internet Explorer and the successor to Internet Explorer 7. It was the default browser in Windows 7 (later def ...
was promoted by Microsoft as having stricter adherence to
W3C
The World Wide Web Consortium (W3C) is the main international standards organization for the World Wide Web. Founded in 1994 and led by Tim Berners-Lee, the consortium is made up of member organizations that maintain full-time staff working to ...
described web standards than
Internet Explorer 7
Windows Internet Explorer 7 (IE7) (codenamed Rincon) is a web browser for Windows. It was released by Microsoft on October 18, 2006, as the seventh version of Internet Explorer and the successor to Internet Explorer 6. Internet Explorer 7 is pa ...
. As a result, as in every IE version before it, some percentage of web pages coded to the behavior of the older versions would break in IE8. This would have been a repetition of the situation with IE7 which, while having fixed bugs from IE6, broke pages that used the IE6-specific hacks to work around its non-compliance. This was especially a problem for offline HTML documents, which may not be updatable (e.g. stored on a read-only medium, such as a CD-ROM or DVD-ROM).
To avoid this situation, IE8 implemented a form of
version targeting whereby a page could be authored to a specific version of a browser using the
X-UA-Compatible
declaration either as a
meta element
Meta elements are tags used in HTML and XHTML documents to provide structured metadata about a Web page.
They are part of a web page's head section. Multiple Meta elements with different attributes can be used on the same page. Meta elements can ...
or in the
HTTP
The Hypertext Transfer Protocol (HTTP) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide We ...
headers.
In order to maintain backwards compatibility, sites can opt into IE7-like handling of content by inserting a specially created
meta element
Meta elements are tags used in HTML and XHTML documents to provide structured metadata about a Web page.
They are part of a web page's head section. Multiple Meta elements with different attributes can be used on the same page. Meta elements can ...
into the web page that triggers compatibility mode in the browser, using:
[MSDN "What's New in Internet Explorer 8"](_blank)
.
A newer version of the browser than the page was coded for would emulate the behavior of the older version, so that the assumptions the page made about the browser's behavior hold true.
Microsoft proposed that a page with a
doctype #REDIRECT Document type declaration #REDIRECT Document type declaration
{{redirect category shell, {{R move{{R from other capitalisation{{R up ...
{{redirect category shell, {{R move{{R from other capitalisation{{R up ...
that triggers standards mode (or almost standards mode) in IE7 would, by default, trigger IE7-like behavior, called "standards mode" (now called "strict mode") in IE8 and future versions of IE. The new features of IE8 are enabled to trigger what Microsoft called the "IE8 standards mode" (now called "standards mode"). Doctypes that trigger
claimed that the idea of using a meta tag to pick a specific rendering mode fundamentally misses the point of standards-based development but positioned the issue as one of
in web development, noting that not all of the Web is maintained, and that "demanding that web developers update sites to ensure they continue to work properly in any future browser version is probably too much to ask."
The result for IE 8 Beta 1 was that it could render three modes: "Quirks," "Strict," and "Standard." When there is an old
{{redirect category shell, {{R move{{R from other capitalisation{{R up ...