Forum Moderators: open
1. “Quirks mode” remains the same, and compatible with current content.
2. “Standards mode” remains the same as IE7, and compatible with current content.
3. If you (the page developer) really want the best standards support IE8 can give, you can get it by inserting a simple <meta> element. Aaron gives more details on this in his article.
By 'current content' they mean non-standards compliant HTML.
Another interesting point is that 200 websites dictate the standards of the ENTIRE web.
When we released IE 6 in 2001, very few pages on the web were in “standards mode” (my team ran a report on the top 200 web sites at the time that reported less than 1%) – few people knew what a DOCTYPE was, and few tools generated them.
....
It turned out by the time IE7 shipped in late 2006, roughly half of the top 200 US web sites were in “standards mode”. Many of those sites had been “opted in” to standards mode by a tool that generated their content; many of them had probably been hand-coded by someone who was trying to do the right thing, and make their HTML code valid according to the W3C. Regardless, users of those sites expected them to keep working the same, even when they downloaded a new version of IE. Unfortunately, that didn’t happen.
[blogs.msdn.com...]
[alistapart.com...]
Using a simple meta declaration, we can specify the rendering engine we would like IE8 to use. For example, inserting this:<meta http-equiv="X-UA-Compatible" content="IE=8" />
into the head of a document would make IE8 render the page using the new standards mode. This syntax could be easily expanded to incorporate other browsers as well:
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
[edited by: encyclo at 5:02 pm (utc) on Jan. 22, 2008]
[edit reason] fixed link [/edit]
For instance, let’s say IE8 wasn’t going to support generated content—if the Acid2 announcement is any indication, it should, but just bear with my use of it as an example—and we used generated content on a website that “targeted” IE8. Every other modern browser with the exception of IE would render that generated content, but even if IE9 included support for generated content, someone using that browser would not see the generated content because the site was locked to IE8. The site’s lock would need to be updated to IE9 for the generated content to appear, which goes against the core concept of progressive enhancement.
It's a bit of a catch22 for them I think..
I think it's needed, because it's the only way they can get rid of the old rendering engine and move to a new one, without a way to move completely to a new rendering engine we would have to wait years for legacy issues to die - and hasLayout has to go!
The problem is that developers create broken html/css code using xhtml doc-types. No browser can really trust xhtml using the current doc-types because they are served as text/html and not application/xhtml-xml and thus are not truly validated. IE needed a new doc-type, a new way to smack the wrist of people not creating proper html or xhtml. This may not be perfect but it just might work, but only if the IE8 mode is truly standards compliant. I hope that is supports the standards strictly as well as finally accepting the application/xhtml-xml doc-type.
MS claims that the doctype switch is broken. That's not true. The fact is that it is IE which is broken, and has been for years. With this proposal, MS is dictating that their flawed implementation of web standards is the default, and the burden is placed on the site author to use a totally non-standard meta element to trigger a correct rendering in their browser.
And guess what? It won't even work properly. "Save As" won't work any more. Send the header via HTTP (as you should) rather than via a meta element means that you will have pages which will work differently whether they are viewed locally or not. This forum's going to busy for years trying to understand the bugs that this proposal will generate.
What happens when there is an IE9? We move from three rendering modes to four. And one more for IE10. Are we (webmasters) going to do versioning for every iteration of their browser? The whole point about web standards is that they are supposed to be browser-agnostic. This proposal is a total negation of the very ethos.
The consequences of this short-term, quick fix are clearly going to be negative for MS too. Three rendering modes mean three sets of code in the browser source, and every subsequent version adds another. Each is like a separate browser, each with version-specific bugs and security failures. The mess that it will create long-term is horrendous. What we will end up with is something like MS Word, which attempts to emulate all its previous versions to maintain backwards-compatibility with documents produced by earlier versions. But it often fails, and that extra bloat can and has resulted in security vulnerabilities.
I guess that Microsoft is not too interested in the mobile browser market any more either, they're not likely to be the fastest and lightest browser if they ship with three rendering engines in their product compared to one for the competition.
The Firefox team have been very clear: they will not follow Microsoft down this route. Good on them.
This proposal shows the total disconnect between Microsoft and web standards. They can only see the problem from their perspective, and are offering a deeply-flawed solution to a problem of their own making whilst shifting the blame and the workload to others.
"...and are offering a deeply-flawed solution to a problem of their own making whilst shifting the blame and the workload to others."
Amen. This is unpardonable for a company with such vast resources. Again, they entice/coerce the ignorant/infrastructurally-constrained into buying/using their underdeveloped software on one side, while they watch millions of honest workers lose millions in trying to deal with/repair/patch the same on the other... the best thing to do is just not use their products. Yet it's not we webmasters that have a choice on that, is it? Damn.
I'm not going to use the tag. My pages work in all versions of IE because they are coded and tagged correctly - if IE9 is indeed standards-compliant, nothing should 'break' in any of them.
[edited by: Josefu at 7:53 am (utc) on Jan. 23, 2008]
The Doctype Switch IS broken - and that's a good thing, who introduced that then?
MS introduced it for IE6, then 'realised' it wasn't going to be enough to carry them forward, the stagnation period and the subsequent 'surprise' release of IE7 proved that. It's a good thing it's broken it means they've got more to lose if they get it wrong again this time.
It has been known for a long time that IE could not even move towards this "progressive enhancement" phase of upgrading because they had nothing left to enhance, they were simply fixing their bugs, the little enhancements they did introduce in IE7 were sweetners, their fixes just hid most of the problems, caused others and bought IE some time.
This proposal shows the total disconnect between Microsoft and web standards.
rel="nofollow" to be one. It's not up to the W3C to provide a "standard" solution which IE have to accept in order to fix itself, it's up to IE to prove to the Web Standards that it is fixed and is capable of setting Web Standards again. It's going to take a large change in thought patterns, to facilitate a large change in direction for a large company. Have we been moaning about IE so long we've forgotten how to look forward to a time where it just might get better?
Not using the <meta> will be down to choice, just like some didn't/haven't switched, or even used, Doctypes. To not use a proposed solution could mean you remain stuck in the past with IE5/6/7, moaning about how bad IE is and unable to take advantage of any future enhancements that come along - heck perhaps that's a good thing until we see what's going to happen.
Anyway I think of the one line of code as the line underneath the worst chapter in browser history.. if it's not, I'll be back and I'll be very angry :)
As for Mozilla not following MS down this route, I don't blame them, and they should not have to, unlike the Doctype switch I wouldn't want to see this become a standard, if it needed to because FF/Opera et al followed them down this route that would be a sign that other browsers were having problems with progressive enhancement too :(
The positive thing in all this is that it's Game On again and instead of moaning and looking back at what might should have been, I suggest we kick Opera and FF back into touch (take a lesson from Safari and get on with it) else they will stop being the leaders in innovation and possibly let IE not only catch up but overtake in any "Standards" setting.
Communities rallied around Mozilla, Apple and Opera in order to help them progressively enhance, it's how they got where they are, is everyone so scared that IE might just get get it right this time?
All the rest is excuses for past mistakes.
Using the workarounds we create to support their poor excuse for a browser as an excuse to continue to sin against the standards is foolish.
MSFT needs to fully adhere to the standards they help to create themselves. And not back out on the last minute each and every time.
The Doctype Switch IS broken - and that's a good thing, who introduced that then? MS introduced it for IE6...
The standards themselves broke doctype switching, sort of. Appendix C [w3.org] of the xhtml 1 specs allow for serving xhtml document (application/xhtml-xml) as text/html. Regardless of what doctype the file has the browser sees it as an html document. Developers hear that xhtml is compatibl and they throw on the strict xhtml doctype and away they go. They don't follow all the compatibility guidelines in Appendix C. If there pages were served as application/xhtml-xml they would break. I have seen this myself. I recently added some code to my wordpress install to server it up as application/xhtml-xml. Guess what? Embeded youtube videos broke it. Even after I fixed the video and it was well formed enough to render it still did not validate.
I read Ian Hicksons's article on why serving xhtml as text/html is bad [hixie.ch]. At first I didn't want to believe it, but just this morning as I was waking it came back to me. I finally got what he was trying to say. We can't code xhtml and think we are making xhtml and test it as html.
IE didn't fail with doctype switching, all browsers fail. They did fail though by not supporting application/xhtml-xml mime types. Forcing the W3C to allow for xhtml compatibility mode.
<meta http-equiv="X-UA-Compatible" content="IE=8" />
If the problem is people sniffing for MSIE, then change the identification subtly (M.S.I.E. or MS-IE). That way the new browser will be treated like a normal browser and served normal content as opposed to stuff prepared specifically for MSIE.
At the end of the day, any degradation of site display that the user will see should no different to that which users of other browsers happily accept every day.
I'm sure Microsoft's first worry is for the 99.9% of all users who have no clue as to what a doctype is, and think their browser is "the Internet". These users want a browser that displays Yahoo, CNN, NYTimes, and the other websites they use properly.
I'm sure the top 200 sites account for a vastly disproportionate share of the pageviews on the Web. Is it right to let them define browser performance? Perhaps not in an ideal world. But Microsoft is designing software that first and foremost has to be bulletproof for its users. If people go to a major website and start getting errors or a messed up display, they'll blame the new browser.
In short, a browser is a product designed for the real world. If roads were perfect, cars could be built with low ground clearance, minimal suspension play, and great aerodynamics. In fact, roads aren't all ideal, so we have big springs and shock absorbers to minimize the impact of the bumps, dips, and potholes.
If Microsoft could scan the top thousand sites and find them 100% standards compliant, I'm sure they'd happily release a browser that itself matched those standards perfectly.
These users want a browser that displays Yahoo, CNN, NYTimes, and the other websites they use properly.
He is using a distraction tactic with the 200 sites, he is trying to claim that 50% of the top 200 sites do not render in any standards compliant browser, this is totally untrue. All/most websites render perfectly (or close enough) in Firefox.
The real problem for them is all of the intranet which used lots and lots of ie6 only hacks because that was all they were targeting.
Its their problem not ours, why should we waste more of our time and energy to make sure the web works for their customers?
Let's get real, please. And focus on the needs and desires of IE users AND the people who've invested BILLIONS on web sites with the expectation that their pages will render well in Internet Explorer.
What do you say to these people, to hell with you?
The world runs on IE - sorry, but FF, Opera, et al - are not even blips on the radar screen compared to IE.
Ever since I heard that IE8 was in the pipeline I've been wondering about how they were going to handle the transition because it was obvious that IE was going to have to run in a different "mode" so to speak. There HAD to be a toggle switch somewhere.
How about we just accept this for what it is - another tool in the toolbox. What harm does this do? What other sensible, practical alternatives are there?
Nothing that I can think of.
As for those fundamentalists who feel that this technique postpones the coming of browser heaven here on earth well, please just don't take any hostages over this, OK?
The world runs on IE - sorry, but FF, Opera, et al - are not even blips on the radar screen compared to IE.
Not sure what planet you are on, but by all accounts IE only has around 70% of the market. I would consider 30% to be much much more than a blip.
Companies who wrote their websites to only work on IE6 have got exactly what they wanted.
A since-years stubbornly non-compliant web browser should not be the one to dictate to w3-compliance-wary webmasters the work they should do to make their websites work correctly, through a system that will oblige us to await yet again for other "tools" that will "help" us fix their (past and future) browser bugginess. If MS really wanted to clean up its act, it would have made its browser standards-compliant by default.
In any case, although to a lesser degree in recent years, with every new browser version release, webmasters are obliged to review their old code — especially those hacking for IE - so why couldn't MS do them a favour of making a tag reserved for old versions of IE? Slap and forget — none of all that tweaking. If they did that, we could all move forward, standards-compliant, without any worry at all about future "fixes" — especially those imposed upon us by the very company that gave us something (purposely) broken to begin with.
Of course, it wouldn't be in MS' interest to let their errors become a thing of our past, would it? Especially when 'fixing' those errors can make a place for marketable branding. "Good or bad: In your face and in your future" has always been the name of their game — and this tag is just more of the same.
[edited by: Josefu at 3:16 pm (utc) on Jan. 23, 2008]
[edited by: Achernar at 4:48 pm (utc) on Jan. 23, 2008]
I would rather have to "opt in" to locking down. For example, I could specify a meta tag to use IE6 rendering, and if that tag wasn't there, then IE8 would render it as a standards compliant document. This would eliminate the need for an "edge" case (no meta tag means edge). But it would also allow companies with mission critical web applications (online banking, etc.) to apply a lock on their application when a new IE browser is being released so they could test it internally.
All of the other browser manufacturers have totally rejected this as a crazy idea which would lead to major bloat, so it would only be a Microsoft tag. After about 10 years IE will be totally unusable and the web would be in a worse mess than it is in now.
Mistakes, Sadness, Regret [ln.hixie.ch]
If Web authors actually use this feature, and if IE doesn't keep losing market share, then eventually this will cause serious problems for IE's competitors — instead of just having to contend with reverse-engineering IE's quirks mode and making the specs compatible with IE's standards mode, the other browser vendors are going to have to reverse engineer every major IE browser version, and end up implementing these same bug modes themselves. It might actually be quite an effective way of dramatically increasing the costs of entering or competing in the browser market. (This is what we call "anti-competitive", or "evil".)
It will also increase the complexity of authoring by an order of magnitude. Big sites will become locked in to particular IE version numbers, unable to upgrade their content for fear of it breaking. Imagine in 18 years — only twice the current lifetime of the Web! — designers will not have to learn just HTML, they'll have to learn 4, 5, maybe 10 different versions of HTML, DOM, CSS, and JS, just to be able to maintain the various different pages that people have written, as they move from job to job.
Mozilla (Firefox), Opera and WebKit (Safari, Konqueror) have all rejected Microsoft's approach.
I suspect that a good deal of the emotional objection springs from a perception that the proposal is to require all browsers to implement targeting. Not at all. Please be clear on this: nobody is saying this should be required in any browser. It can be interpreted as a requirement for authors, which is a separate issue, and I think one that’s quickly becoming negated as people work through the details. Not necessarily negated in a way Microsoft would like, but that’s really their problem.
and..
It has to be realized that this may well be the only way for IE to advance its standards support in a reasonable time frame, or at all. Version targets let them avoid breaking existing sites, especially intranet sites, while fixing and adding their DOM, CSS, and other implementations. That has to be understood and accepted if the discussion is to be anything more than people talking past each other. Within the world of IE, they must have a way to uphold backwards compatibility with sites developed under older versions of IE. Without it, they will largely stop fixing bugs they discover in their standards support. It really does come down to that.
very interesting view from another side to most of what I've read so far :)
Mozilla (Firefox), Opera and WebKit (Safari, Konqueror) have all rejected Microsoft's approach.
Good!
If IE are asking us for a leap of faith they to prove it on their own.
[edited by: SuzyUK at 7:16 pm (utc) on Jan. 23, 2008]
Mozilla (Firefox), Opera and WebKit (Safari, Konqueror) have all rejected Microsoft's approach.
The decision by Microsoft seems to have been made in consultation with standards watchdog groups. Why label it "Microsoft's approach".
There's a real problem here that needs to be solved. Do you have a better idea that doesn't cost everybody in the industry an incredible amount of money?
And how do you know this, by the way? What's the source of the information?
Not sure what planet you are on, but by all accounts IE only has around 70% of the market. I would consider 30% to be much much more than a blip.
What and whose accounts? Techie sites like this one? Not general consumer sites, that's for sure. Interestingly, my understanding is that FireFox users - who have only been around for a little while - appear to be just as slow to upgrade as IE users.
When they have to buy a new computer, are they going to re-install FireFox or just start clicking the Blue E again? I'll bet it's the latter - mark my words.
imagine what would happen if the entire webmaster community en masse stripped his code of every IE-oriented style/hack: browsers are free, so things would change right quick.
Wrong. Users would stick with what they know and if the sites render a little oddly here and there, they'll live with it. You have no idea how much resistance there is to change.
At bottom, this whole debate is about who is going to take responsibility for change. Microsoft? Site owners and managers? Browser users?
The opt-in/out meta tag puts the resonsibility squarely where I believe it belongs - with the site owners and managers.
Geez, all this fuss over a few CSS selectors? Yikes! (Ok.Ok. I know there's a bit more to it than that but not as much as all us webfolks would like to believe. Presentation does not trump content. Ever.)
[edited by: poppyrich at 7:31 pm (utc) on Jan. 23, 2008]
Nobody is going to implement this in their browser, MS could never dictate that to anyone so theres no point being emotional about that.
People are emotional because this looks like typical microsoft holding back the web again with their own 'standards'. This causes people a lot of extra work and this announcement has just added to the extra work required to get IE looking like everyone elses browser.
It is NOT the only way to not break all the other IE6 only sites at all. They could have built a backwards compatibility browser and an new browser, they could have set the default to standards and then get broken sites to do the work.
Instead they chose the route to avoid them and their customers work and to make it look like frontpage didn't export broken html. They cannot seem to allow more than 1 version of IE on a PC which is related to their poor decision to bundle it with the OS.
This is a problem of their making not ours, why should the ones who write standard code be the ones who have to change to accommodate their problems?
All these standards are so confusing as it is... What does this even mean?
I feel like in the movie Network...to say "I'm as mad as hell and I can't take it anymore".
It's all giving me a headache, too. And it means that anybody who pretends to understand all this stuff might keep their job through the upcoming recession. Just learn the buzzwords!
How is it possible to think that people will be forever happy with websites that won't render correctly? Especially when other browsers are but a click away? People that tenacious in their habits (at that level, obsessions) cannot make the majority of browser users - and a case for the minority does not speak for the majority. Just think at the number of people who switched to Firefox over the last years... without even considering the "broken website" argument!
[edited by: Josefu at 8:17 pm (utc) on Jan. 23, 2008]
I'm sure Microsoft's first worry is for the 99.9% of all users who have no clue as to what a doctype is, and think their browser is "the Internet". These users want a browser that displays Yahoo, CNN, NYTimes, and the other websites they use properly......But Microsoft is designing software that first and foremost has to be bulletproof for its users. If people go to a major website and start getting errors or a messed up display, they'll blame the new browser.
In short, a browser is a product designed for the real world.
Email to customer:
A couple of old pages on the site don't render (look) right in Firefox, the main body content is shifted all the way over past the right column and goes off the screen so most of it is not visible.
Reply from customer:
What's Firefox?
Of course that's because of atrocious 3-4 year old messed up FP code on old pages with messed up stylesheets, but the point is that there are a huge number of people who know nothing beyond IE and don't want to. They just want their sites and the websites *they* visit and use to work in *their* browser - and those sites look just fine to them.
Neither are they willing to pay to have work done (redesign to specs) that they know nothing about and have no reason to believe they need. And if IE usage is >90% they can't be argued with; realistically, their budget is better spent elsewhere.
Browser usage is largely dependent on the demographic of sites (and site owners, too):
Site A: 86.4% IE, 6.7% FF, 2.3% Safari, 0% Opera (small % are webmasters)
Site B: 84.4% IE, 6.9% FF, 1.4% Safari, 0.1% Opera (small % are webmasters)
Site C: 79% IE, 13.5% FF, 3.5% Safari, under 1% Opera (many webmasters)
Site D: 42.4% IE, 42.3% FF, 2.1% Safari, 1.5% Opera (probably 99% webmasters)
Neither are they willing to pay to have work done (redesign to specs) that they know nothing about and have no reason to believe they need. And if IE usage is >90% they can't be argued with; realistically, their budget is better spent elsewhere.
Right... Then you go ahead and quote stats which show IE at <90% :D
The fact is anyone who paid less for an IE 6 only site has got exactly what they paid for. I don't know why they are complaining about breaking the web when they broke the standards.
Hicksons approach seems to imply that he thinks that most people "test their sites against IE" rather than "testing them against the W3C HTML validtor".
*** FireFox users appear to be just as slow to upgrade as IE users. ***
That doesn't matter. Firefox is a standards compliant browser, and the rendering engine hasn't changed much between the different versions, wheras that within IE has - and that is the problem.