Historically JavaScript compatibility has been a major problem for web developers. Variations between the official spec, the de-facto standard, and the various implementations have kept many a developer up all night. The end result is that many web pages don't work equally well, or at all, across browsers.

Microsoft's JScript team, keenly aware that they are part of the problem, write:

The point is that JavaScript developers shouldn’t have to detect and workaround such issues. JavaScript should work the same across all implementations. We believe this is the first step in making JavaScript better. To make it possible to achieve such implementation conformance, the first step is knowing where the divergences are. We in the JScript team are looking into where various browser based implementations diverge, where our engine is incorrect in its interpretation of the specification, what if any de facto compatibility conventions have been reached, and the value of codifying such conventions into the standard. We’ve published the first draft of JScript Deviations from ES3 as a starting point.

The document's title, "JScript Deviations from ES3", is a bit of a misnomer. This document covers not only IE, but also the JavaScript implementations found in Firefox, Opera, and Safari. This is an in-depth study of the spec with a point by point comparison between what is suppose to happen and what actually does, for all four browsers.