htmlinternet-explorerie-compatibility-mode

IE compatibility view or not?


I have a web application designed to work well in < IE9 versions. With upgrades across the company to newer IE versions the application works well only if I turn on 'compatibility view'.


Solution

  • Is it really a good thing? I mean, is it really the long term solution? Or should I start redesigning my application to support newer IE versions - even though I do not foresee to use any new features of HTML5?

    No, it was never meant to be a long-term solution. You should definitely start redesigning your application if you can. You don't have to use any new HTML5 features in order to comply with Web standards — those are two different things entirely.

    If your application does not work well in recent versions of IE, it's not because you're not using HTML5. It's more likely because it was designed in a way that relied on problems with older versions that caused them to behave in a non-standard manner. For example it may be relying on issues with how IE6 or IE7 handled certain HTML elements or CSS styles.

    How long will MS be supporting 'compatibility view' switch? What in IE 12+ if there is no option like this?

    The Compatibility View button is already gone in IE11; the only way to force a site to use it is to add it to a list in Compatibility View settings as described here. You can see that Microsoft is already taking measures to phase out this feature, albeit gradually.

    You can also use the X-UA-Compatible header that was introduced in IE8 to emulate IE7 document mode:

    <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
    

    But even that has also been deprecated in IE11, so again if you do use it, know that it's no longer viable in the long run.

    Is there any document gives the list of elements I should be looking to fix to make my app compatible in old and newer IEs?

    There isn't any single document that will help you with this because it's not just a matter of "fixing elements", it's a matter of developing with standards compliance in mind, which is a huge topic in itself.

    Fortunately, there are many good resources out there today for helping you develop with the latest standards. In particular, when it comes to working with IE, a good starting resource is modern.IE.