Making IE Standards Compliant
spin2cool writes "Dean Edwards has taken it upon himself to make Internet Explorer W3C compliant. How? Well, it isn't by patching the application, as you might suspect. He's created a stylesheet, dubbed 'IE7' that uses DHTML to load and parse style sheets into a form that IE can understand. Just include the style sheet in your HTML pages, and things should render correctly. The complexity of the CSS transformations is really amazing and shows off the power of this stuff."
.. it's a sad state of affairs when a developer outside of Microsoft actually ends up doing something that MS should have done themselves. So they can say 'screw it' to standards and someone else does the finger-work.
Fact is that IE 6 doesn't even support CSS2 properly which became a W3C recommendation in 1998.
--
The world is divided in two categories:
those with a loaded gun and those who dig. You dig.
The site is /.ed, but from what I can make out from the front page, this is making IE CSS standards compliant. Does it also work some magic to make it compliant with HTML (or even better, XHTML) standards (which would be far more useful), or is that just impossible?
In any event, this may allow me to actually use some CSS 2, a standard that was published in May 1998 (almost 6 years ago!) and still isn't (fully) supported by the leading browser in the world...
Sometimes to me /.-ing a site doesn't compute with me- So the server has had so many incoming requests its gone kaput, but in all those hits not one person has kept a copy of this stylesheet.. ??
It's just simple text!
Do people just blindly click on links just because they are posted?
Live in your skin. Keep changing the scenery.
This isn't a problem with FFox not being standards compliant, but a problem with the slashcode not being standard html. See the faq. Bugs have been filed already.
the pun is mightier than the sword
that's right, and that's why all developers have the right to bitch about it and let off some steam, i myself having just spent the last 2 weeks developing 3 versions of a site design; firefox/opera (ie; standards compliant), ie5 and ie6.
at least in ie6 they've fixed that div padding and margin issue (where ms blatantly ignored w3c standards and made their own), but it's still annoying because now it means you have to do a version for ie5 and a version for ie6!
and ie6 ignores div heights, aaargh.. never ends!!
and unfortunately i can't add any comments on this actual article cos i still can't get to it!
> mozilla was last released yesterday - ie6 was
:-)
> released 2+ years ago
So, you're saying that the problem is not IE but the broken proprietry way of building softwarwe that can't can release new versions in time to answer real customer needs?
I think I agree
Gilad
Gilad.
Microsoft has little benefit in ensuring that IE complies with standards -- as a matter of fact, now that they have over eighty percent marketshare, I would go so far as to say that it is to their benefit to have divergent behavior. Nobody cares about a bunch of web designers grumbling about a broken browser when the masses Just Want It To Look Right and blame the designer when it doesn't.
Wouldn't life be grand if Microsoft shipped the open source Mozilla as their default browser?
May we never see th
So I'll ask the burning question here: How is creating a stylesheet to be included in individual web pages considered making IE standards compliant? Wouldn'the the article be more acurate if it read "modifying web site allows it to be rendered correctly in IE6?"
Do people just blindly click on links just because they are posted?
Judging from the angry shouts and grumbles in lab when someone decides to mass-message a goatse link, I'd say the answer is yes.
Seriously the slashdot effect is one of the reasons that Bittorrent was originally developed.
If somebody had grabbed the files we could had a torrent mirror delivering the files in seconds.
Other than that, every other site I use works great in Mozilla, including banking sites and other sites that you'd think would be tempted to make the IE-only mistake.
What I don't miss is the pop-up I used to have to endure in IE when I disabled ActiveX, not to mention it's countless lack of features (tabbed browsing, popup blocking, etc,...).
Open Standards Portal
Remember when Microsoft was releasing and improving IE on a rapid basis? Let's see, when did Microsoft allegedly win the browser war? Oh, about two years ago. When did Microsoft stop innovating IE? Oh, about two years ago. Since then, Microsoft doesn't care cause they have the browser market locked up. Therefore we need to download stuff like this and google toolbars to add pop up blocking and all kind of other third party stuff to get IE up to some modern day level.
Unfortunately if MS continues like it has done, the web will stagnate with no cool new features appearing. MS has made it clear they're not interested in making IE standards complient or adding any new enhancements. Since 95% of people use IE (and probably have no clue that there is anything other than IE available), if IE is never enhanced then web developers will forever be stuck in the trap of never being able to use any cool new features that IE doesn't currently support. Very few web developers will be happy adding features to their website that make it unusable for 95% of their visitors (although it seems that professional web developers have no problem with making their sites only work with IE).
:)
What I'd love to see someone do at some point is re-skin FireFox to look like IE and then abuse one of IE's many security holes to replace IE with the reskinned FireFox on any machine that visits the website.
http://blog.nexusuk.org
Why would I use Internet Explorer anyway? In my opinion everbody should use Firebird or Konqueror...=)
If you can just sniff and serve up IE a different style sheet to make your site render correct, who cares? No more hacking to make work arounds for IE. As long as you dont have to change the design of your site (except for a sniff for IE), who cares.
IE is one the crappiest browser out there. So many other browsers are so far ahead, heck you only need tabbed browsing to achieve that status. Thank god, MSFT did not kill off browser competition. On my Mac it is all Camino (needs a panther tab update) and Safari.
"I don't think it's selfish, to eat defenseless shellfish." -NOFX
Rather than fixing IE, how about using the same method to make Mozilla render pages designed for IE correctly?
Mozilla is my favorite browser in both Windows and Linux platforms, and it works so well that whenever I stumble with a broken page, I blame it to site designers, not Mozilla, and move along.
However, sometimes I need to browse the broken page. Wouldn't it be cool if you could fire up some DHTML code to parse the broken page and make it standards compliant, so Mozilla (and others) can read it flawlessly?
This wouldn't encourage correct site design, but while in that fight, it would be a nice temporary solution.... do you think this could be done?
This type of solution doesn't really fix the problem that the CSS2 W3C standards aren't correctly supported in any browser. We deal with having to support old browser versions all the time, and believe me, the W3C standards (particularly the DOM), really help to reduce the amount of logic we need to duplicate for various user agents. However, we haven't the luxury of saying, "bah, forget the old browsers, our users have only the very best". So, our server scripts output HTML 4.01 and scripts redirect on failed functional tests and noscript tags to non-script versions of the site.
The point is, CSS2 doesn't fill its intended purpose for those who must support legacy apps. Its faster to bite the bullet and format layouts with tables, and it works for ancient browsers (Netscape 4.x anyone?). To me, that's one of the main advantages of JSP, PHP, ASP, and the like: I can include complex logic in my site and output lame ole' HTML 4.01. Code and UI are separated, and everyone is happy.
Besides, take a lesson from Google, simple layouts are best.
That would be silly, because it would be stooping to the IE's level.
If I ever see a web page that specifically excludes me because I use a Non-Supported Browser, or deliberately crashes my browser, I'm not going to listen to that web designer's plea of Using Another Browser. Instead, I go elsewhere.
But if I see a site promoting the author's favorite browser in a sensible, non-intrusive way, I'm not annoyed at all - still might not be interested to switch this very instant, but at least I'm not annoyed. =)
Didn't we learn anything from the last browser wars?
Because it's used by the majority of the people on the Internet, and the people this "fix" is aimed at are the ones who are responsible for getting websites to work for everyone, not just those that use the developers' favourite browser.
Sure, it would be great if nobody used Internet Explorer, or if Microsoft fixed Internet Explorer, but that simply isn't the case, and pointing fingers at Microsoft won't solve the problem, whether it's their fault or not.
So your analogy would be more accurate if you said "Here's a dictionary so you can read the signs around town. If you want to talk to a native, though, I recommend you continue shouting slowly in English."
It's not useless, but it's also not a complete solution to the fact that IE isn't standards compliant.
What would be really useful, is if a large site like w3m, slashdot or, why not, microsoft (ok maybe not) would host this stylesheet. This has a number of advantages:
- stylesheet can be cached: no penalty on website size
- a central version with the latest stable release: less fuss for website maintainers
DNA is the ultimate spaghetti code.
The trouble is...what if you don't have a windows computer to see how 'it looks' under IE? I can run just about any other browser under the sun on my development stations, all linux....except IE.
I'm still trying to figure how to run IE under wine...but, never have been able to do it with no windows partitions...
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
It's probably a bug in the way styles are generated to be passed to the typography engine. It's caused when you apply a margin to a p:first-letter pseudo-element, with a styled run of text after the margin. If you use a seperate span instead of the pseudo element, it works. Anyway, this wouldn't be a big deal if only MS accepted bug reports and fixed them :P
Then again, what I would really like is M$ forced to use the standards, and any improvements to that have to go through the appropriate bodies for inclusion...In fact, i'd just like to see IE gone....and Windows...oh, and M$...
When all is said and done, nothing changes...
It is meaningless to comment by saying "hey I use firefox", because the rest of the world is not using it. Now still 25% of my visitors are using IE 5.5, given that IE 6.0 is there 4 years ago.
Yes, it is much easier to make Mozilla/Opera more IE-complaint. [See IE Emu]
It is also quite easy to design a new set of API such that they are deligated to the correct version supported by the browser in runtime. [See DHTMLLib] [See CBE]
But these are just the wrong way.
A patch to IE means:
It is exactly something like Cygwin, which implies UNIX-style programs are correct programs. When you move to Linux is just your choice.
That's a pretty good question. But the beauty of this thing is that it allows web designers to use all W3C compliant techniques and then make them work correctly in IE6 without massive changes to their code. Just saying "modifying web site allows it to be rendered correctly in IE6" leaves people with the impression that they need to go through a re-coding project instead of just including a style sheet.
Maybe a better headline would be: "New standards compliancy stylesheet for IE6 clients eases cross-browser development for web developers." Or something like that.
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
Don't be so sure; I wouldn't be surprised to see a message saying, "this security update is incompatible with the following programs, please remove them: mozilla, firebird, opera, ..."
It's all part of the 'secure computing' initiative. The fewer vendors you are dealing with, the more secure it is, right?
This is an age-old problem for web developers. Good developers test their work in multiple browsers, and should also do a test in browsers a few versions back. This might mean keeping an extra box lying around that runs Windows, or using VMWARE or WINE to run Internet Explorer. People might flame me and say that any good developer KNOWS what the content will look like in different browsers and tries to produce a browser-agnostic design, but experience tells me that there's nothing like a quick test to find your mistakes.
GreyPoopon
--
Why is it I can write insightful comments but can't come up with a clever signature?
I knew somebody would bring this up. Pedantism pays off when coding, it's not unwarranted criticism.
You state that "no browser in the world will break with this behaviour". It's already happened once with this exact error. This error was even more common in HTML documents a while ago, and then a version of Netscape came out that couldn't understand links that were broken in this way. The result was that anybody using Netscape (the most popular browser at the time) would have to deal with broken links if the author thought they could get away with these errors.
There are lots of examples where people think that error-handling or proprietary behaviour can be relied upon, and then a new version of a browser comes out that catches them out. It's such a simple thing to get right that it's just plain stupid to not do so.
I have found that the DoNotUseIE.patch file has upgraded it to 100% open standards compliance, and this cannot be overridden by any future version of IE or other Microsoft extensions.
Microsoft lawyers will contact you shortly about your violation of the DMCA. Applying this patch violates their copyright. All your browser are belong to us!
24 beers in a case, 24 hours in a day. Coincidence? I think not!
Great... more bloat because of, or from Microsoft. On the upside, if everyone starts using it, IE will be the slowest loading browser. Mozilla and Opera will start making faster headway and MS might begin to think it is a good idea to implement standards, w3c's instead of MS.
There needs to be a website where the anal retentive, grammar/spelling police can post endless comments on the proper usage of commas, spelling and punctuation and hilarious examples like the one above. However, I don't think /. is the right forum for this.
/.ers speak English as a second language. How many languages do you speak/write? Do you always do it flawlessly?
Many
Unless the error substantially changes the meaning of the post, these types of comments should be rated as Off Topic.
There is nothing so powerful as an idea whose time has come.
Rather than fixing IE, how about using the same method to make Mozilla render pages designed for IE correctly?
Pages should not be designed for browser x (replace x with browser of choice). This is bad web design. Web pages should be designed to follow standards, as should web browsers. In many cases I would also recommend not using the latest rendition of a standard, since most browsers probably don't support it. The philosphy of web design, is 'write for all, view by all'. NOT 'write for one, view by one' as this is lazy, shows bad design and is just careless. I like to be able to use the browser on whatever computer I am sitting at and still have it display correctly.
This is a rant, but one which I feel passionatly about. Now don't get me going on how Macromedia Flash also shows signs of poor web design.
Jumpstart the tartan drive.
Many /.ers speak English as a second language. How many languages do you speak/write? Do you always do it flawlessly?
Actually, MOST people I know from other countries who speak/write English as a second language do it FAR better than most native English speakers I know.
I would wager dollars to doughnuts that the person who makes a mistake like that is NOT foreign.
HTML is a standard that Microsoft employees have tried to subvert in every possible way to perpetuate their corporate hegemony. Yet they have failed to enforce their defacto standard on the Web, due to stubborn plurality of the Web, and the superiority of the actual standard. Just because you worship M$'s monopoly, don't expect the rest of us to ignore their deliberate vandalism of our environment.
--
make install -not war