- From: Lachlan Hunt <lachlan.hunt@iinet.net.au>
- Date: Wed, 30 Jun 2004 00:16:53 +1000
Matthew Raymond wrote: > 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. I assume you meant <fieldset>. >> 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. Tabs are not a control in a document, they are simply a presentational/functional method of displaying sections. In an application user interface language such as XUL, they may be implemented as a control, but not in a document language such as HTML. > Replacing markup with HTML+CSS+Javascript does little to protect the > semantic purity of HTML while it significantly increases complexity. Seperating structure from presentation and functionality does everything to protect the *semantic* purity of (X)HTML. > 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? If something is being displayed as a table for purely presentational purposes, then that's exactly how it should be done. If it's a table because the content is logically, structurally and semantically tabular, then it should be marked up in a table. > 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. Of course it's not going to function as tabbed panes, displayed one at a time with JS disabled, that's why it falls back to all the content displayed at the same time. Does the meaning of the content change in any way when it's not displayed as the tabs? No, it doesn't... Therefore, the use of tabs is purely presentational. > My solution using <del><frameset></del><ins><fieldset></ins> would have at least degraded > into a series of labeled frames with borders in NN4. Well, then replace the <div>s in that example with <fieldset>s and use the <legend>s to create the tabs instead of the links... it still shows exactly the same idea that tabs are presentational. > Why pursue a solution that degrades poorly, How does it degrade poorly? The only difference between the two solutions is that one has a default presentation of a border and a label. However, if fieldsets were used, then it would be semantically incorrect (in that example) because it's not marking up a group of form fields. Also, in that example, the <legend>s have simply been replaced by headings, so there's very little difference. > Semantic purity is all find and dandy, but when dealing with web apps, > an extreme level of semantic purity is counterproductive. No, semantic purity of the mark up language *MUST* be maintained, and, if anything, should infact be improved. I think you will find that it more productive and flexible when the markup is not mixed with any presentation or functionality. -- Lachlan Hunt http://www.lachy.id.au/ lachlan.hunt at lachy.id.au
Received on Tuesday, 29 June 2004 07:16:53 UTC