Microsoft Sends Broken Stylesheets to Opera 957
An anonymous reader writes "The Register has a story that the MSN homepage serves a different style sheet to the Opera web browser that makes Opera appear to be broken. Is this deliberate or a mistake? Who can possibly say? Opera's own take on the situation can be found here." This is not the first time.
Clearly This Sucks but.... (Score:1, Informative)
Identify As (Score:2, Informative)
Sites del. diff. content to different browsers... (Score:5, Informative)
..is fucking irritating. Don't mess with it!
NO! It it not necessary. It just makes things worse in the long run, so if you're doing this _you're_ part of the problem, so don't complain about how you have to treat browsers differently.
Sheeesh. Write to the standards, not browsers.
(And no, this isn't "insightful", it's totally _obvious_ to anyone with a clue)MSDN didn't work with Mozilla UA for a while (Score:4, Informative)
Rather coincidentally, it was fixed shortly after I filled out a MSFT survey that appeared as I tried to leave the site - I claimed I was leaving because I was fed up with changing my UA string. Of course, I'm not conceited enough to think they fixed their problems because of me
Not broken anymore? (Score:2, Informative)
www.wannabrowser.com (Score:5, Informative)
I'm not going to bother posting the results here but it's easy enough to see for yourself what the differences are.
Ben
Re:logically speaking.... (Score:3, Informative)
Maybe, but... (Score:2, Informative)
MSN (and other Microsoft sites) is very IE-centric. It uses several IE features, so probably it would already seem broken to Opera or Mozilla users. Probably that's why they serve a different stylesheet, to make the site work with other browsers. The reason why it doesn't work? Well... do you expect any Microsoft product to work flawlessly? ;o)
Just kidding, of course. I think it doesn't work with Opera because nobody uses Opera anyway :o)
Re:We need browser masking. (Score:3, Informative)
Re:Standards schmandards. (Score:5, Informative)
Re:Clearly This Sucks but.... (Score:5, Informative)
The problem here is that if you've set Opera to the report the true user-agent, MSN sends a page with a broken CSS file that tells the browser to render the content so that the page becomes unreadable--Here, they set a negative margin on content in some divs so that the first couple words in any column are overlapped by the div to the left, frustrating the viewer. Even IE chokes on the page they give to Opera:
http://deb.opera.com/howcome/2003/2/msn/opera7.
This is sabotage.
Read the original report here:
http://deb.opera.com/howcome/2003/2/msn/
Re:Clearly This Sucks but.... (Score:3, Informative)
Yes, it can.
But why should it? It just encouranges the stupidity of most 'web designers' who look at logs and say 'Oh, 98% of visitors use MSIE5/6, no need to write correct code, just kludge some MS-only code together'. Lather, rinse, repeat.
User-Agent string fascism and spoofing is a classic chicken and egg situation. Except the chicken in this case is an MCSE armed with MS Frontpage.
Re:Standards schmandards. (Score:4, Informative)
How the HELL did this get modded to 5?!? RTFA, the problem is MSN sending a perfectly-compliant, but deliberately flawed in values, CSS style sheet *only* to the Opera 7 browser. Note that the sheet values were chosen to instruct O7 to misrender the pages. Nothing the W3C can do about this, standards compliance wasn't the problem.
Re:Realplayer (Score:2, Informative)
No, it shouldn't. Not when they have 90% of the market share. This is monopolium, not free competition, and the same rules don't apply in this case.
In fairness (Score:3, Informative)
Re:Maybe, but... (Score:3, Informative)
Another article on ZDNET this time (Score:2, Informative)
Re:Standards and lies (Score:2, Informative)
The IE6 stylesheet for msn.com works fine with Opera, it's a special stylesheet MS is sending to Opera (when identifying as itself) that causes the page to render horribly, not due to extensions, but to general crappy things to do (setting child elements 30 pixels left of the parent).
If anything, MS is playing off Opera's adherance to standards here.
Re:Standards and lies (Score:2, Informative)
Re:Gimme a break (Score:2, Informative)
Ctrl-G (Score:2, Informative)
So what ? Hit Ctrl-G (to switch to user stylesheets defined in Opera) and you can see the MS content. If you love your mouse, hit the "Page" icon left of the address bar labeled "Toggle between author mode and user mode". Repeat this step after you changed to a non-broken page to see the original styles again.
BTW: MS is not the only one who has broken style sheets. But most other pages I've seen used broken style sheets accidentally. And yes, Ctrl-G helped with those pages.
Tux2000
Re:Microsoft destroys Netscape, Opera must be next (Score:3, Informative)
People have to stop thinking that the PC is all there is on the net...
Re:No fear of prosecurion, no problem! (Score:5, Informative)
MSDN [microsoft.com] has a similar behavior. I don't give a shit about MSN, but I needed to download the DirectX 8.1 SDK (to use OGRE [sf.net]) the other, and it was hell. I fact, I needed to identify as Mozilla 5 to see more than a few unrelated links on this page [microsoft.com] (try it if you have Opera. Change your identifier and reload the page)
Re:Standards schmandards. (Score:2, Informative)
Also, by addressing this area of concern, no flawed values would be present due to a difference in browser types - merely by other errors.
OTOH (On the other hand) remember that programmers make mistakes, and someone who has to write web pages using different syntax and markups can make mistakes if they are more comfortable writing for a different browser (i.e. I.E.). They are working for MS after all.
Re:No fear of prosecurion, no problem! (Score:3, Informative)
I wouldn't be suprised if there are many more Opera users than there were DR-DOS users. The number of PCs has exploded in the past several years, and Opera is a pretty well-known name among browsers.
No problems with Mozilla as Opera (Score:5, Informative)
user_pref("general.useragent.override", "Mozilla/4.0 (compatible; MSIE 6.0; MSIE 5.5; Windows NT 5.1) Opera 7.0 [en]");
I restarted Mozilla (1.3a), checked the about page (it shows the user agent) and then visited the MSN page. The page showed up fine. I thought that maybe that maybe MS had changed the CSS. I downloaded the style sheet in Mozilla and saw the -30 there. From what I can tell Mozilla must have a check to ensure that text does not appear outside of the cell, not matter what the css indicates. If Mozilla can do it, then the guys over at Opera can do it too.
Note - I am not saying that this clears MS, as any well implemented web site should only need one version of any page, unless they have localization. What I am saying is that this is a fixable issue on the part of Opera.
Re:Not necessarily saying this story isn't true, b (Score:3, Informative)
Re:Standards and lies (Score:5, Informative)
Yes, you can see the page, but it's not doing WHAT it SHOULD.
Re:Bad autodetection (Score:4, Informative)
The fact that it only sends the broken sheets to Opera 7 would indicate that someone at MSN wants to hurt the reputation of Opera's latest offering.
2) No. Nobody should have to browse with a false user-agent string. Period. The fact is, as much as we like standards, every browser has its own quirks and problems that must be worked around if you want to give all browsers the same experience.
A good webmaster can use the agent string to greatly improve the browsing experience for everyone. But bad ones use the information to mess with users of specific browsers[*], or to deny them access altogether, even though the vast majority of websites I've entered under false pretenses worked just fine.
The whole issue is about respect. Microsoft is not respecting my decision to use a non-IE browser. Coding to standards and ensuring cross-browser correctness shows respect to everyone who views your site. Locking out users of browsers you don't like shows disrespect for those who don't share your browser preferences.
[*] Not always to IE users' benefit. I remember one slashdotter who rigged his site so that anyone using IE ended up listening to the musical stylings of William Shatner.
Re:Clearly This Sucks but.... (Score:5, Informative)
Opera uses a bad disguise (Score:5, Informative)
RMN
~~~
Re:Quite the contrary (Score:3, Informative)
I suspect you can write a page that works in every browser that looks decent. I also suspect that, in doing so, you are violating W3C WAI guidelines, or at least being shortsighted in your compliance with them.
(I could be wrong about that, I have no idea who you are or what work you do. This is simply my general experience and please pardon me for jumping on you!)
The biggest problem with supporting every browser is that you're mixing up content with layout. You are most likely using tables for layout; if you know how to make a page look good in NS4 without doing that, let me know. The problem with this is that assistive devices try to comprehend your page by seperating content from layout, and tables are supposed to be used for content, and CSS for layout. But NS4 doesn't even begin to support that properly. This is an issue right now for WAI people and those of us who have to make our sites 508 compliant, but it's going to be more of an issue in the future as all browsers will need to clearly differentiate between layout and content.
We made the decision to simply stop supporting NS4 and comply with HTML 4.0 and CSS2. These are no longer cutting edge standards, and it does give our designers a lot more freedom in how a site looks. Yes, they -could- design something to work in every browser (and we did, until recently) but it is a whole lot of extra work to design something with tables and deal with all of the stuff that entails. So it's not a 'we're too dumb' thing, it's a 'we'd rather devote our creative energies to something that complies with standards that are now a couple years old than support a browser > 3% of people still use.'
And if we get someone who complains that they can't access our stuff with NS4, we mail them a CD with Mozilla or Phoenix. Your tax dollars at work.
Cheers,
Aquitaine
Program on Employment and Disability
Cornell University
Re:i dunno (Score:3, Informative)
Re:Who uses Opera (Score:3, Informative)
it.
2) Mouse gestures. Another control method is
great
3) Speed and it's not an M$ product
4) Ability to disable/enable cookies/plugins/javascript/java/referrer logging/ gif animation/annonying embedded audio/popups from a single panel by pressing F12. Very handy.
5) Ability to turn graphics off completely.
6) Good CSS support (Opera7)
7) Zoom feature -- handy for guys like me with coke bottle glasses.
When I have to use other computers that don't have Opera or Mozilla installed it's a painful experience.
Re:Standards schmandards. (Score:5, Informative)
Here's a tip for including CSS without having to worry about NS4 and (I think) IE4 screwing it up:
Use the CSS2 @import rule to import your style sheet.
The version 4 browsers will ignore this tag, therefore you don't have to worry about crashing NS4 with your perfectly valid CSS.
Example:
Re:Not necessarily saying this story isn't true, b (Score:3, Informative)
there is a non-standard 38 pixel indentation that Opera6 applies to lists. the change in the stylesheet is designed to overcome this bug. the rendering in Opera6 may look 'just fine' but in fact there's extra space in there that shouldn't be.
the fix in Opera7 means that the stylesheet causes the list to be indented 38px to the left.
Re:Oddity to me (Score:3, Informative)
Doubtful. (Score:3, Informative)
But this doesn't prove that management dictated this. It could have been some jackass web monkey deciding to Fight The Good Fight. Especially as it looks like it's been fixed already.
Not everything a huge company does is dictated from the top. Sometimes you get overzealous jerks in the lower ranks trying to be cute.
Re:No fear of prosecurion, no problem! (Score:3, Informative)
fdisk
'nuff said.
Re:Actually (Score:3, Informative)
While MS Office's "save as HTML" feature does not create compact or attractive code, it does not diverge from any HTML or CSS standards that I'm aware of. It just adds MORE tags and attributes to the standards, things for precise formatting control that aren't possible through simple HTML code and that the user agent is expected to ignore if it doesn't understand them.
"Clean" code and "Standards-compliant" code are not the same thing...
Re:Bad autodetection (Score:5, Informative)
If you read the discussion and set your filter below "+5 for loudly bashing MS", you would notice that Opera6.0 had a problem that was FIXED BY -30 OFFSET. So what you're looking at is the inability to distinguish between opera6.0 and opera7.0. Or, essentially bashing for the (somewhat screwd up) fix of opera6.0.
What truly amazes me is that opera.com description of the problem fails to mention that. I have to say that MSN guys come out looking *far better* than the Opera.
Re:Clearly This Sucks but.... (Score:3, Informative)
The problem is not all browsers apply margin and padding the same to elements; for example, Mozilla and IE give the body tag a margin, Opera gives it padding (as recommended by the W3C and common sense). Web weenies often try to remove this by setting margin: 0; while neglecting to set padding. A naive way to fix this would be to serve a stylesheet specifically to Opera setting margin to a *negitive* value of whatever padding happens to be set to, thus pulling the padding outside the viewport; the correct solution is obviously to just set padding: 0;.
Lists are similar; if you don't set margin *and* padding, you're liable to have things like this happen, because you've not defined what you want fully. This is especially true of lists, which are often built up quite differently in different browsers.
So, no need to go overboard on the conspiracy theories; this looks more like a web weenie who doesn't quite know what he's doing. I guess this is what happens when you hire graduates straight out of college
Re:No problems with Mozilla as Opera (Score:1, Informative)
Why should Opera "fix" their browser to display the WRONG thing?
READ THIS FOR EVIDENCE AS TO WHY IT HAPPENS (Score:5, Informative)
1st piece of evidence:
Amaya and Netscape Nav 4.7 both get fed the same stylesheet that Opera gets. Indicating that the site checks for Netscape 6 and above, and IE 6 and above only, providing a default style sheet to all other browsers.
2nd piece of evidence:
Mozilla gets the Netscape 6 stylesheet, which has the SAME bug that the default (passed to Opera) stylesheet has. The same -30px margin is passed to it, but Mozilla renders it correctly (latest build).
3rd piece of evidence:
Netscape Navigator 4.7 MANGLES the front page of MSN if you set the margin-left property to 0px instead of -30px. Here's NS4.7 showing the page with a modified site.css stylesheet:
http://home.earthlink.net/~simoncook
Whereas here is Netscape Navigator 4.7 using the unmodified stylesheet (the same one passed to Opera):
http://home.earthlink.net/~simoncooke/ns47orig.
Now, if you take a look at most sites, you will see that the most popular browsers are IE, followed by Netscape Navigator 4.7, followed by Netscape 6.x (including Mozilla), and finally trailed VERY FAR BEHIND by Opera.
http://www.sla.org/stats/conf2003/conf2003_sep0
Now if you were to realistically act as a site designer, you would go out of your way support IE, Netscape 6.x and company, and Netscape 4.7 -- which is the 2nd most used browser in the world.
And guess which browser needs a bugfix so that it doesn't crash when you pass it a stylesheet it doesn't understand, and so that it doesn't screw up the layout?
Yep, that's right, Netscape 4.7. Our 2nd place winner, and the one that this "horrible, Opera breaking stylesheet" was *actually* written for.
You know, a little research and a little critical thinking might not have set you down this path in the first place.
Simon
Re:READ THIS FOR EVIDENCE AS TO WHY IT HAPPENS (Score:3, Informative)
If you download the page and style-sheet (using wget) while identifying yourself as IE or any other browser than Opera, you set sent a web page and style sheet that renders properly in IE, and in Netscape, and in Opera.
If you download the page (using wget) identifying yourself as Opera7, you get a page that looks broken not just in Opera, but in every other browser too, including IE because the style sheet says to render it in a way that looks 'broken'.
Re:READ THIS FOR EVIDENCE AS TO WHY IT HAPPENS (Score:2, Informative)
True. But since the page has no DOCTYPE declaration, Mozilla goes into the quirks mode, emulating Netscape 4.x bugs.
Re:Clearly This Sucks but.... (Score:5, Informative)
Opera6 shows the page that MSIE6 receives just fine. I even included a screenshot of it on my page [opera.com] -- scroll down to the second image.
If you still believe this is Opera6's fault, please provide a test case showing how it fails.
Re:READ THIS FOR EVIDENCE AS TO WHY IT HAPPENS (Score:2, Informative)
One thing, though: it may have been changed between the time Opera did their tests and you did yours. this post [slashdot.org] seems to suggest so, anyway.
Re:READ THIS FOR EVIDENCE AS TO WHY IT HAPPENS (Score:3, Informative)
Am I correct in my understanding that the style sheet being returned for Opera and Mozilla is technically 'broken' as far as standards goes, and only works/worked because Opera didn't and Netscape still doesn't properly handle
"margin: -2px 0px 0px -30px;" ? Properly, it should move the text outside the frame the way this version currently renders in IE and Opera 7 ?
I'll also accept your word that MSN is -currently- returning a page that refers to 'site.css' for unidentified browsers. The opera.com article is quite specific that at the time they tested, it was referring to the IE version for unidentified browsers and it's possible that MSN changed it recently.
I stand behind the rest of my inflamatory rant. I can't see any reason why they'd send a special version when (I'm trusting opera.com's screenshots here) opera7 and opera 6 both render the "IE" version perfectly well. That's the entire POINT of CSS.
Conclusion; I accept that I grossly oversimplified, but I'm still left with the very strong feeling that MSN are sending different versions of CSS to try and break browsers, rather than to try and compensate for them.