Re: [RC2] separated-borders-model-007

On Wed, 13 Oct 2010 20:42:15 +0200, Gérard Talbot
<css21testsuite@gtalbot.org> wrote:

> If I remove the 'border-collapse: separate' declaration from the
> testcase, then the table should render borders around all the cells,
> each cells: and that is what I notice too [9].

Well, there is no way to tell visually whether the horizontal borders are  
set on the rows
or the cells.

> If I explicitly declare
> 'border-collapse: separate' in the testcase, then the table should
> render borders around all the cells, each cells as well: that is the
> testcase main goal [8].

That's only valid if frames="all" made the UA add borders on the cells. It
could just as well be setting horizontal borders on rows and vertical ones
on the cells, CSS doesn't specify one or the other.

> 'separate' is the initial value for 'border-collapse'.

Initial values may be superseded by UA styles and by presentational  
attributes translated to CSS.

> The testcase pinpoints an implementation issue wrt CSS.

No, it pinpoints a difference in the way the frames attribute is  
translated to CSS rules.

> The mapping of rules attribute to CSS is not specified explicitly in CSS
> 2.1 spec... but that does not mean that an adequate, best mapping can
> not be figured out after careful reading of involved specifications.

Nevertheless it's one out of several possible options. I assume the CSS  
2.1 conformance test suite is supposed to test CSS 2.1 conformance, not  
that the implementations do whatever we think makes the most sense.

I think it would be better to test this in the HTML5 testsuite, since  
HTML5 does attempt to specify the mapping explicitly.

> There should be no influence, no impact between rules="all" and a
> specified 'border-collapse' declaration. There is no contradiction none
> whatsoever between rules="all" and a 'border-collapse' declaration.

For the "user agent dependent" rendering of rules "between all rows and  
columns", there seems to be interoperability insofar as unbroken lines are  
drawn from one end of the table to the other. Not rectangles around each  
cell. Translating this to CSS requires border-collapse:collapse.

>>> table[rules]:not([rules="all"]) {border-collapse:collapse;} ,
>> That doesn't make any sense.
>
> It does make sense:
>
> "
> In this [border-collapse: separate] model, each cell has an individual
> border. The 'border-spacing' property specifies the distance between the
> borders of adjoining cells. In this space, the row, column, row group,
> and column group backgrounds are invisible, allowing the table
> background to show through. Rows, columns, row groups, and column groups
> cannot have borders (i.e., user agents must ignore the border properties
> for those elements).
> "
> http://www.w3.org/TR/CSS21/tables.html#separated-borders

I'm saying that it doesn't make any sense to exclude "all", since I would  
expect "all" to look like "rows" and "cols" combined. And it does in all  
the major current browsers, including Firefox.

> Where does it say that each cells, all the cells can not have its own
> borders in the 'border-collapse: separate' model?

They can. But CSS doesn't say anywhere that "rules" sets borders on the  
cells.

>> All the browsers I tried
>
> Browsers have implementation bugs, flaws, regressions, etc. That's why
> we are developing a CSS test suite here.
>
>> show rules=all tables in a border-collapse:collapse fashion.
>
> By itself, this does not mean much. Browsers have bugs. I reported that
> issue to bugzilla.mozilla.org [3][4], at IE beta feedback (bug 409470),
> webkit.bugs.org [6], etc. The fact that bug reports were confirmed as
> valid and reproducible ones does not mean that those bugs were
> [partially or completely] fixed for good or that browsers now fully
> honor the specs.

So you're saying IE, Firefox, Chrome/Safari and Opera all show rules="all"  
in the wrong way? Which specs are not fully honored in this respect?

>> For Fx 3.6.10, Firebug shows
>> table[rules]:not([rules="none"]) { border-collapse:collapse; }
>
> Well, then that's a implementation bug as far as I can say. Each cell
> can have a border thanks to rules="all" in the 'border-collapse:
> separate' model. Nothing prevents or hampers each cells from having a
> border thanks to rules="all" in the 'border-collapse: separate' model.

But why expect rules "between all rows and columns" to show as rectangles  
around each cell?

-- 
Øyvind Stenhaug
Core Norway, Opera Software ASA

Received on Monday, 18 October 2010 13:32:40 UTC