A LIST Apart: For People Who Make Websites

No. 251

Discuss: Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8

Pages

« First  <  23 24 25 26 >

241 Oh cheers Micro$oft!

Well, I downloaded IE8 beta 1 and gave it a whirl; waddaya know – they’ve broken the web (what a surprise – not!).

So they back-tracked on the default behaviour – to many developers’ delight (not mine) – so it renders in IE8’s version of the standards. But wait – it’s WORSE than that; it also takes account of our IE hacks – so it’s trying to render using IE8 standards mode AND apply the IE7 hacks. NOOOOOOOO!

Here’s what it does on my site (this is an abbreviated list!):

  • barfs on my inline tabbed lists
  • barfs on my rounded corners
  • my ‘skip to content’ link no longer works
  • randomly shows / hides some on my list bullets

I particularly like the bug that causes the page to jump to top when using the scroll-wheel on my mouse! This happens if the pointer dares to pass over a link. (Of course, I accept that this is only a beta, but please…)

The ‘good’ news? There’s a nice little button to the right of the tabs entitled ‘Emulate IE7’. When I click it I’m informed that I need to restart IE – but it doesn’t make it clear that I have to do that manually (I’d expected it to do that for me). Once restarted my site appears in all it’s glory – yay, no more broken web :-)

Oh, but hang-on. I’m now using IE7…

Question: If I now put the X-UA tag on my site, will it override the user’s choice to use IE7 emulation?…

posted at 03:05 pm on March 7, 2008 by Si Lin

242 This is what standards are for. Browser sniffing m

It appears that the author has forgotten the purpose of web standards altogether.

Standards specify how user agents should interpret a document. This allows us to create websites knowing that they will be rendered consistently among browsers. As new standards are completed and adopted (CSS 3, for example), we gain better design tools.

But there is another, crucial element to web standards: compliant browsers must support old standards. Five years from now, when we’re all (perhaps) writing HTML 6, the latest browsers will still be required to support HTML 4.01. An old website written in HTML 4.01 will not break in a new browser.

Although no browser is 100% faithful to the standards, their failings are so slight as to be unimportant. All except one: Internet Explorer. “Breaking the web” is not an issue for any browser except IE. If IE rendered web pages as accurately as Firefox, this article would never have existed.

I am delighted to hear that IE is reinventing itself as a standards-compliant browser. If Microsoft insist on an extra <meta> tag to ease their conscience, so be it. Compared to the hacks I need for IE6, a single <meta> tag is nothing.

But this approach must not spread. It is seductive and dangerous. If we require new browsers to include rendering code from all previous versions, then we will cripple browser development. Microsoft would love this: force its competitors to be lumbered with a bloated, legacy rendering engine like Trident; prevent them from ever cleaning out their codebases. Ha! That’ll slow down those pesky open-source kids.

Let us not disinter browser sniffing. Long now has it rotted, its unwholesome charnel stench sealed beneath the ground. Leave it there undisturbed; visit its grave only to remember the misery that once was ours when it walked the earth in horror.

But if we resurrect this monster, it will rampage beyond our control. We must not sell our inheritance for a Microsoft boon.

posted at 04:43 pm on March 8, 2008 by Mike Hopley

243 Untitled

Hello Aaron and all of you, people of reason and haters alike.

First, let me just say that this X-UA meta tag is really a great thing. Also, the new IE is the hell of a great software, the functions of Opera with the aesthetics and ergonomy of IE. it’s really too bad that Microsoft has backed down on the issue of what will be the default behavior when the meta tag is not there. DTDs are fine, but obviously they’re not enough. Add to that, people on the web are shouting as if continued support of old documents was not something to achieve. I wonder what’s going to happen when the silent majority realizes that their favorite websites are broken. I really hope people are going to be computer-fluent enough to click the “Emulate IE7” button.

Of course, people are saying, “if these sites had been coded according to standards, they wouldn’t be broken.” This is just plain wrong, as your article shows as I’ve noticed many times myself. Two compliant pages do not always display the same on two compliant browsers; in fact, it happens more often than not that empirical corrections or script hacks have to be applied by the designer. This is what elementary observation shows. I wonder how these people, often much more experienced than me in the area of web design, simply fail to see the reality that’s located right in front of their eyes.

This being said, I have questions, and I thought here was the best place to ask for them.

What happens to the DTD when the X-UA meta tag is used? I would say that if you require either the IE7 or IE8 rendering engine, the DTD is indeed still accounted for by IE8 (the software). Please correct me if I’m wrong.

But, I’ve noticed some weirdness related to this question with IE6. As a test, I have used the meta tag to request some IE6 rendering on my site. A few weeks ago, my work computer was still under IE6 and my site displayed (not entirely) correctly with this computer. On the other hand, it does not display correctly under IE5, in part because IE5 includes padding within an element’s height and width, which of course is not standard. I hope to correct this anytime soon.

As I understand (hope I’m not wrong), on this width-padding issue IE6 behaves as IE5 if there is no DTD, and behaves in another, more compliant way if there is a DTD.

Now, my site has a DTD, but the rendering obtained by requesting IE6 rendering with the X-UA meta tag is the same as IE5 rendering. I don’t understand this. Can someone explain?

P-S: it’s funny to see that people are actually too busy shouting to even bother trying the beta1. I see very little discussion stemming on the “Emulate IE7” button

Si Lin: I agree with you overall. And, I’ve also witnessed strange behaviors with lists, maybe not exactly the same as you. Not sure bu I was thinking, maybe my issues are related to my lists having a negative text-indent. Also, I have italic text which is cut at the end of lines. I really hope this is just a bug and not the new standards-compliant way…

Question: If I now put the X-UA tag on my site, will it override the user’s choice to use IE7 emulation?…

