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."
> I doubt Acid2, nor Acid3 will have Microsoft extensions in them.
But lots of web pages will.
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.
In other news, many Americans against government bailout of mortgage companies that made bad loans...
--Phillip
Can you say BIRTH TAX
On a purely philosophical point... what is the use of having an international standard if the said standard changes based on the whims of a single corporation?
I get your point, and you may have a more real-world-ready opinion than some of us, but I am not ready to concede anything to MS in this regard.
There are other ways MS could address this issue rather than continuing their embrace extend destroy strategies. There is no reason IE specific tags should be required to make a page display according to an international standard.
If anything, broken pages should require tags to inform the browser that they do not conform to standards, and thus require special attention - not the other way around.
Forgive me if I'm wrong (as I'm not an HTML guru in the least) but isn't that the point of DOCTYPE? Meaning, if a broken page wants to use the buggy renderer they shouldn't be setting a strict DOCTYPE.
Microsoft is so committed to their long-standing policy of coddling the incompetent that they want a way to be lax on pages that specifically request a strict interpretation.
I have seen the future, and it is inconvenient.
The issue is that IE6 allowed people to use the strict rendering with out truly strictly rendering stuff. When IE7 was released that was more strict, it broke a lot of pages that assumed that strict worked because IE6 worked.
They already corupted the doctype tag. The logic behind the new tag is to indicate the renderer you want so future releases do not break the current page.
They dont want to break the web again (like IE7 did). So the web will work by default (as defined by IE 6) and new stuff that targets the new browser should not break when IE 9 is released.
They are attempting to end a cycle of new browsers breaking older pages.
What they need to do is do it right the first time and fix rendering bugs quickly. force people to fallow the standard and it will work. Microsoft should be the most accurate implementers of the specs because they have such a huge install base.
Im a gamer, not a grammer major. This post is full of spelling and grammer mistakes.
The possible downside is that precisely because these buggy pages work in IE, noone will bother to fix them. Imagine you're at IE12 and it's now a super anal 99.9% standards compatible browser in IE12 mode. What good will it do if pages still call for IE7 compatibility mode and are still broken on every other browser? That said, between "We won't fix the browser because it'd break sites" and "We won't fix the pages because they work" I think the latter is easier to fix and new code would presumably be written to spec and work in all browsers. So it's something of a percieved downside which I don't think is real.
Now, if I take on my hat as an IE user it's a slam dunk. More pages will work. If I take on the hat as a web developer, I know my pages won't suddenly break (because you were forced to use an IE hack to make it work right in the first place). Also a slam dunk. If I take on the hat of Microsoft, they don't get screaming customers about how they broke the intranet. Also a slam dunk. If Microsoft was really really nice, they'd put in their status line "This web page is designed for a higher version of IE. Please upgrade to ensure optimum performance" too, so we'd lose these buggy versions as quickly as possible.
It's easier to cut the developers loose and let them fix IE than the pains of trying to slowly break IE while not getting killed by angry customers. The sooner they get a standards compliant browser out there, the sooner we can get to *really* fixing the problem.
Live today, because you never know what tomorrow brings
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.
No, that's not at all the case.
Way back when the web was first taking off in a big way, browser vendors were adding lots of proprietary element types and attributes. Most of them weren't very well thought out, but there was a pressing need to get them into a specification to ensure interoperability. The result was HTML 3.2, with a lot of stuff that really shouldn't be in there.
The next version of HTML took all these out again because better ways (e.g. CSS) had been developed to handle their functionality. Of course, there needed to be an upgrade path from HTML 3.2 to HTML 4, so the W3C published HTML 4 in two major forms — a backwards-compatible document type, called "Transitional", and a modern document type, called "Strict".
That's what the "strict" refers to in the doctype. It's got nothing to do with rendering modes.
Now, when Internet Explorer 5 for the Mac was being developed, Microsoft realised that they couldn't improve its conformance to the specifications without breaking backwards compatibility. They came up with a hack that guessed whether to be backwards-compatible or specifications-compatible by looking at the doctype to see if it was there, if it was out of date, etc.
This "doctype switching" is a proprietary, non-standard hack, that happened to catch on amongst browsers. The fact that a document refers to the strict doctype does not imply that the developer is choosing a particular rendering mode, it just means that they are using a modern document type.
No, this is exactly what they are doing, and this is the very reason why such a switch is necessary.
No, this isn't the case. Any developer who wants Internet Explorer to use its most recent rendering engine at all times can select "edge" and be done with it.
Yes, and this is an attempt to do just that. Doctype switching is a proprietary hack. <meta> is the standard HTML method of including metadata. Furthermore, providing a switch like this allows them to slowly deprecate the older rendering engines over time.
No, this would cause mass regressions because there are a hell of a lot of unmaintained websites out there.
Bogtha Bogtha Bogtha
Secondly, it encourages the web to come to a halt, technology wise. As an expensive consultant to big companies, my experience has been that they all want to try to tell you "our web site has to look perfect on every version of every browser ever invented, period." Of course that's impossible, so once I drill it through their head that it's impossible, they have to settle for some major subset, at which time they always want me to use ancient UI technology for maximum compatibility. (Seriously, I deal with people who freak out if I want to use CSS positioning or an iframe, and god help me if I mention AJAX.) If they got the idea that browsers have a magical compatibility mode so that all future browsers will support pages written for today's browsers, they'll instantly write up a corporate policy that basically says that nothing will ever change again and for the rest of time their web site will be maintained as if it is forever 2005, and then they won't change it until someone practically holds a gun to their head to force them to.
Now, you're asking yourself, why should you care? Because it's more than a few idiots, it's a substantial portion of the web. Sure, there will always be little guys who will come along and innovate, but do you really want to deal with a web full of sites that forever use 2005 technology and just a few sites that have caught on to the latest stuff?
Opera, Mozilla/Firefox don't have this problem so why should Microsoft. By adding a tag that specifies the browser it makes the page browser specific and since we are talking IE it is now OS specific .
Sure a web developer could code other browsers in the tag but it will be ignored by other browsers because other browsers already follow standards and don't require the hint. The metatag might as well be called "IEVersion(tm)" because that's what it is. Once again, Microsoft is trying to make a standard Microsoft specific because they are too stupid, lazy or ignorant to implement what everyone else on the planet has agreed to.
Microsoft has no intention of ever being the "most accurate implementors of the specs" because they have no incentive. Implementing a standard does not make Microsoft more money, tying people to Microsoft products does.
The tag gives Microsoft a get out of jail free card so they don't have to follow standards ever again. Using the tag only reinforces their behaviour.
Some of what I say is fact, some is conjecture, the rest I'm just blowing out my ass...you guess.
Most consumers don't know they even have a choice.
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.