Re: standard bug / suggestion: scroll bar placement in frames

Hi Vlad,

Thanks for you perseverance!

 > The problem is with frames that have their scroll bars hidden because 
they are too long or too wide (usually too long) so the scroll bar is in 
the hidden area of the browser window.
 > The obvious solution I think would be that the scroll bars for frames 
be displayed at the edges of the visible area of the frame, not at those 
of the frame itself, as they are currently.

The behaviour you describe is not a bug, but is certainly worthy of 
explanation.

Firstly, I don't think we're talking about <frame>s here, because the 
"chrome" (=scrollbar areas, and borders if present) for frames is always 
visible in the viewport.  I imagine we are talking about <iframe>s (or 
indeed any element in CSS21 to which overflow applies).

CSS21[1] states that:

"In the case of a scrollbar being placed on an edge of the element's 
box, it should be inserted between the inner border edge and the outer 
padding edge. The space taken up by the scrollbars affects the 
computation of the dimensions in the rendering model."

The use of the word "should" is a bit ambiguous, but the idea seems to 
be that if scrollbars are used (instead of some other user interface 
device) then their position is mandated by CSS.  This is because 
scrollbars occupy -- and do not relinquish -- physical space on the 
scree and hence are disruptive to layouts.  It is interesting to note 
that CSS21 says nothing about other methods of scrolling (including 
middle-clicking the mouse and panning the display as many operating 
systems or browsers allow).  These are not disruptive to layout and are 
thus not a matter for CSS.  It seems to me that your suggestion could be 
implemented without being any more disruptive than the current 
implementation; however, if that is the case, then it is likely a matter 
for individual browser manufacturers rather than a CSS issue.  The line 
between these two is not always clear.

I think that your suggestion has merit from a usability point of view; 
after all, the scrollbars are already there, and will be visible in any 
case in certain views.  (I think some on the forum thread you quoted 
misunderstood you, thinking that you were talking about forcing 
overflow:hidden to display scrollbars.)  However, frames and iframes are 
problematic.[2]  Accordingly, many (some browser implementors amongst 
them) would argue that the problem lies with Yahoo Mail's (for example) 
particular choice of interface, and my guess is that such people are 
unlikely to prioritize this issue.

Cheers,
Anton Prowse
http://dev.moonhenge.net

[1] http://www.w3.org/TR/CSS21/visufx.html#propdef-overflow
[2] The difficulty of simultaneously bookmarking the state of the 
different frames is a perennial argument against their use, for example.

Received on Monday, 24 November 2008 20:12:15 UTC