Why do browsers have such poor support for W3C standards?

I can not understand.

Is it because people making browsers don't care? Is it because we, as developers, are already writing hacker code to get around things that don't work in X and Y browsers?

+4
source share
12 answers

History

There was the Great Browser War , which was eventually won by Internet Explorer, where manufacturers deliberately implemented features that were not compatible with other browsers in order to have these sites with these small icons. Designed for Netscape 4.5.

Being incompatible and having unique features, Microsoft won the browser war for at least a few years.

He's tough

Have you ever tried using complex CSS in a pretty standard browser? It is difficult to create anything because the standards are complex. I guess the implementation is even more complicated.

Old websites

Many websites were designed with incorrect HTML implementations (see my first section). If all browsers only implemented 100% compatible rendering mechanisms, many websites would break. They are trying to gradually fix it.

+13
source

I hate being the guy who links Joel's article, but this article is one of the best answers to the question.

http://www.joelonsoftware.com/items/2008/03/17.html

Unfortunately, this is so long that by the time you read it and think that this is a terrific article, you will forget how you got there and whom you should have raised. :)

+17
source
  • Many edge cases in the specifications are unspecified / unproven , and browsers end up implementing them differently (for example, HTML could not detect error recovery to version 5).

  • Large areas of "standards" are de facto standards that are leftovers in the browser and do not have the proper specifications - if any (for example, DOM0)

  • Some specifications are simply hard to understand and hard to implement (for example, the CSS visual formatting model — details of anonymous fields, collapsible fields, and built-in formatting contexts may make you dizzy)

  • It is more important that the browser provider has perfect compatibility with existing pages, and does not implement new features / standards that in the near future will not give them a competitive advantage. If standards and websites do not agree, websites always win (why the W3C had to accept HTML5 so as not to become inappropriate).

+6
source

Perhaps this is because browsers existed before the w3c standards and are not going to rewrite from scratch to meet ever-changing requirements. I think they are doing a good job introducing new features gradually.

+3
source

What browsers are you talking about? The WebKit and Opera engines have pretty good support for W3C standards (for example, both passed Acid3 some time ago). Firefox is a bit lacking in some areas, but still pretty good. IE ... well, IE is so popular that Microsoft doesn't care anyway, and Microsoft doesn't know how to play with other people anyway.

Of course, even most standards-compliant browsers still have a slight weakness in parsing web markup, but mainly because historically web designers / developers have not worked very hard to comply with the standards, either.

+2
source

In general, most browsers do not support Open Standards very well, including some of the oldest browsers in the world, such as Opera (this looks like 15 years old) and FireFox, which is somewhat based on Netscape, which also looks like 1993 or something. then i think.

The only ones who have “problems with the w3c standards” are Microsoft, and frankly, why they “experience so many problems,” I think you should ask them. But I assume that they don’t see any “money” in supporting the standards, as this would make it easier to create portable applications and encourage competition, etc ....

While that was said, a massive campaign is currently underway in Norway to permanently destroy IE6 faces of the earth, read some of the highlights here; http://ra-ajax.org/ground-zero-in-the-ongoing-war-against-ie6.blog

And this is my favorite;)

http://ra-ajax.org/facebook-joins-the-war-against-ie6.blog

+2
source

In order to “protect” IE (which is especially impairing standards support), they claim that it must maintain backward compatibility with the latest 100 millionth websites that expect “old” behavior in IE.

The good news is that in IE8, you can count on better standards-based rendering and a default script if your page is set up correctly.

+1
source

Dilbert wants to join an industry consortium promoting web service standards.

Flashy - http://www.dilbert.com/strips/comic/2005-12-31/

Less Flashy - http://www.dilbert.com/fast/2005-12-31/

0
source

This is just part of the standard that all vendors will not support. Browser developers, we might guess, were more pressured to add or improve features for users browsing the web, rather than refactoring their parsers and layout code to be more compatible.

Basically, it seems "good enough" because we all know how to jump through hoops to get around it.

0
source

One of the problems remains in the reverse order, compatible with older sites. For example, many standards-compliant browsers will not display sites correctly if they were made for IE6 and earlier. To compensate, more popular browsers (IE7 / 8 and Firefox 3) try to hide the cap - they retain the ability to display as much of the Internet as possible (even if the page is incompatible), and also approach W3C standards.

I suspect that in a few years this will become a problem.

0
source

This is the many-to-many market .

Read Joel Spolsky's excellent article.

0
source

If browsers are fully compliant, most websites will not be accessible. There must be a compromise.

0
source

All Articles