- From: Gérard Talbot <css21testsuite@gtalbot.org>
- Date: Tue, 25 May 2010 12:32:37 -0700
- To: "public-css-testsuite@w3.org" <public-css-testsuite@w3.org>
- Cc: "Arron Eicholz" <Arron.Eicholz@microsoft.com>
Hello all, There seems to be many issues, problems with overflow applicability testcases in this range of testcases: http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-001.htm http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-015.htm 1- The number 1 issue which needs to be clarified is how elements with display set to any of this comma-separated list {inline-table, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row and table-caption} should apply an overflow declaration like overflow: hidden, overflow: auto, overflow: scroll. >From what I read in several parts of CSS 2.1 spec [1] and in several threads of the www-style mailing list, overflow should not apply to elements with display set to {table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row} because overflow does not apply to <tbody>, <col>, <colgroup>, <thead>, <tfoot>, <tr>. Am I wrong here? What am I missing? I do not see why or how an element with display set to {table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row} would be a non-replaced block-level element or should be considered as a non-replaced block-level element. Am I wrong here? What am I missing? 2- http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-001.htm <meta name="assert" content="The 'overflow' property applies to elements with 'display' set to 'table-row-group'."> a) If 'overflow: hidden' applies to elements with 'display' set to 'table-row-group', then the tester should NOT see the green stripe in the testcase. But that overflow-applies-to-001.htm test condition states "Test passes if there is a green box below." So, there is a problem with the testcase assertion, the testcase or with my understanding. I think the testcase assertion is incorrect. b) In IE8, with developer tools active, if I redefine div#test's overflow to scroll or to auto values, then I would expect to see the green stripe with an active horizontal scrollbar to appear if overflow was supposed to apply to an element with 'display' set to 'table-row-group' but no horizontal scrollbar occurs, shows up. c) Note that overflow-applies-to-001.htm sets the height of the table #table to 5em when there is no need to, no requirement. In my opinion, the overflow property does NOT apply (and should not apply) to elements with 'display' set to 'table-row-group'. And the testcase assertion text should be modified accordingly. 3- http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-002.htm http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-003.htm http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-004.htm (this one is not even loadable) http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-005.htm http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-006.htm Those testcase assertion text should be modified to indicate that overflow does NOT apply to elements with display set to {table-column, table-column-group, table-header-group, table-footer-group}. Otherwise I need to be educated on how overflow is supposed to be applied. In IE8, with developer tools activated, when I redefined div#test's overflow to scroll or to auto values in tests 005 and 006, no horizontal scrollbar appeared. So, even for IE8, at least empirically, it seems that overflow does not and should not apply to elements with display set to {table-column, table-column-group, table-header-group, table-footer-group}. 4- http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-008.htm Such testcase must be wrong. Such overflow-applies-to-008.htm testcase is illogical, not well built. The containing element has no specified width, no max-width, no restricting/constraining condition of some sort, so how could it overflow to begin with? 5- http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-010.htm If display: list-item is used, then I wonder why a bullet (list marker) must not be rendered as part of such testcase. Konqueror 4.4.3 does that. And this testcase http://www.w3.org/Style/CSS/Test/CSS2.1/20100316/html4/display-003.htm suggests that a bullet (list marker) should be rendered. The overflow-applies-to-010.htm does not state that a bullet (list marker) should be rendered. 6- http://test.csswg.org/source/contributors/microsoft/submitted/Chapter_11/overflow-applies-to-014.htm "The 'overflow' property applies to elements with 'display' set to 'inline-table'." inline-table is considered and is treated as an inline-level element [3] according to section 17.4 Tables in the visual formatting model " a table can behave like a block-level (for 'display: table') or inline-level (for 'display: inline-table') element. " http://www.w3.org/TR/CSS21/tables.html#model So, in such overflow-applies-to-014.htm testcase, I think the test assertion is wrong, the pass condition of the testcase is correct: a green stripe should be visible. [1]: " table, inline-table, table-row-group, table-column, table-column-group, table-header-group, table-footer-group, table-row, table-cell, and table-caption These values cause an element to behave like a table element (subject to restrictions described in the chapter on tables). " 9.2.4 The 'display' property http://www.w3.org/TR/CSS21/visuren.html#display-prop [2]: " 'overflow' Value: visible | hidden | scroll | auto | inherit Initial: visible Applies to: non-replaced block-level elements, table cells, and inline-block elements " 11.1.1 Overflow: the 'overflow' property http://www.w3.org/TR/CSS21/visufx.html#overflow [3]: " inline-level elements are those elements of the source document that do not form new blocks of content; the content is distributed in lines (e.g., emphasized pieces of text within a paragraph, inline images, etc.). Several values of the 'display' property make an element inline: 'inline', 'inline-table', 'inline-block' and 'run-in' (part of the time; see run-in boxes). Inline-level elements generate inline boxes. " http://www.w3.org/TR/CSS21/visuren.html#inline-level Many thanks to Bruno Fassino for helping me out in trying to understand the spec on all this. regards, Gérard -- Contributions to the CSS 2.1 test suite: http://www.gtalbot.org/BrowserBugsSection/css21testsuite/ CSS 2.1 test suite (alpha 2; March 16th 2010): http://www.w3.org/Style/CSS/Test/CSS2.1/20100316/html4/toc.html CSS 2.1 test suite contributors: http://test.csswg.org/source/contributors/
Received on Tuesday, 25 May 2010 19:33:13 UTC