W3C home > Mailing lists > Public > www-style@w3.org > March 2016

RE: [css-tables] New table specification in development, what the goals for this spec are

From: Francois Remy <frremy@microsoft.com>
Date: Mon, 28 Mar 2016 20:37:41 +0000
To: Gérard Talbot <www-style@gtalbot.org>, Greg Whitworth <gwhit@microsoft.com>
CC: Francois Remy <frremy@microsoft.com>, W3C www-style mailing list <www-style@w3.org>
Message-ID: <BN3PR0301MB08833B145345565D8F250C0DD6860@BN3PR0301MB0883.namprd03.prod.outlook.com>
Hi Gerard,

Sorry for taking so long to address your issues. As you may know, we have some big conferences coming at Microsoft and as you may guess, important deadlines to meet internally, which have taken much of our time until now.

Changes have finally been made to the spec, and comments can be found inline. 

Don't hesitate to come back to us if you have further thoughts.


> From: Gérard Talbot [mailto:www-style@gtalbot.org]
> 
> 'border-collapse' initial value is 'separate', not 'normal'
> 
> Initial is "normal" when it should be "separate"
> https://drafts.csswg.org/css-tables-3/#propdef-border-collapse

> 
> border-collapse, Initial column gives "normal" when it should be "separate"
> https://drafts.csswg.org/css-tables-3/#property-index


Good catch. Must have been the result of the same wrong copy paste as the previous one you spotted.

 

>> https://drafts.csswg.org/css-tables-3/#table-structure:

>> To summarize, an instance of the table model consists of:
>> Its table-root element containing:
>>      One or more table rows, optionally in row groups,
>>          Each of them contaning one or more table cells
> 
> HTML5 changes all that:
>> The table, thead, tbody, tfoot, tr [...] elements are allowed to be
>> empty in HTML.

This kind of weird underspecified non-interoperable behaviors is why we can't have nice things...

That being said, there is definitely a difference between accepting an empty table markup (which browsers allowed, and HTML5 therefore specced) and accepting to lay out a table with no row. For instance, the CSS 2.1 spec is very clear that anonymous <td> boxes are inserted where one is missing in the HTML markup in order to be able to layout the table properly.

I was therefore hoping we could envision doing the same for rows (as far as I can find out, this is what Gecko is doing at this point (so, if you have no row in your markup, an implicit one is created for you)) but Greg pointed out that this was against what was specified in HTML5, which is now a REC spec. 

https://jsfiddle.net/sckxeLmh/2/ 
https://jsfiddle.net/sckxeLmh/4/ 

Then, I wished we could say the table should stop being layouted as a table and be layouted as a block/inline-block instead. But that does not work when there is a caption inside the table. 

https://jsfiddle.net/sckxeLmh/5/ 

So, that means you are right and we will most probably have to define a concept of "empty table" and define what to do with it. This is horrible, I hate it, but there is no other way around HTML5.

I added details to the issue Greg opened last time with the results of this investigation. Greg proposed we develop a "master algorithm" for table layout that would drive things where they should go, and would avoid us to have to deal with empty tables in every subsections, but just in the few ones where they matter.
Received on Monday, 28 March 2016 20:38:13 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:09:01 UTC