IE8 May Not Pass the Acid2 Test After All
dotne writes "CNET has published an article called Acid2, Acid3 and the power of default. The article predicts that IE8 will not pass the Acid2 test after all: '[Another] scenario could be that Microsoft requires Web pages to change the default settings by flagging that they really, really want to be rendered correctly. Web pages already have a way to say this (called doctype switching, which is supported by all browsers), but Microsoft has all but announced that IE8 will support yet another scheme. If the company decides to implement the new scheme, the Acid2 test — and all the other pages that use doctype switching — will not be rendered correctly.' Microsoft's IE8 render modes have been discussed here previously, and they've caused an uproar in the web development community. According to the scheme, authors must put Microsoft-specific <meta> tags into their pages in order for them to be rendered correctly. I doubt Acid2, nor Acid3 will have Microsoft extensions in them."
It's possible that IE8 will contain code that detects the presence of an ACID test and switches to the proper renderer to pass the test.
shout "SURPRISE!" in unison.
> I doubt Acid2, nor Acid3 will have Microsoft extensions in them.
But lots of web pages will.
News at 11.
Have gnu, will travel.
Another Microsoft "We'll do it our way, and you'll do it our way too if you know what's good for you."
I wish Microsoft would at least learn to fake sincerity in actually following common standards. This isn't even lip service. This is "We follow standards (for certain Microsoft-centric values of 'standards')."
Of course, the market has rewarded them, so why should they change? All they need is smoke, some mirrors, and some moderately-skilled PR, et Voilà! "standards-compliant!"
Welcome to the Panopticon. Used to be a prison, now it's your home.
Why not make Acid2 the default? I'm sure the browsers interals could look for IE6/7 "hacks" and provide a icon on the bottom to have it viewed in compatibility mode? If the broken mode is going to be the default, I think standardization will be slow, unless common developer tools like MS Visual Studio and Dreamweaver put in the MS Specfic renderer tags in by default.
I think we're at the moment when developers want standards, where in the IE4/NS4 war, everyone and their brother was trying to hack-together web pages, and IE did some nice exposition of the DOM via the ID attribute in tags, which accomodated less-skilled programmers. Now that the baseline-developer's skills are improved, and the IDEs out there are actually pretty decent (e.g. Not FrontPage, Not MS Word) I'd say the time is right.
While the Acid2 test is niceity, what I'd really love to see is a standard plugin model shared by FF and IE. It has been a while, but I always thought the "EMBED" inside of an "OBJECT" tag was lame. I don't like ActiveX but I get in intranet environments where it can be useful, where the code should be "trusted" and "signed", where you're essentially using a browser to "publish" applications that should probably be desktop applets, or use a native HTML (AJAX?) interface rather than "VB applet on a webpage." That being said, we need an out in the wild, "safe" plugin/viewer model.
Forgive my spelling from time to time. I'm often posting during short breaks.
Therefore, if you are against Microsoft, you must be a terrorist.
Please report yourself to the nearest detention center for correction.
Shove the anti-MS rhetoric in the closet for a moment and think about it.
IF MS were to change the way pages rendered with existing doctypes, millions of pages could/would render differently requiring businesses and individuals across the world to either re-vamp their websites or at least change the existing doctype to a new name that referred to the old rendering style.
Alternatively, they can create a new doctype specifically for the new "more better" rendering. This way, the millions of existing pages that are already designed to render in the exiting style will continue to do so, and anyone looking to use a closer to the standards rendering has the option to.
That ACID(2,3) tests are designed to test browsers, browsers are not designed to test ACID. As such, ACID should be updated to include the new doctype option for IE.
Okay, NOW you can pull that anti-MS rhetoric back out and ask: "WHY THE HELL DIDN'T THEY DO IT RIGHT THE FIRST TIME?!?!?"
-Rick
"Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
Firefox doesn't either.
THL phish sticks
The reason this is happening is because IE6 already actually uses the doctype tags. Depending on the doctype, it renders in quirks mode or in standards compliance mode, just like Firefox. The problem is that the standards compliance mode isn't even close to standards compliant. So now we have quirks mode, IE6 standards compliance mode, and IE7 standards compliance mode. Microsoft dug this hole and now the only way to fix it without breaking pages is to add yet another mechanism.
Microsoft kept redefining the meaning of "standard" so that they were right and everyone else was wrong. Now that they are actually starting to follow the standard, they are scrambling trying to make sure that it doesn't look like they were ever wrong.
I replied on the previous thread on this.. I shouldn't really post again, but I feel I have to.
Yes, in a magical perfect world, Microsoft would use DOCTYPE to tell if a page wants standard-compatible rendering, and simply break all the pages which have a correct DOCTYPE but then rely, either on purpose or by accident, on IE6 and IE7 bugs. But most of their customers don't want them to, and so they aren't going to.
Therefore they are trying to offer an alternative. An alternative you can either put in as a meta tag or a HTTP header. I can't think of anything they could do in practice which would be better than this, other than the one thing they would never do, which is break old webpages which rendered correctly on IE6/7.
Combination - fun iPhone puzzling
I just want to point out that these ongoing shenanigans show that IE is not a web browser. The whole world (including Microsoft) got together and decided exactly what a "web page" is and wrote it down in very clear specifications. So, anyone who writes a piece of software that renders a web page, as defined by those specifications, is a web browser. If you write software that does anything else, then that isn't a web browser. Therefore, insofar as IE does not render web pages, it is not a web browser. So, if anyone complains that your documents don't look right when they view them in IE, gently explain to them that your documents are web pages, and to view them the person needs a web browser, and IE isn't a web browser.
That leaves open the question of exactly what IE is.
1995 called, they want their and tags back
Custom electronics and digital signage for your business: www.evcircuits.com
All of this whining about Microsoft's approach to standards implementation on IE 8 sounds like it is coming from a bunch of academic eggheads who've not held a job in web development in their lives. I, like most web developers that have a job have been using user_agent sniffs for some time to make sure that IE 6's wonky non-standard approach is accounted for. I suspect that many have done the same as I - look for "MSIE" in the string, make the adjustments for MS's buggy implementation, and call it a day. So if Microsoft suddenly goes compliant every one of those pages will break. The only reason I didn't face a mass break on IE 7 is IE 7 goes to quirks mode when the doctype is missing (and it's missing on most all my legacy pages. My newer pages have them and I had to fix 12 of them for IE 7's changes).
Microsoft doesn't follow standards. I don't know about some of you nerds but I've got some 300 sites that have code that will break if MS decides to follow the standard. I don't personally like the idea of going in and rewriting the drive code for those pages again. Yes, it would have been better if Microsoft had followed the standard in the first place but they didn't and as far as I can tell this is about the only way out of the problem they've created for them.
Now I know that in the fantasy world of some the moment a new version of IE comes out the pages written to the bad standard MS foisted on us dissappear - but that isn't the case. Hell, there are pages out there still written for Netscape 4. Microsoft has the unenviable position of striking a balance between the needs of the development community - one standard to rule them all - and the clients of those developers - "I don't give a damn what you have to do to make it work, just make it work."
I don't know about the rest of you, but if my old clients started coming to me because their pages look like crap in the newest IE the words, "but it's Microsoft's fault - tech blah blah blah blah" they'll won't accept the explanation - because for most of them the explanation involves technical details they don't give a damn about and they pay us to handle for them because we're supposed to be the professionals. At the end of the day the majority of the world doesn't give a flying rat's hindquarters about standards - they simply want the web to work.
Microsoft does a lot of asinine crap that they fully deserve to be taken to task for - but this isn't one instance of it. Breaking pages to make way for the "future" would only further the drive of folks to other browsers.
All of that said, Microsoft has a cleaner solution available to them - change IE 8's http_user_agent string so completely that browser sniffing software will (presumably) feed them the standards compliant page. Personally that's what I do - if you're using IE, Firefox, Safari or Opera I'll adjust for your browser bugs - if not you'd better be able to handle CSS 2.1 strict cause that's what you're gonna get.
Yes, let the site break by default. Let it render like hell, without any change to the site. Just offer the user a "try to make this site look better" button, that will switch through the various so-called "compatibility" rendering modes.
Microsoft always does this; they ignore the user and focus on the developers (recall Ballmer's silly rant). Think about that for a moment. Their real market demand comes more indirectly from developers building software (yes, including web sites) that need Microsoft, and they know that.
But they're not blind to the users, nor do they always fear change. Think of the XP interface for folks who upgraded from 2000. It looked like a cartoon and took up lots of real estate. Users adapted; a change caused by an upgrade didn't bother them in the long run. Some [gasp] even found that Microsoft provided a nice "classic" option that restored their old look at feel. Even IE7 removed the menu bar by default, but let users restore it.
Now--stay with me for a context shift--the same can be true of a browser. The browser is a client-side piece of software. It can be upgraded, and the upgrade can make things different. Yes, even by default. But let the users click a button to have IE re-render any broken sites (site-wide, of course). Oh, what a burden, I can hear you protest. Fine, let's allow users to even set a preference that all sites should be set to use this "compatibility" mode by default. Then, if some seldom-used site looks bad because a user managed to stumble across one of the few odd standards-compliant sites (please mind the sarcasm) then they can set an exception for this site.
Basically your premise there is flawed; there's a false dichotomy you've presented to fix the breaking of millions of sites. Both of your solutions require the developers to take some action, one indeed less painful than the other.
I'm fine, Microsoft, with you inventing and respecting some non-standard tag, but let me be the voice of developers everywhere begging you to please let us summarily ignore this. Further, I suggest (yes, I'm still talking to you, Microsoft!) you not burden your prized developers any further, and actually consider distributing the pain as a much smaller burden on the end-users. They can and will adapt, soon, as long as you're sure to empower them with sufficient options to fix for themselves the mess you've made by thumbing your nose at web standards for all these years. It's Ok, admit you were wrong about web standards and do an about-face, just as you did with the Internet itself a decade ago.
"We love standards! We are responsible for releasing more new standards than anybody else! Hell, every release and patch we produce introduces several new standards..."
The real problem isn't on the browser side. It's in Dreamweaver, the most popular web page design tool. Dreamweaver does not create valid HTML or XHTML. Not even close. Create a page in Dreamweaver for anything later than HTML 3.2 and run it through the W3C validator. It will fail.
The basic problem is that the Dreamweaver people never really figured out what to do about CSS. In theory, CSS is supposed to have some abstract model of the format of some block of text, like TeX does. In practice, there's usually a big block of CSS with machine-generated names at the beginning of the web page. There's a fundamental disconnect between the CSS model and the Dreamweaver "Properties" box. So Dreamweaver is still inserting I, B and FONT tags.
In layout, Dreamweaver does table-based layout quite well, but DIV/FLOAT/CLEAR layout isn't handled well. Much of this is due to the limitations of the DIV/FLOAT/CLEAR approach. Tables are a 2D grid system, and map well to the drag-the-lines editor in Dreamweaver. DIV/FLOAT/CLEAR doesn't map well to a visual layout editor.
The end result is a mess. And HTML 5 doesn't help.
Businesses can do as they please, but consumers can always vote with their browsers.
Microsoft claims that the X-UA-Compatible flag is necessary on standards-compatible content to avoid breaking IE-specific content. I call BS.
For years, Microsoft has been telling everyone to put version-specific IE hacks in conditional comments, in case IE's behavior improves in future versions. Now that they are finally fixing IE, they spring this X-UA-Compatible "solution" on us, punishing those who have been producing standards-compliant content and rewarding the zombies who have been writing IE-specific code. If your site is standards-compliant, you have to do the extra work to tag it as such, and keep that crufty tag around for the foreseeable future!
If you sat down today and wrote a new standards-compliant browser, it would work just fine with almost all the content and web applications out there. Apple did this recently with Safari. Microsoft claims to have done this with IE 8. Safari didn't need any X-UA-Compatible flag. Why should IE 8 need one?
The only reason IE 8 would need the X-UA-Compatible flag is simply because it is IE 8. If their new browser identified itself as, say, "Microsoft Trident VI" instead, things would just work. Microsoft could still call it "Internet Explorer 8" for marketing purposes, but web developers would know that "MS Trident VI" means IE 8, just as "WebKit 4xx" means Safari 2 (or similar browsers) and Gecko means Firefox (or similar browsers).
Dear Microsoft, here's a sane solution for you:
As you see, it is possible to fix IE in a backward compatible way without introducing a X-UA-Compatible flag. The chances of Microsoft taking these steps is almost nil, since it places IE 8 on an even playing field with other standards-compliant browsers. That's why they are proposing X-UA-Compatible -- they can claim to support web standards while knowing that web developers will find it easier to muddle along than to use their stupid flag.
I read somewhere, possibly on /. that W3C had just released its first working draft for HTML5. How about have a tag in HTML5 that signifies the page as HTML5 (Which I'm sure it will) and then /all/ browsers are supposed to handle it as written. No "strict" or "loose" rendering. No quirks. Just all pages written in HTML5 (or revised up to the new standard) are required to be written correctly, and rendered "strictly.". This will give Microsoft a way out of the hole they've made, while saving some face. Leave the quirky rendering engine in place for all HTML4/Earlier pages out on the net. In a few years, drop the other renderers from the software (say around IE11) and the rest and then it will be a much nicer playground for everyone. Kind of like the Vista idea of stop being backward compatible (plan for it) so we can clean out all the trash.
In 5 years, when the old engines are removed leaving just the one way to render a page, ancient stuff written to specification will still work, the only thing is pages that are effectively "broken" will need to be fixed in 5-10 years... if there are any still around.
Collector's Edition
I despair at the IT field. Who says there's no other method of doing the right thing? IE8 has it's own agent string.
For everyone who uses Doctype, it can be assumed that they're using some kind of html generator, and that generator is already generating two kinds of pages, one for IE and one for w3c compliant browsers.
Just have the web server treat IE8 as a w3c compliant web browser... and have IE8 treat the web page as a w3c compliant/standard page, problem solved. Why would IE8 ever have to render a standards compliant page in a non-standard manner? And in those cases, shouldn't the page indicate that it's an IE7/non-standard page?
Jesus H Christ, folks, this ain't rocket science.
by refusing to accommodate a non-standards compliant browser.
As a web-dev I'm getting near the point of making webpages that look great in Firefox and other standards compliant browsers and only ensuring that the basic functionality works in IE. If things look like my dog's breakfast in IE, placing a handy link to www.getfirefox.com at the bottom of the page for viewers who want to view the site properly. Perhaps being even more vicious by writing javascript to blank out the entire page if the user is using IE.
The problem with going ahead with this Plan of Action is that it's then, me, the developer who looks like crap. It seems web developers are stuck between a rock and a hard place.
a) Don't support IE and have your pages render improperly for a fair whack of your user base, which makes you look like a bad designer or...
b) Spend countless hours fixing, tweaking, and using the myriad of IE hacks to make pages look half decent.
Usually I don't have a problem with Microsoft - hey, if they make a craptastic OS: I don't have to buy it. But when it comes to being a web developer they cause me serious headaches! I think the web development community should be up in arms about IE8.
Most consumers don't know they even have a choice.
Other than for security reasons, a lot of the reason that people recommend using a browser to others that isn't MSIE is page rendering. If they can remedy that, people have less of an incentive to use or recommend alternate browsers - the practical upshot of which to MS is presumably more people using MSN search which translates to ad revenue.
Plus it shows a lot of goodwill. Even as a MS-hating Mac user, I have to admit that they're doing a lot more recently to actually make their customers happy, or at least try. If you create stuff that people want, they'll use it on their own. The old model was lock-in by force, creating all sorts of ill-will and getting a lot of people looking for ways out of the platform. If you just give people what they want, there's no need for the shackles. Sort of making software for their customers rather than their business model, if you will.
For ME, I've locked myself into Firefox because it offers all the features I want (namely, extensions). Previously, I was locked into IE because I had no other choice. The old approach not only meant that I jumped ship as soon as an opportunity arose, but it meant that I love their competition. You know how marketing experts say that you absolutely do not want to have price be your only selling point? It's even worse when your only selling point is a lack of options. When Firefox became a viable option for me, I made the switch. Same for the Mac platform. There's a lot for Microsoft to lose by having their only competitive advantage being their having enough leverage to force their products down your throat. Making IE not suck is certainly in their best interest.
How are sites slashdotted when nobody reads TFAs?
I have seen the Acid2 smiley face, and no one's going to want that on their webpage, so what's the difference? Whoever came up with that test is stupid, because there's no way you are going to convince even 50% of the website owners to put a stupid happy face on their website.
New standards don't mean anything if no one uses them. A non-developer switching to a browser like Firefox simply because it "supports standards" would be like buying a high definition television fifteen years ago; you're still getting the same quality broadcasts.
W3 standards don't catch on because they're not intended for the end-user, they're intended for developers. End-users don't care that the columns on your website were coded in CSS rather than a table. If you want people to switch to a more developer friendly browser, you have to give 'em the old razzle dazzle. For example, let's say Macromedia Flash was introduced later in the game, relied on a W3C standard instead of a browser plugin, and that standard was only supported by non-IE browsers. Developers would be so anxious to use Flash that they would leave IE users in the dust, encouraging them to switch if they wanted to see the fancy dynamic content. IE users would then feel left out and switch to Firefox, which would end up with a 70% market share before Microsoft could even blink.
Unfortunately, in the real world, the actual result is that you have to code pages for a specific, lowest common denominator, which means that you have to play nice with IE. Developers' goals are dictated by what they can expect from their audience, not their own personal whims. For every additional plug-in you require your users to download, you are losing potential audience that simply gives up. Making people who aren't looking for something better than IE download an entirely new browser is going to really hurt traffic, and traffic means money.
Having said that, as a developer, I really hate Microsoft's continuing efforts to make my web design efforts a nightmare. I get a page looking slick and clean in Firefox using good coding standards, only to have IE puke it back at me looking like a total mess.
"Give a man fire, and he'll be warm for a day; set a man on fire, and he'll be warm for the rest of his life
What I don't get is why people even bothered with IE 6 "standards mode"?
Microsoft's documentation and documented quirks/workaround all over the web clearly laid out the case for using quirks mode for both IE 5 and 6 and waiting until at least IE 7 came out to implement any sort of "standards mode" rendering shift using the DOCTYPE switch.
Microsoft said quirks mode WOULD NOT CHANGE and that standards mode WOULD CHANGE with new browser versions. It was a NO BRAINER for any (competent) developer wanting their pages not to break with IE 7 or other future IE release to induce quirks mode (IE 5 rendering) in IE 6 using an HTML comment or XML processing instruction before the strict DOCTYPE and then using standards-compliant markup and CSS, with a separate compatibility stylesheet for fixing browser bugs targeted specifically to "lte IE 6" using conditional comments.
People having done this wouldn't have had to even touch the HTML again when/if a new IE browser version came out. The pages would render in standards-compliant mode for all current and future browsers that followed standards. The hacks/compatibility workarounds for non-standard IE issues would already have been dutifully contained and locked to the specific browser versions with the issues.
It's funny how it worked out that IE 7 suddenly started to render XHTML pages like this PROPERLY in standards mode, having fixed the XML processing instruction bug that triggered the IE 5/6 quirks mode for XHTML strict documents. HTML pages using the HTML comment before the DOCTYPE still render properly and in quirks mode in IE 7. All of this WITHOUT CHANGING ANYTHING.
There is absolutely no reason pages should have broken when IE 7 came out if developers were competent to begin with and coded defensively. I mean, come on, the information has been available since IE 6 came out and quirks mode rendering workarounds have been increasingly available throughout this time for use in your conditional-comments targeted stylesheets.
On another note: it is the very people at A List Apart who recommended this ignorant meta tag proposal to Microsoft, that were also responsible for teaching so many unsuspecting novices to standards-compliant web development to trigger and use IE 6 "standards mode" knowing full well that that mode was far from compliant and was subject to future breakage as the mode was updated with each future IE release (at least until IE caught up to modern standards-based rendering levels).
I mean, do you think their solution could possibly be well-conceived when their foresight is obviously so bad?
Come on, Microsoft! Open up a discussion on this issue before blindly taking the first potential solution that falls in your lap and forcing us web developers and customers whom are both yours and ours to deal with the potentially massive blowback!