Closed
Bug 2479
Opened 26 years ago
Closed 25 years ago
implied/anonymous table elements problems
Categories
(Core :: Layout: Tables, defect, P2)
Tracking
()
VERIFIED
FIXED
M16
People
(Reporter: dbaron, Assigned: karnaze)
References
()
Details
(Keywords: css2, testcase)
The CSS table model allows table elements to be implied. See
http://www.w3.org/TR/REC-CSS2/tables.html#anonymous-boxes . Use of these
implied objects causes the whole table to disappear. In the above test, at the
top, UL has display: table-row, and LI has display: table-cell. A similar
thing is done with the text input areas in the form. None of these areas show
up at all in NGLayout.
Bug 2478 covers the other (the FORM problem) problem on this page.
I'm using build 99-01-15.
Assignee | ||
Updated•26 years ago
|
Status: NEW → ASSIGNED
Assignee | ||
Comment 2•26 years ago
|
||
The <UL> and <LI> elements are mapping now, but there are other problems, so I'm
leaving this open.
Reporter | ||
Comment 3•26 years ago
|
||
There are some serious problems following the rules for placement of anonymous
table objects. They are defined in 17.2.1 of CSS2:
http://www.w3.org/TR/REC-CSS2/tables.html#anonymous-boxes
For example, you're creating rows around every cell instead of groups of cells
in:
http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/table/generic1.html
Reporter | ||
Comment 4•26 years ago
|
||
I've started a more complete test of these problems at:
http://www.fas.harvard.edu/~dbaron/csstest/sec170201
Comment 5•26 years ago
|
||
per leger, assigning QA contacts to all open bugs without QA contacts according
to list at http://bugzilla.mozilla.org/describecomponents.cgi?product=Browser
Assignee | ||
Updated•26 years ago
|
Target Milestone: M4 → M5
Assignee | ||
Comment 7•26 years ago
|
||
moving to M5
Assignee | ||
Updated•26 years ago
|
Target Milestone: M5 → M6
Assignee | ||
Comment 8•26 years ago
|
||
Moving to M6.
Reporter | ||
Comment 9•26 years ago
|
||
I have a better test case for this at:
http://www.fas.harvard.edu/~dbaron/csstest/sec170201
You have two serious problems (maybe more):
1) Your are throwing away content that is invalid inside certain table elements
based on display types. This should be done in the HTMLParser if you need to
do it for compatibility, since CSS allows anything inside anything.
2) You are not grouping siblings aggressively enough. If there are two table-
row (or table-row-group, etc.) siblings without a table parent, they should be
in the same table. Similarly for adjacent cells being in the same row.
Comment 10•26 years ago
|
||
[adding myself as cc...]
Assignee | ||
Comment 11•26 years ago
|
||
Moving to M8.
Updated•25 years ago
|
Summary: Implied CSS table elements cause things to disappear → {css2} The CSS Table Model is Broken
Comment 12•25 years ago
|
||
[TESTCASE]
Here is a summary of the test cases available for this bug:
http://www.fas.harvard.edu/~dbaron/css/test/sec170201
http://www.fas.harvard.edu/~dbaron/tests/nglayout/ngtest.html
http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/table/generic1.html
http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/table/inherit.html
http://www.bath.ac.uk/%7Epy8ieh/internet/eviltests/htmlbodyheadrendering2.html
The relevant section from the CSS2 specification is:
http://www.w3.org/TR/REC-CSS2/tables.html#anonymous-boxes
Reporter | ||
Updated•25 years ago
|
Summary: {css2} The CSS Table Model is Broken → {css2} implied/anonymous table elements problems
Reporter | ||
Comment 13•25 years ago
|
||
Changing title from "{css2} The CSS Table Model is Broken" to "{css2}
implied/anonymous table elements problems". Ian's retitling was a little too
general, I think. Some of the testcases may be, too.
Comment 14•25 years ago
|
||
Here is another quick example of what can go wrong:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<style type="text/css">
DIV { display: table; }
</style>
<title>Mozilla Tests: Now you see it, now --</title>
<DIV>
<p> You should see this text! </p>
</DIV>
The perfectly valid sample of HTML+CSS shown above doesn't render a thing.
It should render the "You should see this text!" identically to the case
where DIV is marked as {display:block}.
Assignee | ||
Comment 15•25 years ago
|
||
Moving to M9.
Reporter | ||
Updated•25 years ago
|
Whiteboard: [TESTCASE]
Reporter | ||
Comment 16•25 years ago
|
||
Marking [TESTCASE], since there are already at least 5.
Assignee | ||
Updated•25 years ago
|
Target Milestone: M9 → M11
Assignee | ||
Comment 17•25 years ago
|
||
Moving to M11
Assignee | ||
Updated•25 years ago
|
Target Milestone: M11 → M12
Assignee | ||
Comment 18•25 years ago
|
||
Moving to M12.
Reporter | ||
Comment 19•25 years ago
|
||
The rules on implied/anonymous table elements have been revised in the errata:
http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html
I need to update my test, but have not done so yet.
Assignee | ||
Comment 20•25 years ago
|
||
mass move to m14.
Comment 21•25 years ago
|
||
Migrating from {css2} to css2 keyword. The {css1}, {css2}, {css3} and {css-moz}
radars should now be considered deprecated in favour of keywords.
I am *really* sorry about the spam...
Comment 22•25 years ago
|
||
Bulk moving [testcase] code to new testcase keyword. Sorry for the spam!
Keywords: testcase
Assignee | ||
Comment 24•25 years ago
|
||
*** Bug 20113 has been marked as a duplicate of this bug. ***
Updated•25 years ago
|
Summary: {css2} implied/anonymous table elements problems → implied/anonymous table elements problems
Whiteboard: [TESTCASE]
Comment 25•25 years ago
|
||
Adding beta2 keyword. This turns out to be a dependancy for a beta2 feature
represented by bug 7648.
Keywords: beta2
Assignee | ||
Comment 26•25 years ago
|
||
I'm wondering if the CSS 2 spec is correct regarding anonymous frames. For
example, it states:
2.If the parent P of a 'table-cell' element T is not a 'table-row', an object
corresponding to a 'table-row' will be generated between P and T. This object
will span all consecutive 'table-cell' siblings (in the document tree) of T.
This implies that if the next sibling of T is a button (for example) then its
anonymous cell parent will not be parented by T's anonymous table-row parent.
There are similar questions regarding the other cases.
Reporter | ||
Comment 27•25 years ago
|
||
That may be correct, although it may be an error. It might be a good idea to
mention it on www-style. However, note that the rules are revised in the
errata:
http://www.w3.org/Style/css2-updates/REC-CSS2-19980512-errata.html
People have commented that they're still wrong. I haven't looked closely enough
to tell... except rule (5) in the errata is wrong because it needs to mention
columns and column groups.
Assignee | ||
Comment 28•25 years ago
|
||
This is fixed with my latest checkin. The page that tests inheritance only works
completely in standard mode, because that is how the style system works
currently.
Status: ASSIGNED → RESOLVED
Closed: 25 years ago
Resolution: --- → FIXED
Assignee | ||
Comment 29•25 years ago
|
||
*** Bug 4325 has been marked as a duplicate of this bug. ***
You need to log in
before you can comment on or make changes to this bug.
Description
•