- From: Joe Clark <joeclark@joeclark.org>
- Date: Fri, 11 Jul 2003 14:08:13 -0400
- To: WAI-GL <w3c-wai-gl@w3.org>
I said I'd get Eric Meyer's expert opionion on this issue--
>>>And the difference between floated and positioned elements, very
>>>roughly, is that floated elements are moved to one side or the
>>>other but are the same vertical position as they would be if not
>>>floated, whereas positioned elements can be placed more or less
>>>anywhere in the page, and can stay in one place on the screen
>>>while the rest of the page is scrolled.
>>
>>In a word, no. _Eric Meyer on CSS_, p. 197: "So why did we go to
>>all that effort to use positioning when we'd already used float to
>>achieve the same effect and didn't have nearly as much to worry
>>about? Because now we have much more flexibility in terms of where
>>the sidebar markup can appear. With float, the sidebar had to come
>>before the entry. Now its markup can be anywhere from before the h1
>>to after the entry." Merely one example.
>
>Sorry, this statement by Eric Meyer turns out to be based on a
>limited view of what can be done. Float allows two or more elements
>to exist side by side in the presentation. Which one of these is
>considered a "sidebar" has nothing to do with markup order.
>
>Concretely, in order to put your menubar after the main content in
>markup order, but still have it appear to the left of the main
>content and starting at the same height, you simply put your main
>content in a div and float it right. Quod Erat Demonstrandum (the
>thing that needed to be proven).
I asked Eric to confirm or deny. He writes:
> Deny, to a degree. He's correct so long as one is only
>discussing two "columns." If there are three or more things, then
>floats can become limited.
>
> For example, consider the following markup structure:
>
> <div id="masthead">...site's masthead...</div>
> <div id="skipper">...skiplinks...</div>
> <div id="content">...main content...</div>
> <div id="sidebar">...supporting information...</div>
> <div id="navigation">...get-around links...</div>
> <div id="footer">...footer...</div>
>
>Now, assume the navigation ends up as a horizontal list of links
>between the masthead and content (as we do on DevEdge). Floats
>won't help you there: only positioning will do the trick. True, we
>could re-order the HTML to match our needs, but that would defeat
>the purpose of ordering content in a way that's accessible and
>useful to those without graphical browsers, like cellphone surfers.
>
> As well, if you wanted to put the navigation and sidebar in
>"columns" to the sides of the main content, positioning makes it
>easier than floats do, in my opinion. That may be more a matter of
>personal taste than any sort of inherent technological superiority.
>
> In the book, there may have been the implication that positioning
>was a better solution for that particular markup situation. What I
>actually said was that with positioning, the markup could be
>arbitrarily re-ordered and the layout would stay the same. Perhaps
>it would have been better for me to say that positioning, being
>almost totally insensitive to markup order, provides more layout
>flexibility than floats, whose behavior does depend on source order.
>For example, the source order determines which of the two "columns"
>needs to be floated for a layout to work as intended. But that
>leads to discussions of how floats provide more flexibility in terms
>of footers (since you can't guarantee positioned elements won't
>overlap, whereas you can keep floats from doing so) and we only had
>so much space in the book.
>
> Hope that helps.
--
Joe Clark | joeclark@joeclark.org
Accessibility <http://joeclark.org/access/>
Weblogs and articles <http://joeclark.org/weblogs/>
<http://joeclark.org/writing/> | <http://fawny.org/>
Received on Friday, 11 July 2003 14:17:23 UTC