I found a web page that doesn't work, now what?
We’ve previously blogged about Compatibility View; this post is a follow-up on compatibility and Internet Explorer 8 RC1.
As you are browsing the web with Internet Explorer 8 RC1, you might come across some web sites where everything is not displayed correctly:
These issues can be fixed by clicking on the Compatibility View button on the address bar:
This button draws the page the same way that Internet Explorer 7 would - allowing content designed for older web browsers to still work well in Internet Explorer 8.
By default, Internet Explorer 8 displays a site using its most standards compliant mechanism. In the majority of cases, this works out just fine. However, every once in a while, a page that says “display me using modern standards” really means “display me like Internet Explorer 7 used to display modern standards pages”. This is where Compatibility View comes in.
Compatibility View is domain specific – if you click the Compatibility View button on abc.example.com, all pages on example.com will be rendered in Compatibility View. Internet Explorer 8 remembers the setting – next time you come back to example.com, we will render it in Compatibility View.
There were a number of cases in Internet Explorer 8 Beta 2 where IE8 would not render a standards-based page like other browsers, and the user would use the Compatibility View button to fix the issue. We want Internet Explorer 8 to render standards-based pages like other standards-compliant browsers, so the IE team investigated thousands and thousands of IE8 rendering issues – Issues found by end-users, our test team (testing thousands of the most popular sites in the world), or cases where the ‘Report a Webpage Problem’ add-on button was used.
A large number of sites (through user agent detection) were actually relying on Internet Explorer 7 rendering behavior. In these cases, the IE team does outreach to the website, asking them to make the site work with IE8 rendering, or to use the IE=EmulateIE7 header.
In cases where Internet Explorer 8 is not rendering a page (with valid markup) like other standards-compliant browsers, the IE8 team would reduce the problem down to the minimal amount of HTML and CSS that reproduces the issue, and fix the rendering issue. While standards-based tests are a great way to ensure that IE8 renders content like other browsers, they do not cover all rendering scenarios that exist on the web – we wanted to do a real-world sanity check to find any remaining rendering issues.
To help the IE8 team investigate and fix rendering issues, please use the Report a Webpage Problem Internet Explorer 8.0 Beta Add-On to report page issues. The IE team will investigate the issue, and fix any bugs that prevent IE8 from rendering a page like other browsers.
If you like, you can also point out (in the comments) any sites where IE8 RC1 does not render a page the same way as Firefox, Safari or Opera, and we will investigate the issue.
If you are a web developer (and you have a case where IE8 is not rendering standards-based markup like other browsers), you can also point to a url with the reduced repro, or copy-and-paste the minimal set up html that will reproduce the issue.
In addition to standards-based rendering compatibility, the IE Compat team also investigated a large number of popular IE add-ons, to ensure that no bugs were introduced in IE8 that will stop popular add-ons from working. In cases where breaking changes could not be reverted (i.e. we made a change for security or stability reasons) the IE team would contact the add-on maker to update their software.
Additionally, because IE8 renders all intranet content in IE7 mode (unless specified otherwise by the user, admin or web page) the IE Compat team also spent a lot of time double-checking that IE8 (in IE7 rendering mode) renders content exactly like IE7 does. The Microsoft corporate network was a great test case here – a company the size of Microsoft has thousands of Line-of-Business applications that were designed for IE7. We ran multiple test passes on LOB apps, to find any changes in IE8 that would break these applications. Also, we’ve been reaching out to major LOB application vendors, to get them to test their applications with IE8 – so that, by the time the final IE8 version is released, IE8 is an easy drop-in replacement for IE7.
Thanks for helping make Internet Explorer 8 better!
Frank Olivier
Program Manager
Comments
Anonymous
February 10, 2009
PingBack from http://www.anith.com/?p=8681Anonymous
February 10, 2009
http://www.localsa.com.au/ie8/ and hit login.Anonymous
February 10, 2009
What about sites where the rendering is fine but Javascript fails? e.g. http://brightkite.com and http://getsatisfaction.com?Anonymous
February 10, 2009
And what happens if/when the site designer fixes the site to work in IE8? Does compatibility view work forever or is there an update sent out to IE8 users saying "These sites are now fixed, turn off compatiblity view"Anonymous
February 10, 2009
The comment has been removedAnonymous
February 10, 2009
So if a site contains svg or canvas elements is there a magic button I can press to see them?Anonymous
February 11, 2009
@Max If it worked in IE7, it's the same button, though it didn't, so no, there isn't. (I know you were sarcastic... I hope we can see some native SVG in IE9) For SVG, there IS a magic link that you can click though. See: http://download.adobe.com/pub/adobe/magic/svgviewer/win/3.x/3.03/en/SVGView.exe (on Windows Vista, make sure you run it as an administrator)Anonymous
February 11, 2009
The comment has been removedAnonymous
February 11, 2009
A browser SHOULDN'T have to have a 'compatibility mode'. Even though it fixes its own mistakes, the button should be taken out. It should just work. B/c of all the bad implementations in the past with the IE browser, you guys are definitely paying for it now. I've definitely seen some improvement on RC1. But it still isnt there. You guys have been working on this browser for years now, and its still not ready. Will it ever be ready?Anonymous
February 11, 2009
I've noticed on my own site that IE8 chokes on overflow: auto; by adding scroll bars to elements that don't actually overflow (Note that this worked in IE6, IE7, FF etc). I then added the IE7 meta tag hoping I could temporarily fix the issue by making IE8 render as IE7 only to find that your 'render as IE7' is also broken and introduces new bugs of its own. <br><br> It seems to me that you are no longer releasing one new browser with its own set of bugs but you are now releasing 3 browser with their own unique set of bugs, i.e IE8.8 IE8.7 and IE8.6. <br><br> The sad thing is there is no way for me to use conditional comments to target a subset version of IE8 since if I use [IF IE 7] it will target IE7 and IE8.7 both which don't consistently render my web page the same way. <br><br> Unless you guys pull off a miracle and fix your three versions of IE8, you will need to introduce some new conditional comments to target each sub version of it.Anonymous
February 11, 2009
About breaking addons... I wonder if you have contacted the MS Office team for their horrible research addon that uses ton of resources even when the offcie research pane is not activly displayed and used in IE. That addon should not use any significant resource unless the office research pane was activated in IE. I surely expect an update for this terrbile addon before IE8 launch as you would expect other addon creators to improve their addons as well I presume ?Anonymous
February 11, 2009
IE8 RC1 is NOT ready. https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=413508 IE8 really badly breaks the scope of javascript variables and is doing value assignment when NOT asked to. IE8 RC2 ETA please.Anonymous
February 11, 2009
The comment has been removedAnonymous
February 11, 2009
The comment has been removedAnonymous
February 11, 2009
Did you guys un-end the Report A Broken Web-Page program? Last time i tried to report a problem, it told me that the program has ended, and i can uninstall the Report A Web-Page Problem addon from the Control Panel. So i did.Anonymous
February 11, 2009
@hAl: Yes, we're talking to the Office team about the Research add-on. @Ian: The Beta version of the add-on expired in November. Please see //go.microsoft.com/fwlink/?LinkId=110518 for the latest version of the add-on. Thanks!Anonymous
February 11, 2009
There are some simple layout issues with this page, especially lower down the page. Comes up Okay in compatibility mode.Anonymous
February 11, 2009
Sometimes I can't view a web page at all... The page just plain crashes IE8 RC1, and it tries again, crashes and tries again, and stops. Its quite annoying, and the only way to fix it is if you are fast enough to click the Compat View button before it crashes again. I don't quite understand why there is not an option on the error page IE shows after it has crashed 2 times to open the site again but in IE Compat View mode. FaceBook's website started making IE8 RC1 crash today, but then it stops and starts again. :|Anonymous
February 11, 2009
Page rendering is the least of your worries; how about re-enabling support for "window.open" and other really basic client scripting things in IE8? I kept getting "no such interface" whenever window.open was called in scripts after I installed IE8RC1. Uninstalled it after an hour.Anonymous
February 12, 2009
@Kristofer - window.open still works in IE8 RC1 (I'm not sure why you were having issues) The only think I can think of is if you were trying to call this from the about:blank window (e.g. if you created another popup or iframe with about:blank as the source, then calling ANY JavaScript on this is broken (since IE7) in the "ANOS" (Almighty Name Of Security) I've yet to see any conclusive evidence how this makes anyone more secure but that's apparently history now. PS is that the real spelling of your name? ;-) its the coolest version of "Christopher" I've seen.Anonymous
February 12, 2009
Doh! its next week - my bad. The link to the IE Chats should be available on the main front page/every page of this blog. http://www.microsoft.com/windowsxp/expertzone/chats/default.mspxAnonymous
February 12, 2009
I think this posted on ajaxian this morning really shows how much microsoft is holding back the web. http://a.deveria.com/caniuse/#agents=All&cats=All&eras=All&statuses=AllAnonymous
February 12, 2009
Mike-- Cool page, but it really shows how EVERY browser is "holding back the web". Or that maybe, just maybe, the web isn't really being held back at all. Kristofer-- Make yourself useful: post a repro URL. Aldo-- Uninstall your broken add-on.Anonymous
February 12, 2009
http://acid3.acidtests.org/ is not the same "# re: I found a web page that doesn't work, now what? Wednesday, February 11, 2009 8:16 AM by boen_robot @Max If it worked in IE7, it's the same button, though it didn't, so no, there isn't. (I know you were sarcastic... I hope we can see some native SVG in IE9) For SVG, there IS a magic link that you can click though. See: http://download.adobe.com/pub/adobe/magic/svgviewer/win/3.x/3.03/en/SVGView.exe (on Windows Vista, make sure you run it as an administrator)" That play is not supported anymore Will the IE team make a post for developers to start writing in web standards code?Anonymous
February 12, 2009
Off topic, but i can't find anywhere to report ie8 bugs. Why is IE8 so abysmally slow when viewing very large forms (hundreds of elements)? it's unusable to the point that entering a single value into a form can cause the app to lag for several seconds. scrolling? you might as well forget it. sorry this is out of place.Anonymous
February 12, 2009
@nate You do understand that it is actually forms with hundreds of elements that are unusable for internetusers ?Anonymous
February 12, 2009
I would like to repeat my request for a clear indication in IE8 which renderingmode is used for a given page (and possible also why in case of IE7 rendermode). Now when doing tests I find myself keeping on hitting the compatibility button until I get the balloon saying the rendering is IE7 mode to know for sure which mode is being used...
nelson: https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=413508 That one really shocked me; imo that's really a blocking issue :X
Anonymous
February 12, 2009
@Tino: The compatibility view button looks different when it's enabled: it shows in a pushed state. Alternatively, you could use the ShowDocMode bookmarklet; please see http://www.enhanceie.com/ie/ie8.asp#ShowDocMode The Javascript bug you're referring to does not repro in current builds.Anonymous
February 12, 2009
The comment has been removedAnonymous
February 12, 2009
Kristofer: I had the window.open bug when I was using the beta versions, but by it was fixed for me when I upgraded to the release candidate. The RC actually fixed a lot of things for me, but the debugger seems to have lost some functionality. The 'click this element to select' feature no longer works. Neal: Actually there would be no IE8.6 because IE8 does not contain an IE6 rendering mode. Would be nice if it did.Anonymous
February 12, 2009
Hey Now, Using the Compatibility View is good. Thx 4 the info, CattoAnonymous
February 12, 2009
It is important to note that compatibility mode can also be triggered programmatically and I believe this is what every developer should do. The reason is simple, you want to give your customer the best possible experience on your site. In fact, when the compatibility meta tag is explicitly declared in your code, the compatibility button disappears. You don't need to give your customer unnecessary choices. There are several scenarios:
- If you have already tested your web site in IE7 and you are not yet prepared to make the transition you can just add the compatibility meta tag to all your pages and they will automatically render in IE7 mode.
- If you are gradually transitioning to more standard code, you can selectively add the compatibility meta tag to the pages that you have not fixed and maybe never will (outdated content, support pages, etc...).
- If your code works well with IE8 then you should add the IE8 met tag! This will ensure that your code will continue to render correctly even after the next browser transition. In summary, the compatibility meta tag is the perfect way to ensure that your customers will enjoy your pages the way they were intended. At ArtinSoft we have created the IE8 Compatibility Wizard that allows you to automate the meta tagging process. You can check it out at: http://www.aggiorno.com/aggiornoexpress.aspx
Anonymous
February 12, 2009
@ vasko_dinkov Yes, I think you have indeed stumbled on a bug affecting clip. www.gtalbot.org/BrowserBugsSection/MSIE8Bugs/dynamically-setting-clip.html ... but I don't believe this issue may cause trouble to a lot of people. Regards, GérardAnonymous
February 12, 2009
EricLaw: "The compatibility view button looks different when it's enabled: it shows in a pushed state." Well, then the pushed state is almost not distinguisable from the normal state since I never noticed any differences (which makes this more of a general GUI design issue). The ShowDocMode bookmarklet is nice but still doesn't show why a page may be rendered in IE7 emulation mode. Good to hear that the JS scope bug is fixed, I take it this still has to be confirmed on the Feedback report?Anonymous
February 13, 2009
@Tino: If a page opts-in to a particular rendering mode (or if it's on the MS-supplied Compatibility list) the Compatibility View button is not shown. It should be pretty easy to tweak the ShowDocMode bookmarklet to see if the page contains the META tag.Anonymous
February 13, 2009
The comment has been removedAnonymous
February 13, 2009
Alan, I'm hoping that maybe you're simply too young to understand what you're talking about. Firstly, the fact that Microsoft and Netscape both focused on "web compliant" browsers is how the current mess came about, since both wanted to be compliant with the web of the era. Only later did the notion of "standards-first" development arise. Of course, "standards-compliant" and "web-compliant" meant opposite things until only very recently, and the IE team now has to find some way to turn the ship when half of the web wants nothing to change. You could make the same complaints against Netscape's lack of standards except they failed to build a compelling enough product to ensure their long-term survival. You're also jumping to absurd conclusions. What do you suppose the odds are that ANY site will be on the Compatibility View list that does not WANT to be there? (Hint: 0)Anonymous
February 13, 2009
The comment has been removedAnonymous
February 13, 2009
BTW: the webpage that crashes IE8RC1 on demand has a bug report on connect: https://connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=411698 -sAnonymous
February 13, 2009
of course there is no 'web compliant'... no one should make webbpages, only standards!! why would anyone want to do anything with the internet other than run standards validators? everyone else can just watch tv! since it is much easier to write new standards than impliment them, we can write new standards fast enuff, no one will notice how bad they are because we'll tell them ''no dummy, that's version X and we're already working on ver Y of the standard which is incompatible but less broken.'' down with the web... up with standards!!Anonymous
February 14, 2009
I have a page that doesn't display right in IE8 (even in compatibility view). http://allben.net/ie8/bg/ In IE8, the gold background doesn't stretch from the top of the page to the bottom. It works right in IE7, Firefox, Chrome, Safari, etc. This page passes the W3 validator.Anonymous
February 14, 2009
It's a little strange, that page I posted a link to sometimes works when the page first comes up, but if you hit Refresh or click somewhere on the page, it goes haywire again. It's a very simple HTML page. I'm viewing it in the IE8 VPC download. http://allben.net/ie8/bg/Anonymous
February 14, 2009
@Mike: Funny how the "When can I use" page (http://a.deveria.com/caniuse/) conveniently fails to list the important features that IE has led the way in that most other browsers still don't support after nearly a decade in IE -- namely, writing-mode support for vertical text, and ruby. These are in CSS3 modules as well. Yet the page lists things like CSS Transitions and Animations which were developed as part of one implementation (WebKit), and even 3D Transforms which is only in Mobile Safari! These aren't even available in draft form on W3.org yet, though the WebKit team wants the CSS working group to adopt them directly from them. If we're going to include lists of things developed as part of a single implementation that were submitted to W3C, then how about HTML+TIME, VML, HTCs? Why do the "little guys"' proprietary ideas get listed but not Microsoft's? @Gerard -- Markus Mielke is surely not the "creator of hasLayout." He just wrote the article. From what I gather about IE's history, the concept of "layouts" existed long before CSS -- thats why things like buttons, images, textareas, iframes, etc are in the list of elements that always have layout regardless of any specified CSS properties. My understanding of what "hasLayout" was, was a way to give normal "simple" flow elements like divs advanced capabilities, like sizing and positioning, that were already available to the aforementioned elements. In other words, they had an HTML-based engine, and then CSS came along with a lot of requirements that were at odds with their existing engine.Anonymous
February 15, 2009
@ vasko_dinkov I filed bug 415011 connect.microsoft.com/IE/feedback/ViewFeedback.aspx?FeedbackID=415011 www.gtalbot.org/BrowserBugsSection/MSIE8Bugs/#bug223 Regards, GérardAnonymous
February 15, 2009
@ Gérard Talbot Thanks! BTW, you've compiled a great list and instead of sending cakes to other destinations http://www.arcanology.com/2008/06/17/ie-sends-mozilla-a-new-cake-for-firefox-3/ they'd better pack one for you (or at least some bear). =)Anonymous
February 18, 2009
I assume that Firefox will work regardless though/ Good enough for me thenAnonymous
March 21, 2009
the webpage that crashes IE8RC1