Thursday, October 19th, 2006
Internet Explorer 7, the first platform update in over five years, has now been officially released as a finished product. IE7 offers a new user interface with some added features long offered by other browsers, as well as a few unique gadgets. To help reduce the impact of security vulnerabilities, they have added a phishing site detector similar to the ones the soon-to-be-released Firefox 2.0 and Opera 9.1 will have, and they have also made ActiveX an opt-in feature. Most of the vulnerabilities themselves will likely carry on from IE6 to IE7, and the Internet Explorer development team has indicated that their response to security vulnerabilities will remain basically the same as it was with IE6.
Most importantly for web developers, IE7 offers some long-overdue improvements to its support for web standards, mainly in the area of CSS. Some of the most annoying bugs in real-world web development, such as the non-definite treatment of the
width properties and various float and margin bugs, have been fixed. There is now at least preliminary support for
position: fixed, and
background-attachment:fixed on more elements. Box stretching using the
left properties is now supported.
:hover is now supported on additional elements, although there are a few bugs with it.
.class1.class2 now works as expected.
> combinator, the
+ combinator, attribute selectors, and other new selectors are now somewhat supported, though with a few show stopping bugs (see below). PNGs are apparently now automatically routed to the AlphaImageLoader filter, enabling alphatransparency without the need for extra hacks. There are some known problems with this new implementation, particularly when using PNGs as backgrounds in combination with other Microsoft filters. There is a new XMLHttpRequest object that similarly wraps the ActiveX control, providing a native-like interface to the object. The
abbr element is now supported as well.
These improvements have cleared out a lot of the immediate rubble that was in our way on the path to standards, but it is only the first milestone on a long journey. All of the above CSS additions still have a number of bugs that are left to be addressed in future releases. Many other bugs are also unaddressed in IE7. The problematic hasLayout model still exists in IE7, and even more properties trigger it than before.
outline and related properties,
quotes, and the
inherit values on nearly all properties remain completely unsupported despite other major browsers offering good support for all of them. Furthermore, there are some serious new bugs, including one that prevents floats from being cleared in certain situations, as well as a fundamental problem with selectors that prevents
:first-child and sibling combinators from behaving correctly around HTML comments or other non-element constructs. I personally reported the most serious of these bugs to Microsoft during the beta process, but these problems still remain in the final release.
Other remaining issues include the complete lack of support for XHTML (XHTML pages served with the typical
text/html content type header are instead treated like regular HTML, not XHTML, by most browsers including Internet Explorer; the correct content type is
application/xhtml+xml, which IE still doesn’t support), broken support for the
object element for simple tasks like embedding images, incorrect support for the
q element, no support for alternate stylesheets, and no significant work done on the scripting engine other than providing a native-like wrapper for the XMLHttpRequest object, providing interfaces for the new CSS properties, and fixing some memory leaks. More standards support information can be found in the Web browser standards support section.
The high-priority automatic update is expected to be deployed sometime in November, most likely either on the 1st or on November’s Patch Tuesday (the second Tuesday of the month). Internet Explorer 7 is only supported on Windows XP SP2 and the upcoming Windows Vista. Internet Explorer 7 can be downloaded from the official Internet Explorer site.
All-in-all, the developers did put a lot of work into this release and made about as much progress as one can expect in the time they had. Still, they were very far behind to start with, given the project’s long slumber from back in 2001, and it looks like Internet Explorer will continue to make up our development ceiling for the foreseeable future. Here’s to hoping for steady improvements in the future.
From previous announcements, it is expected that Microsoft will release a new version of Internet Explorer approximately every 12 to 18 months. Indications are that the next version will improve on CSS support as well as scripting/DOM support. Some early SVG support is also a possibility, although there hasn’t been confirmation on this.