- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Wed, 31 Mar 2010 11:21:21 -0500
- To: Boris Zbarsky <bzbarsky@MIT.EDU>
- Cc: www-style list <www-style@w3.org>
On 03/31/2010 06:02 AM, Boris Zbarsky wrote:
> On 3/31/10 2:39 AM, fantasai wrote:
>> | 1.3 If a child C of a tabular container P is an anonymous inline box
>> | that contains only white space, and its immediately preceding
>> | and following siblings, if any, are proper table descendants of P
>> | and are either 'table-caption' or internal table boxes,
>> | then it is treated as if it had 'display: none'.
>> | A box D is a proper table descendant of A if D can be a descendant
>> | of A without causing the generation of any intervening 'table' or
>> | 'inline-table' boxes.
>> | [current rule 5, adjusted to match bz]
>> | 1.4 If a box B is an anonymous inline containing only white space,
and
>> | it has two immediate siblings both of which are internal table boxes,
>> | then it is treated as if it had 'display: none'.
>> [new]
>
> Still thinking through this, but why is rule 1.3 needed given rule 1.4?
To handle
<table>
<td>A</td>
</table>
which should have only one cell.
> And shouldn't table-caption be mentioned in rule 1.4?
Yes.
Replace the list of rules in 17.2.1 with the following:
| For the purposes of these rules, the following terms are defined:
|
| row group box
| A 'table-row-group', 'table-header-group', or
'table-footer-group'
| proper table child
| A 'table-row' box, row group box, 'table-column' box,
'table-column-group'
| box, or 'table-caption-box'.
| proper table row parent
| A 'table' or 'inline-table' box or row group box
| internal table box
| A 'table-cell' box, 'table-row' box, row group box,
'table-column' box,
| or 'table-column-group' box.
| tabular container
| A 'table-row' box or proper table row parent
| consecutive
| Two sibling boxes are consecutive if they are both in flow and
have no
| intervening in-flow siblings other than, optionally, an anonymous
inline
| containing only white spaces. A sequence of sibling boxes is
consecutive
| if each box in the sequence is consecutive to the one before it
in the
| sequence.
|
| The following steps are performed in three stages.
|
| 1. Remove irrelevant boxes:
| 1.1 All child boxes of a 'table-column' parent are treated as
if
| they had 'display: none'.
| [new]
| 1.2 If a child C of a 'table-column-group' parent is not a
| 'table-column' box, then it is treated as if it had
| 'display: none'.
| [new]
| 1.3 If a child C of a tabular container P is an anonymous
inline box
| that contains only white space, and its immediately
preceding
| and following siblings, if any, are proper table
descendants of P
| and are either 'table-caption' or internal table boxes,
| then it is treated as if it had 'display: none'.
| A box D is a proper table descendant of A if D can be a
descendant
| of A without causing the generation of any intervening
'table' or
| 'inline-table' boxes.
| [current rule 5, adjusted to match bz]
| 1.4 If a box B is an anonymous inline containing only white
space, and
| is between two immediate siblings each of which is either
an internal
| table box or a 'table-caption' box then B is treated as if
it had
| 'display: none'.
| [new]
|
| 2. Generate missing child wrappers:
| 2.1 If a child C of a 'table' or 'inline-table' box is not a
proper
| table child, then generate an anonymous 'table-row' box
around C
| and all consecutive siblings of C that are not proper table
children.
| [current rule 6]
| 2.2 If a child C of a row group box is not a 'table-row' box,
then
| generate an anonymous 'table-row' box around C and all
consecutive
| siblings of C that are not 'table-row' boxes.
| [current rule 7]
| 2.3 If a child C of a 'table-row' box is not a 'table-cell',
| then generate an anonymous 'table-cell' box around C and
all
| consecutive siblings of C that are not 'table-cell' boxes.
| [current rule 8]
|
| 3. Generate missing parents:
| 3.1 For each 'table-cell' box C in a sequence of consecutive
internal
| table and 'table-caption' siblings, if C's parent is not a
| 'table-row' then generate an anonymous 'table-row' box
around C
| and all consecutive siblings of C that are 'table-cell'
boxes.
| [current rule 1]
| 3.2 For each proper table child C in a sequence of consecutive
proper
| table children, if C is misparented then generate an
anonymous
| 'table' or 'inline-table' box T around C and all
consecutive
| siblings of C that are proper table children. (If C's
parent is
| an 'inline' box, then T must be an 'inline-table' box;
otherwise
| it must be a 'table' box.)
| * A 'table-row' is misparented if its parent is neither
| a row group box or a 'table' or 'inline-table' box.
| * A 'table-column' box is misparented if its parent is
neither
| a 'table-column-group' box nor a 'table' or
'inline-table' box.
| * A row group box, 'table-column-group' box, or
'table-caption'
| box is misparented if its parent is neither a 'table'
box nor
| an 'inline-table' box.
| [current rules 2, 3, 4]
~fantasai
Received on Wednesday, 31 March 2010 16:21:55 UTC