Slashdot Mirror


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."

43 of 434 comments (clear)

  1. Page specific tuning by mini+me · · Score: 5, Interesting

    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.

    1. Re:Page specific tuning by ozamosi · · Score: 5, Interesting

      The author of Acid2/3 is not amused by this meta tag. From the tone of that blog post, to me it sounds like he wouldn't shy away from actively try to break a mechanism like that by changing the URI to make sure that the browser that passes the Acid test actually does so for real.

      Note, though, that he doesn't say that explicitly, and you shouldn't assume that he will. It's my own conclusion, and you should draw your own, etc...

    2. Re:Page specific tuning by termix · · Score: 3, Insightful

      The meta tag is a GOOD idea, they just put it in the wrong place, EXISTING websites should be able to add a meta tag to continue use of the existing quirks mode, and going forward the default could then be acid mode.

      With that setup if people really wanted their website to render the old way they could just add a meta tag, and it doesn't mess with the new version of ie

    3. Re:Page specific tuning by timster · · Score: 5, Insightful

      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.
    4. Re:Page specific tuning by KevMar · · Score: 5, Insightful

      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.
    5. Re:Page specific tuning by Metasquares · · Score: 3, Informative

      As I recall, the reason many pages broke between the IE6 / IE7 transition was because people were hacking up their CSS and the parsing bugs underlying their hacks failed.

    6. Re:Page specific tuning by S.O.B. · · Score: 5, Insightful
      Here, let me fix that for you:

      They are attempting to end a cycle of new Microsoft browsers breaking older pages.

      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.
    7. Re:Page specific tuning by TENTH+SHOW+JAM · · Score: 3, Interesting

      Opera, Mozilla/Firefox don't have this problem so why should Microsoft.

      My current version of Firefox does not pass Acid2. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

      Any browser that follows the standard deserves my admiration. Adding more meta tags where this stuff should be in the doc type is not a correct decision and should be reviled.



      --
      A sig is placed here
      To display how futile
      English Haiku is
  2. And 100000 slashdotters... by geminidomino · · Score: 4, Funny

    shout "SURPRISE!" in unison.

  3. Steamrollin' On by flaming+error · · Score: 4, Insightful

    > I doubt Acid2, nor Acid3 will have Microsoft extensions in them.

    But lots of web pages will.

    1. Re:Steamrollin' On by Yetihehe · · Score: 4, Insightful

      My pages WILL have them, if it's easier to make render them correctly than custom hacking. I may not like IE8 but my clients will use it and they will require that my pages work ok on ie(6|7|8), firefox and opera.

      --
      Extreme Programming - Redundant Array of Inexpensive Developers
    2. Re:Steamrollin' On by filbranden · · Score: 3, Insightful

      they will require that my pages work ok on ie(6|7|8), firefox and opera.

      Then the tag won't serve your purpose. It won't make IE6 or IE7 render like IE8 would. The objective of the tag is the opposite, is for newer versions keep rendering broken pages as they render in broken versions of the browser.

      As long as you'll need to support IE6 (or IE7 for what it's worth) you won't need the tag at all.

  4. This just in.... by PPH · · Score: 4, Funny
    ... Microsoft ignores standards, goes off in their own direction.

    News at 11.

    --
    Have gnu, will travel.
  5. Amazing by idontgno · · Score: 5, Insightful

    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.
    1. Re:Amazing by Bogtha · · Score: 4, Insightful

      I think you're missing the point somewhat here, as are a lot of people. The core issue is that Microsoft have painted themselves into a corner by not following the specifications in the past. This makes it difficult to follow the specifications today, as all the pages that expect Internet Explorer to deviate from the specifications will break if Internet Explorer starts following the specifications.

      They solved this in the past by inventing doctype switching, which is a pretty poorly-thought out hack, and with conditional comments, which uses non-standard syntax. This approach, on the other hand, uses standard HTML syntax and is designed for this purpose.

      Far from being "A Microsoft extension to HTML" as some people are describing it, this is an attempt to retain backwards compatibility while fixing Internet Explorer to more closely follow the specifications. It does this using the standard HTML way of incorporating additional metadata. Let me repeat that: what you are seeing is Microsoft improving conformance with the specifications. The mechanism they are adding is so that older code doesn't break, which is an entirely reasonable thing to want.

      If you have a better idea of how they can satisfy the constraints of backwards compatibility and closer conformance to the specifications, please, describe it. As far as I can see, this is the best way of doing it. Sure, it's their own fault they are in this mess, but bitching about their past behaviour doesn't mean that this attempt to fix things is the wrong approach. Microsoft are doing the right thing here.

      --
      Bogtha Bogtha Bogtha
    2. Re:Amazing by LordLucless · · Score: 3, Insightful

      MS required a bigger change to websites earlier, when they deliberately broke IE6 as a result of the Eolas dispute. If they can break their browser to get around patent disputes, but not to comply with standards, it just shows where their priorities are.

      But this is a major new rendering engine, switching to it by default when it is totally unproven is a really bad idea.

      The idea is that MS would test their engine before shipping. A bit of an assumption, I know, but that's the theory.

      --
      Just because you're paranoid doesn't mean there isn't an invisible demon about to eat your face
    3. Re:Amazing by SL+Baur · · Score: 3, Insightful

      I think you're missing the point somewhat here, as are a lot of people. The core issue is that Microsoft have painted themselves into a corner by not following the specifications in the past. I think you have part of it right, just complete the thought.

      First, Microsoft only does things to further their own goals. This is not a matter for the convenience of non-Microsoft developers. This is an internal engineering decision for the benefit of internal Microsoft Windows developers same as the paragraph-spacing-for-word96-for-macos "tags" in MSOOXML.

      Second, Internet Explorer is a critical operating system component. Moreover, it functionally has a similar role to that of the Unix shell. As such, its defaults for how it renders HTML is a fundamental system interface. Nobody is perfect here. As an analogy, consider how on Linux systems, /bin/sh is usually a link to bash, then people write shell scripts with #!/bin/sh and then use bash extensions, which of course breaks when a Posix compliant /bin/sh exists. See we can make the same mistake too. The difference is that the Microsoft engineering team can't just tell apps to fix themselves (or have the users recompile the now-broken app). They must support the old interface in the same way that they have to keep other ABIs compatible.

      Do you see how this makes sense? IE8 can't break IE6 stuffs because that's a critical O/S interface that too many internal components rely upon. We can just say "You're an idiot. If you must use bashisms in scripts, you must also use #!/bin/bash #!/bin/bash-4.0.6 or whatever." Microsoft doesn't have the same luxury.

      Defaulting to IE6 behavior makes total sense if you think of it this way. So what would you rather have, standards compliance when viewing web pr0n and a non-functional MS Windows O/S (which probably cannot boot far enough to even get to the point where you can look at pr0n in the first place) or having your O/S continue to work as it has?

      As a general engineering solution, relying on specific version numbers to control behavior went out of fashion a couple decades ago. I'm not surprised other browser developers are not enthusiastic about the idea. However, I'm also not surprised to see this kind of thing in an end-to-end controlled environment where you can trace specific desired "non-standard" behavior to a specific version number and act accordingly.

      I will now present the source code to Internet Explorer 8:

      #include <ieglobals.h>
      extern int getDesiredIEVersion(int, char **, char **);

      void main(argc, argv, envp)
      int argc;
      char **argv, **envp;
      {
          switch (getDesiredIEVersion(argc, argv, envp)) {
          case 6:
          default:
              ie6_main(argc, argv, envp);
              break;
          case 7:
              ie7_main(argc, argv, envp);
              break;
          case 8:
              ie8_main(argc, argv, envp);
              break;
          }
      }
  6. Make Acid2 the Default by Ohio+Calvinist · · Score: 5, Interesting

    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.
    1. Re:Make Acid2 the Default by alexgieg · · Score: 5, Interesting

      Why not make Acid2 the default?
      Because lots and lots and LOTS of pages would break, among other things. Earlier today there was another article in ./ with a link to the full rationale behind this, and to me is makes a lot of sense. Basically, with this tag you can specify a version for each browser on which the site was tested and is known to work well, then all browsers might keep internally working versions of their legacy rendering engines (or a compatibility mode built in their newest engine, whatever works best in each case), and forever in future you'd have old sites being 100% readable in new browsers, no matter how much actually existing "de facto" and "official" standards change or get deprecated/replaced over time. An example from the above link, specifying the page renders correctly in IE 8's engine, Firefox 3's engine and (say) Opera 4's engine:

      <meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />

      What is there to not like in this? It's a simple, elegant and practical solution to this very real problem. Sure, it could have arrived earlier, but better later than never.
      --
      Conservatism: (n.) love of the existing evils. Liberalism: (n.) desire to substitute new evils for the existing ones.
    2. Re:Make Acid2 the Default by samkass · · Score: 5, Informative

      It's a simple, elegant and practical solution to this very real problem.

      It's a problem, though, that only Microsoft has. Everyone else is just expected to conform to the standards.

      Read here for the WebKit team's response to this and why they're not going to define or obey any such tags themselves.

      --
      E pluribus unum
    3. Re:Make Acid2 the Default by Kjella · · Score: 4, Insightful

      <meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
      What is there to not like in this? It's a simple, elegant and practical solution to this very real problem. Sure, it could have arrived earlier, but better later than never. I do know what all the non-IE users here on slashdot will say, and there's quite a few of them (myself included). First off, it looks like only Microsoft will use this, other browsers seem to have broken compatibility early and often and have a fairly rigorous standards compliance. I'm sure evil tounges will say it's because only a minority use these browsers, but I've not heard any noise over Firefox or Opera breaking pages by fixing things. On the whole they seem to be way ahead of web developers, so the benefit of extending it to other engines is pretty much neglible I'd say.

      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
    4. Re:Make Acid2 the Default by hr.wien · · Score: 3, Informative

      Yeah, I'd be fine with that, but that is unfortunately not how it works. IE8 will default to IE7 mode, and will only be standards compliant if you add the tag telling it you want it to be. That's what the uproar is about. This solution basically makes sure IE7 will be around (and targeted by developers not knowing any better) forever.

    5. Re:Make Acid2 the Default by TheMCP · · Score: 5, Insightful

      What is there to not like in this? It's a simple, elegant and practical solution to this very real problem.
      First of all, I've been working in software long enough to know that I can't trust it for a minute. Oh sure, they may say they're going to maintain all these special compatibility modes, but in reality one or more of the major browsers won't do it, or they'll try but they'll screw it up, or they'll do it for a while and then suddenly drop all the backwards compatibility stuff because they don't feel like maintaining it any more. Regardless, eventually it will come to pass that I can't trust the version specifying mechanism to do me any good, and I'll have to update my pages anyway.

      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?

    6. Re:Make Acid2 the Default by hr.wien · · Score: 4, Informative

      Read it and weep, I know I did. (Last 3 paragraphs are the relevant ones.)

  7. IDGI by the_B0fh · · Score: 5, Funny
    I don't get it. Why is there such an issue. As a dominant software company, Microsoft should be allowed to do what it wants. After all, what is best for Microsoft is also the best for America.


    Therefore, if you are against Microsoft, you must be a terrorist.


    Please report yourself to the nearest detention center for correction.

  8. Re:It's the most logical decision by Phillup · · Score: 4, Insightful

    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. Sounds like just the medicine they need for creating browser specific web pages.

    In other news, many Americans against government bailout of mortgage companies that made bad loans...
    --

    --Phillip

    Can you say BIRTH TAX
  9. Re:It's the most logical decision by ushering05401 · · Score: 5, Insightful

    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.

  10. Re:It's the most logical decision by PJ1216 · · Score: 5, Informative

    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. So, if I take a test and don't pass it, the test should update itself to include my wrong answers?
    ACID is designed to test a browser's adherence to a set standard. Its not designed to just 'test' a browser to see if it works. It's designed to see if it works the way a browser should. I say break the millions of web-pages and force them to get updated.
  11. Re:so? by peragrin · · Score: 4, Informative

    Firefox 3 should be ale to pass the acid 2 test. They have been working on it, and they don't introduce custom extensions to doctypes to render correctly, rather they are fixing their browser itself.

    MSFT dug itself into a hole. instead of getting out and filling the hole back in they are digging another hole to bring people down to their level.

    --
    i thought once I was found, but it was only a dream.
  12. Eh? by Luke+Dawson · · Score: 3, Funny

    [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.
    So all this time, they've assumed that we don't want our pages rendered correctly? Hmmm, that actually explains a lot...
  13. This is Microsoft's mistake to pay for by MobyDisk · · Score: 3, Informative

    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.

  14. Re:It's the most logical decision by kebes · · Score: 4, Informative

    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. I don't buy it (or maybe I just don't get it--if so, please explain).

    IE (just like Firefox, etc.) has a "quirks" mode which renders things in a non-standards compliant way, but is designed to "more or less work" with all the pages out there that are not strictly coded. This new tag is supposed to apply to web-pages where the web author has already explicitly said he wants strict rendering, because he said so in the DOCTYPE. But instead of just fixing IE so that it renders that standards-compliant code better and better, they propose to freeze that rendering sub-engine, and force web-developers to add a new tag that basically says "yes I really meant I wanted you to render strictly!"

    It seems to me that the majority of pages that rely on rendering quirks will be okay, since they will be rendered in quirks mode. But pages that were intended to be standards-compliant should be treated as such.

    Microsoft's plan isn't sustainable or elegant: they basically want the entire web-community to add another tag each time MS releases a new version of IE. (If they want a custom tag for the IE7->IE8 transition, they probably will want a new one for the next transition...) The entire point of these standards was to get away from browser-specific tags and hacks. A web developer shouldn't have to think about what browsers are on the market today (or 3 years from now): he should just code to the standard.

    Put otherwise: Instead of asking everyone who has written a standards-compliant page to add-in a non-standard tag to make it work in IE... wouldn't it be easier to tell everyone "hey, if you've coded a page that is ~almost~ standards-compliant, but relies in some way on IE7-specific behavior, then add in this <NotQuiteStandard> tag, and IE8 will render it like IE7."
  15. Please live in the real world.. by Chris_Jefferson · · Score: 3, Insightful

    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
  16. IE Is Not A Web Browser by Myopic · · Score: 3, Insightful

    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.

  17. History repeats itself by guruevi · · Score: 4, Funny

    1995 called, they want their and tags back

    --
    Custom electronics and digital signage for your business: www.evcircuits.com
  18. Re:It's the most logical decision by AmaDaden · · Score: 3, Insightful

    WHO is going to go through all of the Legacy websites to update that HTML?

    In the last 8 years I've probably done 20 websites for various NFP's, schools, and organizations I've been a member of or was hired by.
    You just answered your own question. It should be VERY trivial to add the one line of MS-HTML to these sites for you. They don't feel like paying someone to do it? Then they get a broken web site. It's sounds like I'm being an ass but in the long run it will be far less work for everyone. The switch over to standard HTML has to happen at some point, delaying it with stupid tricks is not going to make it any easier. If MS keeps up this kind of crap anyone coding to IE will just have a huge mess on their hands. They are just making it harder for web developers from here on out and by doing that they are shooting them self in the foot.
  19. The real problem is Dreamweaver by Animats · · Score: 4, Insightful

    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.

  20. Re:It's the most logical decision by Bogtha · · Score: 4, Insightful

    This new tag is supposed to apply to web-pages where the web author has already explicitly said he wants strict rendering, because he said so in the DOCTYPE.

    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.

    But instead of just fixing IE so that it renders that standards-compliant code better and better

    No, this is exactly what they are doing, and this is the very reason why such a switch is necessary.

    Microsoft's plan isn't sustainable or elegant: they basically want the entire web-community to add another tag each time MS releases a new version of IE.

    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.

    The entire point of these standards was to get away from browser-specific tags and hacks.

    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.

    Put otherwise: Instead of asking everyone who has written a standards-compliant page to add-in a non-standard tag to make it work in IE... wouldn't it be easier to tell everyone "hey, if you've coded a page that is ~almost~ standards-compliant, but relies in some way on IE7-specific behavior, then add in this <NotQuiteStandard> tag, and IE8 will render it like IE7."

    No, this would cause mass regressions because there are a hell of a lot of unmaintained websites out there.

    --
    Bogtha Bogtha Bogtha
  21. Worst... Proposal... Ever! by 200_success · · Score: 4, Interesting

    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:

    1. Ditch the X-UA-Compatible flag; it's a stupid idea.
    2. Continue supporting HTML conditional comments as you have been doing.
    3. Fix the layout engine and the CSS parser at the same time, so that any existing IE-specific CSS hacks become irrelevant.
    4. Add support for CSS conditional comments, to give web designers an escape route. Let's face it, CSS hacks are a reality, so we might as well have a tool to do it cleanly.
    5. Send this as the User-Agent string: Mozilla/5.0 (compatible; Microsoft Trident VI; Windows NT x.y; ...; Microsoft Internet Explorer 8.0; ...). Any server-side code doing browser sniffing, not seeing the "MSIE" string, should send a standards-compliant response. User-Agent strings have never really been logical anyway -- IE started this mess years ago by sending the "Mozilla" string, and Opera continued the trend by optionally sending the "MSIE" string -- so additional games in this area wouldn't do any more harm to the Web.
    6. In JScript, navigator.appName should return 'Microsoft Trident', and navigator.userAgent should return the string above. Client-side scripts doing explicit browser sniffing, not seeing the "MSIE" string, would suppress their legacy IE hacks.
    7. In JScript, document.all should evaluate to false (although expressions involving document.all can still behave as in older versions of IE). This approach worked for Mozilla, and it will work for Microsoft too.

    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.

  22. Re:Class action suit? by twistedsymphony · · Score: 3, Insightful

    Businesses can do as they please, but consumers can always vote with their browsers.
    The problem is that they don't usually vote that way but rather with a combination of ignorance and laziness.
  23. Re:Class action suit? by devjj · · Score: 4, Insightful

    Most consumers don't know they even have a choice.

  24. Re:Class action suit? by jesuscyborg · · Score: 5, Insightful

    Businesses can do as they please, but consumers can always vote with their browsers.
    Yes, consumers can "vote with their browsers" by choosing to use the ones that support all the awesome capabilities described in W3 standards! You know, those features that no website utilizes because IE doesn't support them.

    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.
  25. Re:It's the most logical decision by NereusRen · · Score: 3, Insightful

    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. Am I the only one who doesn't find this reassuring in the least?

    Setting -- 2014 AD. Microsoft's IE10 includes a dramatically improved rendering engine with better compliance to standards. This causes it to render pages significantly differently from IE8 and IE9.

    Microsoft: "To take advantage of our new rendering engine, please add the following tag to each page: [...]"

    Us: "What about the 'edge' attribute? Shouldn't you force everyone who specified that to follow standards by rendering their pages with the new engine?"

    Microsoft: "Too many pages are using that to mean 'render like IE8/9,' and using browser-specific hacks for those engines. It would break the web if we changed the rendering of those pages. Don't worry, we've added the attribute 'modern' that will always mean 'use the latest rendering engine,' so you'll never have this problem again."

    Us: [facepalm]