CSS Support Could Be IE7's Weakest Link
Ritalin16 writes "Many web developers may be disappointed to hear that Microsoft decided to hold off on full CSS2 support with IE 7.0. As said by Microsoft-Watch: 'One partner said that Microsoft considers CSS2 to be a flawed standard and that the company is waiting for a later point release, such as CSS2.1 or CSS3, before throwing its complete support behind it.'" More commentary available from ZDNet. Generally related to the IE 7 Acid Test thrown down by Opera.
Support CSS 2.1. We're really not picky. Anything is better than nothing.
"One partner said that Microsoft considers CSS2 to be a "flawed" standard and that the company is waiting for a later point release, such as CSS2.1 or CSS3, before throwing its complete support behind it." If MS were so concerned about quality standards, they would embrace the best thing we have: CSS 2. And then, when 2.1 or 3 came along, they'd support that promptly.
I Want To Believe
Well, it probably does *help* to be doing acid when trying to get IE to work properly ...
See, that's the problem. It's just like Microsoft to say "We'll wait til later ( point release, such as CSS2.1 or CSS3) before throwing our complete support behind it" I don't understand! You have to plan for the future, no plan after the fact!
"I cannot think of any need in childhood as strong as the need for a father's protection." -- Sigmund Freud
Certainly not slashdot, it seems. In fact, they don't seem to be adhering to any standards at all.
Funny how that open source superiority give slashcode cruddy HTML code and horrible, outdated design.
Even when you design a standards compliant webpage you still need to use hacks to get things to work and validate correctly. And because of IE who refuses to fully support CSS it just makes life more miserable for web developers wasting time on figuring out how to hack together their code to display correctly on all web browsers. I hope companies start designing webpages for Firefox only and it will display a message when you try to access the site in IE saying please use firefox to access this website.
This specification defines Cascading Style Sheets, level 2 (CSS2). CSS2 is a style sheet language that allows authors and users to attach style (e.g., fonts, spacing, and aural cues) to structured documents (e.g., HTML documents and XML applications). By separating the presentation style of documents from the content of documents, CSS2 simplifies Web authoring and site maintenance.
CSS2 builds on CSS1 (see [CSS1]) and, with very few exceptions, all valid CSS1 style sheets are valid CSS2 style sheets. CSS2 supports media-specific style sheets so that authors may tailor the presentation of their documents to visual browsers, aural devices, printers, braille devices, handheld devices, etc. This specification also supports content positioning, downloadable fonts, table layout, features for internationalization, automatic counters and numbering, and some properties related to user interface.
more here:
http://www.w3.org/TR/REC-CSS2/
Microsoft has once again decided that it's going to go its own way, and I'm sure this means more crippled MS pages that other browsers can't read. I'm going to start making it very clear to my customers now that MS has no intention of playing nice on the web, and recommending Opera or Firefox.
The world's burning. Moped Jesus spotted on I50. Details at 11.
I guess that's not THAT bad.. Sure it would be nice to have CSS2 support, but security seems to be the #1 thing everyone bitches about around here and is probably more important.
Then again, I can't really see why they don't do both...
MS complaining about broken standards.
Mod me down with all of your hatred and your journey towards the dark side will be complete!
Yesterday I had to make a page.
I made it in firefox with no problems. Then, I looked at it in IE and it was terrible. If I code to standards why can't microsoft make their products support standards?
We consider the standard to be flawed. So instead we will continue with our flawed support of the previous standard.
room101 -- how much can you stand before they break you?
(they always break you eventually)
We don't want to support your flawed standard so we can have a chance to push our own flawed standards.
Lost at C:>. Found at C.
People will use IE7 because windows update will automatically put it in place of IE6 one day. It will fix some bugs and create others. It will not change how web developers create sites, it will not derail Firefox, it will not make people salivate for Longhorn.
What a load of crap! CSS3 builds up upon CSS2.1, and even though CSS2.1 is still a candidate recommendation, it's being pushed as the standard by the W3C (as evidenced by the fact they are linking to CSS 2.1 in the navigation menu of their CSS page)
Of course, some people are actually in favour of IE not supporting CSS any better than it currently does - with IE7 being unavailable on platforms older than XP, and any attempted improvement to CSS being likely to add more than it's share of CSS bugs, it would just make another browser developpers need to work around. The evil we know might just be better...
Karma: Could be worse (could be raining)
What. Just because their products have their own flaws means they should adopt all technologies that are flawed?
"Ideas without action are worthless."
Once upon a time, this would have worked. Take the emerging layout standard that doesn't use your bizarro extensions and strange layout tactics, decide not to support it, and force everyone who wants slick new layout features to write for either you or everyone else, or else write every page twice.
But I'm not so sure this is a good idea now. The fact is that more and more people are getting to the point that they would rather write for everyone but IE rather than just IE. I think falling behind on standards while steaming ahead with the next generation of crappy proprietary extensions just isn't going to work again. In fact, I think this might accellerate the death of IE.
Bottom line: bad move. The correct response to more competition is to compete, not to stick your fingers in your ears and scream "LA LA LA I'M NOT LISTENING!"
adam b.
Let's put two and two together:
Perhaps the new microsoft motto will be "IE's not done till Google doesn't run"
This won't be a huge problem since Google can simply update their code. However, I wouldn't be surprised if alot of JS functionality that would be very useful to google either now or in the future is simply "missing" on IE7
There has been alot of talk of Google launching a new era of computing with the web as the OS. But Microsoft controls the web (through IE), and they won't allow the web to become a competitor to Windows.
Rename CSS2 to CSS2.1 or CSS3
It doesn't matter what's inside the documents.
MS only supports what it want's to support.
Think about it!
Grundgesetz * 23. Mai 1949 - 30. November 2007 - http://www.vorratsdatenspeicherung.de/
I read the title and thought, "CSS will be IEs weakest link? Something doesn't sound right."
This sounds like typical Microsoft logic. "Just wait a bit longer and something better will come out." CSS2 is here now and people are using it. Support it instead of forcing web designers to put in loads of ugly hacks just to make your bloated software work as it should in the first place.
Yeah, I'm bashing Microsoft but it is deserved in this case.
We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
"I'm Microsoft, and I'm a big monopoly, so I'm arbitrarily deciding not to support standards I don't like. For no other reason than I don't like them. Secretly, it's just because I don't want to adopt standards that compete with my own, but my managers have told me to tell everyone I just think it's a buggy implementation. I never make any of those..."
Someone should start an organization that publicly hands out awards to companies that severely hinder the progress of technology. Microsoft would win every year. The web has been held back for seven years now because IE won't properly support CSS2. That's like someone developing an improved version of gasoline that costs and pollutes less, and then none of the gas stations adopting it for close to a decade even though it's cheap and available. You look back and shake your head that all this time, people could have been saving money and polluting the air less and they have no idea.
The general public doesn't even realize the web would look and interact much better than it does now. We should have been visiting more advanced websites years ago. But the web still looks and functions the way it did in 2000, because the majority browser IE doesn't adopt technological progress. It's times like these I wish I was rich enough to run public service commercials that stated all this, just to inform people how they're being hindered without even knowing it.
Someone should make a ie "plug in" that handdles ccs. We have a couple open rendering engines (geko/khtml)..
Could this be done?
Can we get the parent modded up? It's ridiculous for any employee of Slashdot to be criticizing anyone for their lack of support for web standards.
Forget the whales - save the babies.
I'm surprised it hasn't been said:
Wouldn't supporting CSS 2.1 or CSS 3 imply support for CSS 2? These standards are backwards-compatible, right?
I dislike CSS because it makes the most common layout formatting (columns) hard to implement. I also dislike that it has no inheritance. Just as an arbitrary illustration, I get sick of writing:
instead of, say:
Great concept, mediocre execution. This "flawed standard" garbage, however, is just a lame excuse.
My username does not make me Apathetic. It's irony, get it?
Many web developers may be disappointed to hear that Slashdot has decided to hold off on full CSS2 compatibility in the Slashcode product line....
"Who are in control, they are not in control of anything - they don't even control themselves!" - Glen Beck
I've decided that from here on out I will invoice my CSS time for IE seperately. Being that I create most browser interfaces in XHTML and all layout is 100% CSS, I will now isolate the huge chunk of time I must spend on each project for IE compatability. I will also make it clear UPFRONT by making an accountance in my proposol for just how my design time will be devided up and how much time I estimate to spend on IE compatability vs supporting the rest of the world.
Why single IE out on my invoices and proposols? To let companies know where that extra $2,000.00 went for 20-30 hours of my time. That's why. And in hopes that they will opt not to engage in that expenditure.
I'd urge all other UI designers and developers to do the same.
And if the client decides that they wish not to support IE, a small victory shall have been won.
It was fine 5-6 years ago to say "Ooops -- you're using that Netscape piece of shit, please come back using a real browser"
I say it's time we start doing this again, but for IE and for the exact same reasons.
Picture a web page that is full screen at any resolution. With a layout that is dynamic and easy to change based on user input without refreshing the page. Text that dynamically increases size for the user. A single web page that looks correct printed, on a web browser, a text mode browser, or even to a blind person. With multiple layouts that a user can choose (low bandiwth, high bandwith, no images, etc)
All that can be done with css, and its very easy to do. And all without any tables.
check out www.csszengarden.com or do some googles.
It's "flawed" because (A) it isn't in their patent portfolio, (B) they didn't invent it, (C) they don't make money off of it, and (D) it doesn't improve their marketshare or "mindshare". In other words, it's "flawed" because it isn't a Microsoft product.
With spending like this, exactly what are "conservatives" conserving?
What I do is build the site in Firefox so it renders perfectly. I know it'll likely render fine in Mozilla (obviously), Safari and Opera. But IE is likely to screw up positioning.
So I then add extra lines: * html div#content { top: 100px; /* hack for IE */
}
just after the correct code to move things
around on IE. IE is broken and interprets
the "* html", whereas other browsers correctly
ignore it.
In a very few cases I simply disable features in the IE version until it works - IE users get a slightly less nice looking site, but that's their problem.
Rich.
libguestfs - tools for accessing and modifying virtual machine disk images
People tend to assume that every Microsoft action is part of some evil master plan. The truth is that they're stumbling around in the dark a lot. The software development effort is conspicuously out of control, and many of their projects are a total mess.
Okay, let's now start tossing out possible reasons Microsoft wouldn't want to support CSS properly.
I'm guessing it, in some way, has to do with Market edge. More specifically, since a great deal of web sites design their pages to work with [flawed] MSIE rendering, all other browsers might be perceived as broken or inferior by the end user. "It worked fine under MSIE... let's just go back to it."
Essentially, I believe this demonstrates harm to the internet community at large and an effective hijacking of internet standards. Perhaps it would be considered a frivolous lawsuit in the end, but perhaps the W3C should file some sort of suit against Microsoft over the matter. It's the only thing that they and the public at large seems to understand really. "Why is Microsoft being sued again? Breaking the internet? Crap!"
You're probably thinking of JSSS, which was a stylesheet language based upon Javascript, introduced by Netscape 4, that competed with CSS. Internet Explorer has had a partial implementation of CSS since 3.0 (it was the first browser with CSS support).
Kind Regards
"A few great minds are enough to endow humanity with monstrous power, but a few great hearts are not enough to make us w
There are RUMORS people. The fact is, MS hasn't made any definite statements about IE7, except for announcing that there will be one. They've been very tight lipped about it, even within our internal-only IE discussion lists. Lets not waste our breath discussing this 'issue'.
I think that the latest incarnation of CSS may be the "standard", but since IE is by far and away the most popular browser its method of rendering pages is actually the de facto standard.
I don't know how many times I've read this statement from other people - "I like Firefox/Mozilla, but it doesn't render my bank/news/etc site correctly so I have to use IE." Or "I would use another browser but I support IE at work." A lot of people are stuck with IE because of its poor interoperability.
Now why would MS decide to spend money on extra development effort on a project that earns no revenue in order to increase interoperability, thereby incouraging web developers to fix their web sites so that competing browsers can render them correctly? This loses them both dollars and marketshare.
If a page doesn't adhere to standards, but renders well in popular browsers, what's the problem?
The problem, IMO, is that you don't know why or why not things render well.
By conforming to standards, you have a (debatably) clear set of rules that define certain behaviours. For example, you will know that if you want to have some number of pixels pad your elements, then you will not have to resort to ugly hacks to get the same layout in BrowserX as you do in BroswerY. Why? Because each browser will reference the rules for adding the specified amount of padding to an element, in the right place, and in the right proportions.
By not supporting standards, you have a number of problems:
Imagine whipping up a simple page to test out a new design idea in your browser of choice. Everything looks good. Now you try to use it on your production page. Something looks wrong. Is it because you've included it in a tag that overrides your specifications? Is it because you've arranged it next to an element whose properties are spilling over into your space? Is it because you tested it inside of a tag, for which the specification holds, but have erroneously tried to apply it to a tag that does not support it? How will you know, unless your browser developers tell you -- assuming they know themselves?
For me, that's why CSS is useful. For the most part, it's pretty clear as to what things support what attributes.
Since your post was originally about Slashdot's (non-)adherence to CSS and other web standards, here's one major incentive to switch over: bandwidth. Does anyone really like throwing money away?
"he only reason Microsoft doesn't support CSS properly is that they don't OWN it."
Considering Microsoft has sucessfully patented CSS, I don't see how they don't "own" it. Even if they have given W3C a license to it.
Burn Hollywood Burn
The real reason why Microsoft does not fully embrace W3C standards is because they want to move away from browser-based application. This is also the reason why they let IE development go into the tank.
In the browser-based application model, MS does not control the desktop. They have competitions from Firefox and Opera. More importantly, MS also does not control the server. They have competition not only from Apache, but also Google, Amazon, eBay, AOL, and anyone who publishes a web application.
Microsoft's aim is to control both ends of a network application. And the way they are going to do this is to replace HTTP web servers with IIS and Exchange Server and to replace web browsers with Outlook. The .NET platform is just a step towards that goal. If you accept IIS/Exchange and Outlook as a server/client network application platform, there is no need for W3C standards. It also eliminates any competition, or at least make the competition dependent on Microsoft technologies.
Therefore, any effort that Microsoft expends into making "the web" more usable, such as CSS compliance and updates to IE, only enhances the browser-based application model and hurts Microsoft in the long run.
Here are some interesting things to consider:
So, if Microsoft is refusing to attempt proper support for a standard that's been around for close to 7 years, and is waiting for a standard that's already been floating around for a year, why should anyone expect them to support anything whenever it's actually released?
I know this isn't a big suprise, but it's further evidence that they could honestly care less about standards unless there's something they can get out of it. When CSS3 is eventually released, we probably won't get support for another 5 years!
I'm against picketing, but I don't know how to show it.
Why would anybody want to use display: inline-block. The article I link to says "The real use of this value is when you want to give an inline element a width. In some circumstances some browsers don't allow a width on a real inline element, but if you switch to display: inline-block you are allowed to set a width." How many times are people going to run into a situation to need this?
*snip*
For a long time I've been trying to get a list that will appear like a table. You can make a list set them to display as inline. It works, but then you can not set a width, which then makes it useless.
I find it funny that the example you used to document CSS's failings is solved by a modification that you profess nobody needs.
concrete5: a cms made for marketing, but strong enough for geeks.
> if(isset($_SERVER["HTTP_ACCEPT"]) && stristr($_SERVER["HTTP_ACCEPT"],"application/xhtml +xml"))
;)
This is a common mistake. You really should parse out each entry and select based on q-values. What happens when the client says application/xhtml+xml;q=0 ("XHTML is unacceptable"), or even text/html;q=1.0, application/xhtml+xml;q=0.6 ("I prefer HTML, but I can handle XHTML to some extent")? Or is it ok to ignore one spec if you kinda follow another better?
Oh, and don't forget to switch your <link rel="stylesheet"> bits with <?xml-stylesheet ?> when you're serving as XML.
Personally, I tend to just stick with HTML 4.01. If I'm going to use XHTML, I like to use an XSLT to transform it to HTML 4.01 for naughty little browsers, which also handily enforces well-formedness in a way that allows for degredation to text/html-served broken XHTML instead of a browser-level parse error.