IE8 will have multiple render modes


Recommended Posts

There's no stance to be taken when you follow the proper standards. I just don't care, I'll follow standards.

Maybe I am not making myself very clear, but I don't think you understood the point.

Not every web page is standards based, and many aren't maintained. If we have all browsers just rendering standards based, then there are plenty that will just stop working properly.

Now, blame that on who you with. I agree that Microsoft are responsible for the situation. But we are where we are, and that is a fact. A pragmatic approach needs to be taken going forward which brings the best balance between not breaking all of these pages, and yet allowing standards based rendering for pages which are built in a standards based way (which most are now). This proposal is meant to tackle exactly that, and not to stunt the use of standards.

If you have a better solution which deals with the many facets of this problem in a pragmatic and sensible way then I am sure that Microsoft and WaSP would love to hear from you...

Maybe I am not making myself very clear, but I don't think you understood the point.

Not every web page is standards based, and many aren't maintained. If we have all browsers just rendering standards based, then there are plenty that will just stop working properly.

Now, blame that on who you with. I agree that Microsoft are responsible for the situation. But we are where we are, and that is a fact. A pragmatic approach needs to be taken going forward which brings the best balance between not breaking all of these pages, and yet allowing standards based rendering for pages which are built in a standards based way (which most are now). This proposal is meant to tackle exactly that, and not to stunt the use of standards.

If you have a better solution which deals with the many facets of this problem in a pragmatic and sensible way then I am sure that Microsoft and WaSP would love to hear from you...

I totally agree Microsoft are in between a rock and hard place, but eventually they will have to take the tough decision of making IE standards compliant by default. It's not feasible for IE to avoid being standards compliant until every last web page in the world is updated. The reality is pages will have to break if it's ever to happen.

If IE8 just renders like IE7 by default only those of us who care about web standards will bother to use IE8 super standards mode, meanwhile broken pages will still remain broken and bad developers will still be able to making broken websites, further adding to the problem.

In the end if a tough decision isn't made soon it'll just be an even more vicious circle than its already become.

When AOL had Netscape, they made sure that it could render most of the websites out there (95%+ was what they managed I think), and that was years ago), So there's no way 90% of websites are IE7 (or lower) only.

The problem is with the hacks, properly implemented (using conditional comments that include a version number) won't break anything, improperly implemented (assume that only IE will pass a certain CSS rule incorrectly, and then include the hacks for all browsers) makes stuff break (IE7 fixed a lot of issues with CSS parsing, but didn't greatly expand CSS support, so the hacks broke and they got CSS code they couldn't render)

Basically, MS screwed up (by not fixing their engine earlier, when they could have*), and now it's come back to bite them on the ass.

* Look at the box model bug, it's been in IE for ages but they didn't fix it until IE7 (fully), they could have corrected the behavior and sent out a hotfix, but didn't (look at Firefox, in one release they broke floats with cleared elements, they released an update to fix it, meaning nobody has to worry about the bad behavior)

When AOL had Netscape, they made sure that it could render most of the websites out there (95%+ was what they managed I think), and that was years ago).

Source?

Oh boy... I already hated this idea in Netscape, now why, oh why does Microsoft have to copy it and reintroduce it years later?

In theory, each engine should render the same way, so the result should be the same, but the method used to display the result may differ.

It's because IE6 lacked of standards that AOL had to do it in Netscape, because the whole FF engine was way different (way better) and rendered this completely differently, but why does MS... in 2008... have to do this?

Oh boy... I already hated this idea in Netscape, now why, oh why does Microsoft have to copy it and reintroduce it years later?

In theory, each engine should render the same way, so the result should be the same, but the method used to display the result may differ.

It's because IE6 lacked of standards that AOL had to do it in Netscape, because the whole FF engine was way different (way better) and rendered this completely differently, but why does MS... in 2008... have to do this?

So that it doesnt break existing websites.

But if existing websites display well in FF and bad in IE, it means that they're standard and not broken.

If they display well in IE but not in FF, chances are that the website IS broken.

So if IE8 complies to the real standards, like FF does, there's no problem, right?

Yeah, but that's not what they're worried about.

They're worried about sites using hacks for older versions which will still apply to IE8 (Which is what happened with IE7, it could render sites better so IE6 hacks started breaking because sites didn't bother to make sure the hacks only applied to IE6).

So they're worried about breaking badly written (IMO) sites that use standards mode, but which are unmaintained (because I'd fire the designers if they didn't know IE7 was coming)

So you would rather code sites/web apps (not sure which you build) that don't work on 90% of the browsers out there?

I'm surprised you stay in business at all.

