I found this blog article about IE9 to be a technical but fascinating look at the challenges involved in setting and supporting standards.
In an ideal world, a standards specification is the complete story...
In the real world of the web, things are not so clear-cut. Specifications are seldom perfect and sometimes they are intentionally incomplete or ambiguous. Having served as editor for the ES5 specification, I know that there are always issues that donít get fully resolved. The result is that there are widely implemented and used features that are not defined by any standard specification.
This isn't just an IE issue - even though we all appreciate that IE has had more problems than others with supporting standards. I'm a strong devoted Opera user, but it's clear that over the years, Opera has also struggled to incorporate an interoperable version of EMCAScript.
So I didn't post this just to start another "let's bash IE again" thread. We all get it - IE has not done at all well by standards over many years. Instead I thought this was a very thoughtful blog post on the topic of what the challenges are - for ANY browser.
For example, the whole section about getter/setter methods is quite a good read.