Answer: yes! Tested by me.

Now it would have been really funny if MS had prioritized the other way around. Those haters would have regretted all their shouting for IE7 rendering being left as opt-out.

posted at 12:54 am on March 17, 2008 by Lancelot du Lac

244 correction

Sorry about the little mistake. I meant:

“being left as opt-in”

at the end of my previous comment just above. Of course you had gotten it. Sorry again people. Now it’s corrected.

posted at 01:01 am on March 17, 2008 by Lancelot du Lac

245 A+ for effort.. But C- overall.

At some point there must be a line drawn. The whole point of standards are to provide a common correct way to develop something, and in this case, a website. Browsers should follow this, and update accordingly with the updates of the most recent public standards release. This means having support for all the current standards, then a web browser should be able to differentiate which standard to follow by a DOCTYPE of sorts (some way of identifying the standards that the web page was chosen to follow in).

Ultimately, this is how a browser’s architecture should be based on, not on the version that its at. Getting past this road block is the first step in creating a more complete and seamless web.

Suggestions should be made to the browser developers to follow standards, once all browsers are capable of following any of the standards created, the web should begin to return back to a normal state. That way, browsers and designers/developers wouldn’t need to follow versions, but follow standards, which is what they should be doing in the first place.

Version locking is an easy fix to a problem that has been going on too long. Truth be told, there is no easy fix to fix this, so we all must work on overcoming this bump in the road. Complaints and whining are not what make a good company persevere, they for one should know that.

posted at 10:38 pm on May 14, 2008 by Matthew Mihok

246 Being briefer

Here is a precis of my objection to this article:

After all, we shouldn’t make assumptions about how browsers will behave in the future.

Yes, we should. That is what standards do!

A standard defines, for all eternity, how compliant browsers should behave. Of course, we can also introduce new standards; but the old ones are set in stone.

posted at 04:14 pm on June 2, 2008 by Mike Hopley

247 Untitled

of course we shouldnt try to second guess how browsers would function in the future but it is recognized that a cmmon / mutual method would be beneficial to the community as a whole

posted at 09:05 pm on June 4, 2008 by Don Ace

248 Is there a "Middle Ground"?

I — like many designers in a structured development environment — have been struggling to find the best “cross section” of standards for our developers to follow that both render consistently for the targeted audience, yet allow for the practicalities and compromises (validation exceptions and such) that must be made for code implementation. Choosing a doctype with some conditional css goes so far, but a meta tag might allow for further refinement for display consistency and build in more forward-compatability. But I have to agree with those above concerned for where that may take us as the browsers progress.

So, rather than targeting a specific browser version, could the meta tag idea be used to target a range of standards rendering behaviors instead? I don’t imagine to know how that could work, but after reading this article, I wonder if meta tags for flagging rendering “exceptions” could be developed — as these could be tied more closely to the standards as they evolve. I imagine they’d offer some flexibilty and allow for progressive updating of a site as new browsers are released, as such meta tags could be inserted quickly and removed again when the site can be fully updated (instead of the rushed site updates every time new browser versions are released, as the article mentions). And using the meta tags wouldn’t lock a site to a particular browser or version, but a more of a “rendering mode” version instead.

posted at 07:23 pm on June 30, 2008 by Stephanie Marcum

249 supporting browsers

One of the biggest mistakes of the web development community was to struggle to try and make sites work on old or buggy browsers.

You see, we’re all really determined to give our end-users the best experience possible, even if it causes us vast amounts of pain trying to hack around Internet Exploder to try and convince it to do things properly.

But our efforts have backfired on us. By supporting buggy browsers, we’ve actually prolonged the life of the buggy browsers and the sites that came to rely on those buggy browsers.

If we resolutely stop supporting browsers with bugs, across the board, guess what will happen… People will stop using buggy browsers because all the sites they visit will be “broken�.

That in turn will make people with sites that break on standards-compliant browsers wake up and think “hey, I need to fix my site … now!�. It’s not going to take as long as you think for the world to adapt to a standards compliant nirvana.

posted at 03:44 pm on August 12, 2008 by Ruslan Katronov

250 standarts

From what I can see, this is actually a good idea. If you’re a browser vendor, and you don’t want to support this… well, don’t. No one’s forcing you to. Microsoft is just giving developers a way to say, “This page works with IE7. If you can, make it work like IE7 did.�

Saying “everyone should just follow the standards� is good and nice—except that the standards are very complex, sometimes ambiguous, and occasionally internally inconsistent. Just like C++ code, standards are written by people and can have bugs.

Also… IE isn’t the only browser that changes behavior across versions. Firefox 3 passes acid2 whereas FF2 doesn’t—obviously, the two versions mean something slightly different when they say they’re standards-compliant. Even in the “equal� world of standards-compliant browsers, some browsers are more equal than others.

As someone who builds intranet-style web applications (that work cross-browser, thank you very much ;-) I’d love to be able to pin my app down and say “This works with IE7 and Firefox 2 and Safari 3. Browsers, if you can act like any of those, you’ll deliver a good experience to my users.�

And I know it’s a good idea to test your web work with every browser you’ll want to support. Are you sure you’ll be in your current job, ready to do that, forever? Are you sure you’ll be able to spare the time to do that testing before users get new browsers?

posted at 03:46 pm on August 12, 2008 by Ruslan Katronov

Pages

« First  <  23 24 25 26 >

Discussion Closed

New comments are not being accepted, but you are welcome to explore what people said before we closed the door.

Got something to say?

Discuss this article. We reserve the right to delete flames, trolls, and wood nymphs.

Create a new account or sign in below if you’d like to leave a comment.

Remember me

Forgot your password?

Subscribe to this article's comments: RSS (what’s this?)