In the submitted reduced case you will find a group of links at the top of the page that should navigate to the headers in the absolutely positioned content area below. Instead of scrolling the content div (that has overflow:auto) to place the appropriate heading at the top of the div, it instead scrolls the content div to place the appropriate heading at the top of the browser window (where it is unseen). Quite simply, in this condition, it does not seem to treat the containing div as the position reference for scrolling. This situation is only met under this criteria, when divs are nested in this way. The absolutely positioned parent div sets the top and bottom values. The absolutely positioned child div sets it's height to 100% to fill the dynamic parent height completely. Other positioning methods can yield different results, and even work properly. This bug also seems to exist in the current release of Safari Version 2.0.3 (417.8) as well as the latest nightly build.
Created attachment 6618 [details] Reduced test case - Edit: with height of child div at 50% instead of 100% by accident, still causes same result. Just open the test case in Safari... Style is in the head.
Confirmed, nice testcase.
Forgot to note, the testcase works as expected in IE6 on windows 2000 and in Firefox 1.5 on Mac OS X
This appears to be fixed in the most recent nightly builds. The reduction and a few other examples now work as expected. Specifically it works for me now on Version 522+, Build 19955. I don't know why.
This is working as expected since 2007, so closing.