Standards and CSS in IE

I’m very happy that we’ve shipped IE 7 beta 1. I wanted to make it clear
that we know Beta 1 makes little progress for web developers in improving
our standards support, particularly in our CSS implementation. I feel badly
about this, but we have been focused on how to get the most done overall for
IE7, so due to our lead time for locking down beta releases and ramping up
our team, we could not get a whole lot done in the platform in beta 1.
However, I know this will be better in Beta 2 – and I want to share how we
are placing our priorities in IE.

In the web platform team that I lead, our top priority is (and will
likely always be) security – not just mechanical “fix buffer overruns” type
stuff, but innovative stuff like the anti-phishing work and low-rights IE.
For IE7 in particular, our next major priority is removing the biggest
causes of difficulty for web developers. To that end, we’ve dug through a
lot of sites detailing IE bugs that cause pain for web developers, like
PositionIsEverything and Quirksmode, and categorized and investigated those
issues; we’ve taken feedback from you directly (yes, we do read the
responses to our blog posts) on what bugs affect you the most and what
features you’d most like to see, and we’ve planned out what we can and can’t
do in IE7.

In IE7, we will fix as many of the worst bugs that web developers hit as
we can, and we will add the critical most-requested features from the
standards as well. Though you won’t see (most of) these until Beta 2, we
have already fixed the following bugs from
PositionIsEverything and

  • Peekaboo bug
  • Guillotine bug
  • Duplicate Character bug
  • Border Chaos
  • No Scroll bug
  • 3 Pixel Text Jog
  • Magic Creeping Text bug
  • Bottom Margin bug on Hover
  • Losing the ability to highlight text under the top border
  • IE/Win Line-height bug
  • Double Float Margin Bug
  • Quirky Percentages in IE
  • Duplicate indent
  • Moving viewport scrollbar outside HTML borders
  • 1 px border style
  • Disappearing List-background
  • Fix width:auto

In addition we’ve added support for the following

  • HTML 4.01 ABBR tag
  • Improved (though not yet perfect) <object> fallback
  • CSS 2.1 Selector support (child, adjacent, attribute, first-child
  • CSS 2.1 Fixed positioning
  • Alpha channel in PNG images
  • Fix :hover on all elements
  • Background-attachment: fixed on all elements not just body

I want to be clear that our intent is to build a platform that fully
complies with the appropriate web standards, in particular CSS 2 ( 2.1, once
it’s been Recommended). I think we will make a lot of progress against that
in IE7 through our goal of removing the worst painful bugs that make our
platform difficult to use for web developers.

In that vein, I’ve seen a lot of comments asking if we will pass the
Acid2 browser test
published by the Web Standards
when IE7 ships. I’ll go ahead and relieve the suspense by
saying we will not pass this test when IE7 ships. The
original Acid Test tested only the CSS 1 box model, and actually became
part of the W3C CSS1 Test Suite since it was a fairly narrow test – but the
Acid 2 Test covers a wide set of functionality and standards, not just from
CSS2.1 and HTML 4.01, selected by the authors as a “wish list” of features
they’d like to have. It’s pointedly not a compliance test (from the Test
Guide: “Acid2 does not guarantee conformance with any specification”). As a
wish list, it is really important and useful to my team, but it isn’t even
intended, in my understanding, as our priority list for IE7.

We fully recognize that IE is behind the game today in CSS support.
We’ve dug through the Acid 2 Test and analyzed IE’s problems with the test
in some great detail, and we’ve made sure the bugs and features are on our
list - however, there are some fairly large and difficult features to
implement, and they will not all sort to the top of the stack in IE7. I
believe we are doing a much better service to web developers out there in
IE7 by fixing our known bang-your-head-on-the-desk bugs and usability
problems first, and prioritizing the most commonly-requested features based
on all the feedback we've had.

I do want to be clear that I believe the Web Standards Project and my
team has a common goal of making the lives of web developers better by
improving standards support, and I’m excited that we’re
working together to that end.

- Chris Wilson