Explanation

In IE9, absolute positioning of elements inside inline elements is sometimes incorrect.

Demonstration

In all of the following a SELECT is absolutely positioned at (10,10) inside a SPAN. In some cases (depending on the other content in the SPAN) this positioning happens incorrectly. Changing certain attributes of the SPAN fixes this (which is very reminiscent of old-school hasLayout-related problems).

1. A SPAN with some text and a SELECT: (good)
xxx



2. A SPAN with some text, a SELECT, and an INPUT: (good)
xxx



3. A SPAN with just a SELECT and an INPUT: (bad - note the incorrect placement of the SELECT)



4. A SPAN[display:inline-block] with just a SELECT and an INPUT: (good - fixed by adding inline-block)



5. A SPAN[border] with just a SELECT and an INPUT: (good - fixed by adding a border (that can't be right...))