I code both that work on 100% of browsers out there, thanks very much. I code to standards, ensuring that even Lynx works (because I have to do accessibility to the max), verifying at every step and then fixing / hacking for IE versions dating back to 5.01 depending on what the clients has installed (I don't support IE5.2/Mac any more). What I want is a version of IE that doesn't need repeated telling, above and beyond what all the other mode-switching browsers require, to render a standards compliant page that I send it in standards mode. I've never advocated a standards-only-or-be-damned approach to rendering and I don't see why you're lumping me in with all of those who do.

I fully appreciate the need for being able to render the old non-compliant pages. I disagree with making the default rendering mode (regardless of what is sent) a previous version unless I add extra unnecessary cruft to an already compliant page. Defaulting to fallback ensures that non-compliant sites continue to be developed as they will "work" and stagnate the web even more than the Dark Ages of IE6.

A possible good idea was to have some kind of notification that although a page was claiming to be compliant, it wasn't. It wouldn't have to be huge, something like the RSS icon would do in the address bar (the warning icon that Fx HTML validator produces would be just right; a yellow triangle with an exclamation mark). Tooltip would point out site is non-compliant and that if it looks squiffy, that is why. An option to render in an alternative mode could be offered. There could even be optional "report to webmaster" that sends to webmaster@domain. Enough of those and a current site would get the maintenance it needs. If it doesn't, then that is not my problem. Users would get fed up of going to a site that continually reports that it is lying about itself and go to an alternative.

Legacy sites are a different beast as by their very nature, they aren't going to get updated and are simply there as a resource. If you can get the content out of it then who cares how they render? Chances are they will only work in IE < 7 anyway.

Intranets and internal webapps are another different beast. They tend to be coded to a certain version of IE and to hell with any other browser (or version). That is a problem for corporate admins to solve, not something to turn around and inflict on external sites and developers. Just because some BigCo uses IE5.5 on Windows 2000 with legacy NT4 Workstation and won't upgrade internally is their deal.

I heard that using the HTML 5 doctype may by itself (without any IE 8 junk added) let the site run in "full" standards mode both on IE 8, Firefox, Opera, and whatever have you. So that could be a way out of this mess. The proposed HTML 5 doctype would simply be: <!DOCTYPE html>. See more here: http://ejohn.org/blog/html5-doctype/

So I'll probably switch to that DOCTYPE, although I'm still a bit annoyed that MS is forcing me to do either this or introducing their homebrewn meta tags to let my websites use the standards mode. It's also still a cludge, because my "HTML 5" page might still be an HTML 4.01 page, and just a hack to make IE 8 (and *hopefully* IE 9+!) render it right.

In my misguided mind, I thought using the official W3 doctypes like e.g. XHTML 1.0 or HTML 4.01 would be the end of this mad story. If a site is saying it's using XHTML 1.0 Strict, why the hell should IE 8 assume it's written for IE 7 standards mode?

Edited by Jugalator

It looks like the HTML5 pages will still need the meta tags (they already activate standards mode in IE, so they wouldn't activate super standards mode in IE8 unless MS decide HTML5 is to be treated differently than other specs)

It looks like the HTML5 pages will still need the meta tags (they already activate standards mode in IE, so they wouldn't activate super standards mode in IE8 unless MS decide HTML5 is to be treated differently than other specs)

This looks to be a source of these news:

“Steve”: Are there any doctypes that do not require this new meta tag to render with the IE8 rendering engine?

Chris Wilson: @Steve - sure. Any unknown (i.e. not widely deployed) DOCTYPE. HTML5, for example.

http://intertwingly.net/blog/2008/01/23/Su...ing-Quirks-Mode

Although with that wording, I guess it's anyone's guess what Microsoft might do if HTML5 becomes more "widely deployed" in the future. Will they then too tie the web standard to render with a specific IE version's quirks mode? This also of course makes it tough for competing browser vendors in keeping e.g. an XHTML 1.0 page as similar as possible as to how IE 7 would have rendered it to avoid problems, since MS refuse to have those pages render for the latest standards unless the page explicitly tells it to render on IE 8 (or maybe IE 9 or whatever in the future). Gah...

Edited by Jugalator

I think Microsoft needs to use super-standards mode by default and cut this non-standard bull.

Sevan: Internet Explorer 8 will contain multiple render engines that will render pages in "Super Standards" mode which is new in Internet Explorer 8, standards mode as defined by Internet Explorer 7, or quirks mode as defined by Internet Explorer 6.

“Steve”: Are there any doctypes that do not require this new meta tag to render with the IE8 rendering engine?

Chris Wilson: @Steve - sure. Any unknown (i.e. not widely deployed) DOCTYPE. HTML5, for example.

That is really dumb. That means that I can send

&lt;!DOCTYPE scoobydoo&gt;

without a HTTP header / <meta /> tag and it will render in IE8 standards mode whereas sending

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

without a HTTP header / <meta /> tag will render in "downlevel" (IE7) mode.

What Microsoft dont and never have got is that they caused this problem and its not one easily fixed.

When one builds a website one has to take into account all the different browsers it will be displayed on. Thanks to the differences between IE 5.5 / 6 / 7 this is becoming a nightmare, not to mention Firefox and Safari support. Although Firefox and Safari (with IE 7) tent to follow the rules.

Ehh, maybe I'm just confused (I'll go with what Chris Wilson says any day over something I read on a site), HTML5 is already treated as standards mode in IE6 and 7, so i assume it would be the same in IE8 (or maybe IE6 and 7 already treat any unknown doctypes as always running in standards mode, but that doesn't explain why it would fall back to quirks mode when it hit XHTML pages with the XML PI, since it couldn't parse the doctype then)

Anyway, unless you really want to, nobody should be using HTML5 at the moment, it's only a working draft at the W3C (heavy implementation at this state is going to lead to the same problems IE had with rendering bugs, people assumed it was supposed to happen)

That is really dumb. That means that I can send
&lt;!DOCTYPE scoobydoo&gt;

without a HTTP header / <meta /> tag and it will render in IE8 standards mode whereas sending

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

without a HTTP header / <meta /> tag will render in "downlevel" (IE7) mode.

LOL +1

Microsoft and standards compliance is all talk and no change. You can see it in everything they do. Usually it's not an attempt at the 3 Es though, just complete ignorance of the demand out there.

Ehh, maybe I'm just confused (I'll go with what Chris Wilson says any day over something I read on a site), HTML5 is already treated as standards mode in IE6 and 7, so i assume it would be the same in IE8 (or maybe IE6 and 7 already treat any unknown doctypes as always running in standards mode, but that doesn't explain why it would fall back to quirks mode when it hit XHTML pages with the XML PI, since it couldn't parse the doctype then)

Anyway, unless you really want to, nobody should be using HTML5 at the moment, it's only a working draft at the W3C (heavy implementation at this state is going to lead to the same problems IE had with rendering bugs, people assumed it was supposed to happen)

Using HTML5 will be ok if you are willing to adapt as the spec changes.

If you adapt then there's no problem, but if people start using it and assume rendering bugs are intended we'll have the same problems all over again.

If it renders like IE7 by default novice developers will continue to developer for IE7 rendering, which will only make the problem worse.

sorry MS but i'm not adding an extra meta tag just to make my pages render in your browser. I'm going to continue serving my pages according to the latest standards, and if IE8 is competent it'll render the pages without hacks.

Sorry this isn't about you but the customer and their needs. Bad developer......

sorry MS but i'm not adding an extra meta tag just to make my pages render in your browser. I'm going to continue serving my pages according to the latest standards, and if IE8 is competent it'll render the pages without hacks.

Well, if everyone transitions to IE8 and you don't transition your page as well, you are left in the dust and not IE8.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • I am one of the first people to use the DXVK technology. In the channel below you can see some videos that I have made using this technology, including Assassin's Creed Odyssey. https://www.youtube.com/@nahum7995/videos Assassin's Creed Odyssey experienced several bugs and technical issues during its first months after release. It launched with its own fair share of funny but frustrating glitches. I ran it on DXVK 9 days after its release and I played it for many hours but didn't see a single significant bug on Linux. Assassin's Creed Odyssey is widely celebrated for pushing the franchise in bold new directions and specifically for nailing several elements better than any other title in the AC series: Player Choice & Branching Narrative, The Mercenary & Cultist System, Mythological Integration, Overpowered Combat Abilities, Open World Exploration But what I'm trying to point out is that this game wasn't quite playable on most windows systems, until a few months after its release when most of the bugs were fixed. However, on Linux it ran completely flawless from day one, although DXVK had seen little development and refinement at the time. What do you think the situation will be in 2026 now that most bugs and glitches of DXVK have been completely eliminated? This is information from Google about these situations that I am quoting. In many cases, using DXVK (a translation layer that converts DirectX 9, 10, or 11 into Vulkan) can result in more stable frame times and higher performance than native Windows rendering. This happens primarily by bypassing driver overhead and multithreading draw calls that were previously restricted to a single CPU core. Older APIs (like DirectX 9 and 11) are largely single-threaded on the CPU side. DXVK translates these calls to Vulkan, which is highly multi-threaded. This reduces CPU-bound stuttering on weaker processors. In certain cases, GPU manufacturers (especially AMD) have significantly better and more modern Vulkan drivers than they do for legacy DirectX. Vulkan gives developers—and in this case, the translation layer—closer control over how resources are held in VRAM. This can prevent micro-stutters and sudden frame drops during chaotic gameplay. Yes, certain games, particularly older DirectX 9 to 11 titles, can run with fewer crashes on DXVK than on native Windows. By intercepting DirectX draw calls and translating them into the modern, highly efficient Vulkan API, DXVK bypasses the limitations and poor driver support that cause instability in aging game engines. PlayStation 1, PlayStation 2 and PlayStation 3 can be easily and perfectly emulated on Linux. In fact, modern Linux emulators offer high-performance upscaling, widescreen patches, and automatic controller mapping out of the box.                                                                                                                                                                                                                                                                                                                                 PlayStation 1/2/3 games look drastically better on Linux thanks to resolution upscaling. Furthermore, it is also a fact that you cannot play many fun games on Windows either, isn't it? - The Nintendo Switch has an extensive library of exclusive games. - PlayStation has an extensive library of exclusive games - Android has "mobile-exclusive" games, meaning they are exclusive to mobile devices (iOS and Android) and aren't available on PC or consoles. And finally, it is also the case that in the next five years there will be games that millions of people will say you absolutely must play and that they want to play this specific game that released a few days ago. However, the other side of this story is that currently, absolutely no one cares that they cannot play these upcoming games right now.
    • Flameshot 14.0 RC3 by Razvan Serea Flameshot is a free and open-source, cross-platform tool to take screenshots with many built-in features to save you time. Using Flameshot is as simple as launching, dragging the selection box to cover the area you want to capture, making annotations as needed in on-screen and saving the shot to your computer, all with a very simple and straightforward interface. Flameshot allows users to simply upload their screenshots directly to the cloud in order to easily share it with others. You can upload your image directly to Imgur with a single click and share the URL with others. In-app screenshot editing - You can choose to add an arrow mark, highlight text, blur a section (blur or pixelate an area), add a text, draw something, add a rectangular/circular shaped border, add an incrementing counter number, and add a solid color box with Flameshot's built-in editing tools. Command-line interface (CLI) - Flameshot has several commands you can use in the terminal without launching the GUI via a command line interface. The command line interface lets you script Flameshot and use it as the subject of key binds. Flameshot 14.0 RC3 changelog: Translations update from Hosted Weblate by @weblate in #4612 Translations update from Hosted Weblate by @weblate in #4619 Fix pin position on Windows for scaled screen by @ElTh0r0 in #4614 Cmake Analyzers by @ElTh0r0 in #4613 Translations update from Hosted Weblate by @weblate in #4632 fix(macos): prevent config tab content from rendering behind tab bar by @Mitnitsky in #4627 fix(macos): use CGRequestScreenCaptureAccess instead of grabWindow for permission request by @Mitnitsky in #4617 Fix KDE Plasma keyboard shortcut config file by @ElTh0r0 in #4637 fix(macos): fix clipboard copy failing from tray and GUI by @Mitnitsky in #4629 feature(macos): show dock icon when config window is open by @Mitnitsky in #4628 Option to disable tray icon on Windows by @ElTh0r0 in #4634 Translations update from Hosted Weblate by @weblate in #4642 fix(macos): make fullscreen capture overlay configurable by @Mitnitsky in #4622 Update GH actions using Node.js 24 by @ElTh0r0 in #4660 fix issue with screen selection in non interactive mode by @borgmanJeremy in #4667 Uniformize both spec files + ninja build openSUSE by @QuentiumYT in #4658 screengrabber: pass non-empty parent_window to xdg-desktop-portal by @artefaktor93 in #4664 Allow multiple flameshot GUI instances (fix for #3177) by @ElTh0r0 in #4680 Unify Linux ARM CI into Linux CI (also drop QEMU) by @theofficialgman in #4702 respect system proxy settings by @borgmanJeremy in #4674 Replace ifdef LINUX with UNIX to include BSD systems by @ElTh0r0 in #4700 Download: Flameshot 14.0 RC3 | 18.1 MB (Open Source) Download: Flameshot Portable | 53.0 MB Links: Flameshot Home Page | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • I found that stability back then was really down to the motherboard manufacturer. Back then i stuck with Microstar motherboards and VIA chipsets as they were ultra reliable. Most stuff was done with jumpers and left little room for user created problems 👍
  • Recent Achievements

    • One Month Later
      nothanks earned a badge
      One Month Later
    • One Month Later
      B2Proxy earned a badge
      One Month Later
    • One Year In
      MadMung0 earned a badge
      One Year In
    • Week One Done
      jefred earned a badge
      Week One Done
    • Apprentice
      JoeyNeo went up a rank
      Apprentice
  • Popular Contributors

    1. 1
      +primortal
      490
    2. 2
      PsYcHoKiLLa
      232
    3. 3
      Skyfrog
      78
    4. 4
      FloatingFatMan
      68
    5. 5
      Michael Scrip
      58
  • Tell a friend

    Love Neowin? Tell a friend!