The current spec says offsetParent should return an ancestor if
The computed value of the position property is not static.
It doesn't seem to me it is quite useful to query an ancestor who has some specific position value. Isn't it supposed to return the first ancestor which is a containing block of absolutely-positioned descendants?