- 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