As we have blogged about many times, one of our top goals for IE9 is enabling developers to utilize the same markup and code (HTML, CSS, and JavaScript) across all modern browsers. Part of enabling the same markup means changing existing Web platform behavior for standards-compliance and interoperability. We have published and updated the list of changes to the platform in the IE9 Guide for Developers along with platform previews so that developers have an opportunity to try new features and test early and often.
We carefully designed and implemented new platform features to ensure existing sites continue to run well in IE9’s Standards mode. As a result, for many Web developers, no additional work is required to prepare for IE9.
For sites that need to update, we have identified a set of changes more likely to impact existing code that does not use feature and behavior detection. These changes are documented in the IE9 Compatibility Cookbook, which we will continue to update based on your feedback. For your convenience, we have listed the changes with a higher probability of impact below. Refer to the IE9 Compatibility Cookbook for in-depth information on these changes.
Differences between IE9 and IE8 Standards modes
Differences in IE9’s platform behavior from IE8 across all document modes
- Text layout now uses sub-pixel positioning
- Angle Brackets Are Not Allowed in the createElement Method
- Function pointers to methods require “.call” or “.bind”
- Default User-Agent (UA) String Changed
- APIs Are Not Available if iFrame Is Removed from DOM Tree
- OBJECT fallback is included in DOM and matched by window[name]
- Certain dynamic VML patterns are no longer supported
- Indirect 'eval' function calls evaluate in global scope
- Table Object Model Is Now More Consistent with Other Browsers
- Thai and East Asian font sizes are properly respected so text may look smaller in IE9
- Content attributes and DOM expandos are no longer connected
Another important goal for IE9 is ensuring that legacy document modes continue to behave the same as they did in previous versions of IE. The only exceptions we make are to improve overall product quality in areas such as security.
If you are updating your site from IE7 mode, you may also want to look at Tony’s Site Compatibility and IE8 post.
- MIME-handling change: text/css
- MIME-handling change: text/plain
- MIME-handling change: X-Content-Type-Options: nosniff
- JavaScript property enumeration order has changed
Help Us Help You
If you think we’re missing a compatibility topic or one needs additional information, please contribute through the IE9 Compatibility Cookbook site.
—Tony Ross and Marc Silbey, Program Managers, Internet Explorer
![]()
More...