Assume you have an element in a flow that does not have a region chain. Because of that, the element is not visually formatted which means that offsetParent should return null, while currently it returns a different value. I believe this is the case for other API's like offsetLeft, offsetTop, offsetHeight, offsetWidth, getClientRect, getBoundingClientRect etc.
Also, the x and y attributes on an image should return 0 if the image is in a named flow with no region chain.
Created attachment 230069 [details] Patch
Created attachment 230072 [details] Expanded test
Comment on attachment 230072 [details] Expanded test I think this creates a new spectrum of invasiveness and complexity we should try to avoid. If we go on this path, we'll have to patch all the offset* properties and this increases the maintenance burden for all the project. Maybe we can find a more localised solution.
CSS Regions were removed in Bug 174978.