- 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