Re: tables in html? (separating content bla bla)

Livio Mondini (26 sept. 2007 - 17:07) :
>> 2. What possible solutions there might be?
> Declaring on dtd two type of table, you solve at radix all problems.
> One element for layout table, and a element for data table. This clear
> problems at all levels.

For now, there is no dtd in html 5 *editor* draft and the editor  
seems to see no benefits for them. The HTML WG has not yet decided  
about this issue.

Another issue there are already a lot of tables of the two types  
(tabular, layout) using the table element. Most of this content will  
never be fixed.

In your approach do you suggest to create 2 elements? Let's call them  
"tabled" (tabular data) and "tablep" (presentation). Some issues that  
will arise with this solution.

Some people will use

* tablep for tabular data
* tabled for presentation

A conformance checker will be unable to spot the mistake.
Some people will still do nested tables.
It doesn't solve the issue of deployed tables used for layout.

Let's take a very simple example:

<table>
    <tr>
       <td> [logo]   </td>
       <td> site name</td>
    </tr>
    <tr>
       <td>left margin menu</td>
       <td> content </td>
    </tr>
</table>

You could do easily without loosing meaning, without creating any  
elements, without having people to change anything.

<body class="main">
    <h1>
       <span class="logo">[logo]</span>
       <span class="name">site name</span>
    </h1>
    <div class="main">
       <div class="menu">left margin menu</div>
       <div class="content"> content </div>
    </div>
</body>


with for CSS file,
http://www.w3.org/TR/1998/REC-CSS2-19980512/tables.html#q2

body        {display: table;}
h1          {display: table-row;}
div.main    {display: table-row;}
span.logo   {display: table-cell;}
span.name   {display: table-cell;}
div.menu    {display: table-cell;}
div.content {display: table-cell;}


The only issue for now is that the CSS table model is not very well  
implemented in all browsers, and not at all in IE 6. I have not  
verified in IE7. I have the feeling that if browsers in general had  
implemented in *1998* the CSS table model, we would have a lot less  
layout tables  to deal with.

-- 
Karl Dubost - http://www.w3.org/People/karl/
W3C Conformance Manager, QA Activity Lead
   QA Weblog - http://www.w3.org/QA/
      *** Be Strict To Be Cool ***

Received on Wednesday, 26 September 2007 13:26:25 UTC