- From: Øyvind Stenhaug <oyvinds@opera.com>
- Date: Wed, 13 Oct 2010 14:05:12 +0200
- To: Gérard Talbot <css21testsuite@gtalbot.org>
- Cc: "public-css-testsuite@w3.org" <public-css-testsuite@w3.org>
On Wed, 13 Oct 2010 08:44:45 +0200, Gérard Talbot <css21testsuite@gtalbot.org> wrote: > http://test.csswg.org/suites/css2.1/20101001/html4/separated-borders-model-007.htm > >> (...) Moreover, this test seems to depend >> on >> the HTML 'rules' attribute mapping to/interacting with CSS rules in a >> certain unspecified way > > Øyvind, > > It seems you added that testcase in the open issues wiki webpage[1], > under the section "Tests relying on non-normative behavior". Right. When it comes to interaction between different specs it's always a bit tricky, but as mentioned in e.g. http://lists.w3.org/Archives/Public/public-css-testsuite/2010Sep/0026.html it seems to me that it belongs more on the HTML side. It has a dependency on the mapping from HTML attributes to CSS declarations, which only HTML5 attempts to cover (though in an unfinished and non-normative section, from the looks of it). From my impression from the thread it seemed like an issue that was still open (I don't know what it takes to close it as invalid). > I assure > that separated-borders-model-007 testcase is sound and correct. It assumes that rules="all" on a table maps to CSS specifying border on all four sides of each cell in that table. Which as far as I can tell isn't normatively specified anywhere (especially not in CSS2). > "In this [border-collapse: separate] model, each cell has an individual > border." > http://www.w3.org/TR/CSS21/tables.html#separated-borders Sure. Though by default, it's 'none' (width 0) on all sides. > "all: Rules will appear between all rows and columns." > http://www.w3.org/TR/html4/struct/tables.html#adef-rules I think rules are expected to be unbroken lines (by default). Though the HTML4 spec doesn't have much detail. > This was discussed before, in many places... > > At the www-style mailing list [2], in bug 409470 at connect IE beta > feedback, in bug 155507[2] at bugzilla.mozilla.org, in bug 43178[3] at > bugzilla.mozilla.org. > > There is a consensus to implement rules as > table[rules]:not([rules="all"]) {border-collapse:collapse;} , That doesn't make any sense. All the browsers I tried show rules=all tables in a border-collapse:collapse fashion. For Fx 3.6.10, Firebug shows table[rules]:not([rules="none"]) { border-collapse:collapse; } That's only a small part of it though. To actually get lines in the right places, more declarations are needed. These could be setting border on the relevant side(s) of each td and th. But they could just as easily be setting borders on col and tr elements as appropriate. Possibly overriding the outer border with border:hidden on the table element (unless of course there are frame/border attributes saying otherwise)... > assuming that border-collapse: separate is the initial value. > There is no contradication between rules="all" and 'border-collapse: > separate'. The rules attribute is a presentational attribute. When specifying it along with CSS, the result generally depends on how exactly the relevant presentational hints are formulated in CSS terms. >> (Opera currently applies the horizontal rules to >> the <tr>s for instance > > I even filed a bug on rules="none" [5] at Opera, years ago (bug 214944 > in Opera BTS) and it's still happening in Opera 10.63. That seems to have to do with the interaction between the rules attribute and the border attribute. Doesn't seem directly related. Thanks for reporting, though. -- Øyvind Stenhaug Core Norway, Opera Software ASA
Received on Wednesday, 13 October 2010 12:03:55 UTC