Modifying the meethod getOffsetParent in prototype.js, l 2089, and replace
while ((element = element.parentNode) && element != document.body )
while ((element = element.parentNode) && element != document.body && element != document)
solves the issue. I know this is a Prototype issue, but since Tapestry 5 is due to be released, i think it ought to be dealt with.