[whatwg] Suggestion: Implementation of Tabbed Forms

Matthew Raymond mattraymond at earthlink.net
Tue Jun 29 05:39:36 PDT 2004

Lachlan Hunt wrote:
> I think you may have misunderstood me.  Tabs are presentational in the 
> sense that they produce a set of tabs along the top, or down the side, 
> or wherever else, that allows switching between each pane.  However,
> there is, of course, structure used to create those tabs.  ie. Each pane 
> is a seperate section from the other panes, and this is the structure 
> that should be marked up.

    A structure that acts as a container for controls and other 
elements, that is separate from other such containers. How does this not 
describe <frameset>? Furthermore, <frameset> has an existing structure 
to name each section: <legend>. The element <div> does not.

>  It should not be marked up that these 
> sections should be displayed as tabs.  This should be left for the style 
> sheet.

    No, how the tabs should look or be oriented should be left to the 
style sheet. The tabs themselves are a form of control used to manage 
and organize data.

    Replacing markup with HTML+CSS+Javascript does little to protect the 
semantic purity of HTML while it significantly increases complexity. For 
instance, I could use style sheets and Javascript to create a table 
without using any of the HTML table elements, but this means recreating 
both the organizational structure of tables and recreating the default 
styling of tables. Why would we want to make the webmaster do all this 
just to avoid introducing a small bit of additional markup?

    The bottom line is that you're depending on three technologies to 
create a very basic control instead of one. These technologies are not 
equally supported in all User Agents, and do not necessarily have the 
same performance on every platform.

    For instance, in Netscape Navigator 4.0, your example 
(http://www.alistapart.com/d/eatcake/5.html) doesn't work at all. With 
Javascript turned off, all of the panels in the example display at the 
same time. My solution using <frameset> would have at least degraded 
into a series of labeled frames with borders in NN4.

    Why pursue a solution that degrades poorly, is more complex and 
requires a greater number of standards to be supported? Besides, the 
whole point of specs like Web Apps 1.0 is to provide an easy way to 
generate common controls like tabs. Semantic purity is all find and 
dandy, but when dealing with web apps, an extreme level of semantic 
purity is counterproductive.

More information about the whatwg mailing list