The selectors and properties below should all work according to the W3C specifications.

CSS2 Selectors W3C

parent > child html - xml
adjacent + sibling html - xml
.multiple.classesIE5/6 bug fixed (also applies to pseudo classes)html
:active html - xml
:focus html
:hover html - xml
:lang() html
:first-child html - xml
::after html
::before html
[attr] html - xml
[attr="value"] html - xml
[attr~="value"] html - xml
[attr|="value"] html - xml

CSS3 Selectors W3C

namespace|selector CSS Namespacesxml
adjacent ~ sibling html - xml
:checked html
:contains() html
:disabled html
:empty html - xml
:enabled html
:indeterminate html
:last-child html - xml
:not() html
:nth-child() html
:nth-last-child() html
:only-child html
:root html - xml
:target html
[attr^="value"] html
[attr$="value"] html
[attr*="value"] html

CSS Properties

background-attachmentsupport fixed positioninghtml
background-imagePNG alpha transparency (IE5.5+)html - xml
border-spacingHTML tables onlyhtml
box-sizingcontent-box (assumed)html
bottomheight implied if top is suppliedhtml
contentSupports the use of attr() and url()html
cursorsupport pointer for IE5.xhtml
displayconvert list-item to block for IE5.x 
font-sizefix named font sizes (quirks mode)html
marginsupport auto (quirks mode)html
min-heightimplemented for IE5html
min-width html
max-height* html
max-width html
overflow**support overflow:visiblehtml
positionsupport fixed positioninghtml
rightwidth implied if left is suppliedhtml

*This works if you also set the overflow property.
**This is included in a separate module (ie7-overflow.js) as it alters the structure of the document.


abbrIE5/6 bugs fixedhtml
button[type=submit]value submitted rather than innerTexthtml
formonly submit successful controlshtml
imgPNG (IE5.5+) alpha transparencyhtml
labelbind to the first child controlhtml
objectsupport for type=image/*html
img/objectsupport base64 encoded imageshtml

JavaScript and The DOM*

Array.push()Added for IE5.0 
Array.pop()Added for IE5.0 
document.recalc()Call this to refresh IE7 styleshtml
String.replace()Allow replacement value to be a function (IE5.0) 

*Don’t get too excited about additional fixes. The ones provided are mainly there to allow IE7 to support IE5.0.

Other Bug Fixes

Spurious TooltipIE uses the alt attribute when no title is specified for <img> elementshtml
Doubled Margin*Position Is Everythinghtml
Peekaboo*Position Is Everythinghtml
Unscrollable Content*Position Is Everythinghtml
Noncollapsible MarginsI think I discovered this bug :-)html

*These fixes are not in the standard IE7 library. They are included in a separate module ie7-squish.js.

Non-standard Features?

Dynamic Attribute SelectorsAn additional module* provides support for dynamic maintenance of attribute selectorshtml