W3C home > Mailing lists > Public > public-css-testsuite@w3.org > January 2011

RE: [RC4] margin-left-001 invalid

From: Gérard Talbot <css21testsuite@gtalbot.org>
Date: Mon, 10 Jan 2011 19:04:25 -0800
Message-ID: <126e882cbc5a8a2ce9145be7c66deb0d.squirrel@cp3.shieldhost.com>
To: "Arron Eicholz" <Arron.Eicholz@microsoft.com>
Cc: "public-css-testsuite@w3.org" <public-css-testsuite@w3.org>

Le Lun 10 janvier 2011 17:51, Arron Eicholz a écrit :
> On Monday, January 10, 2011 5:27 PM Gérard Talbot wrote:
>> Le Lun 10 janvier 2011 16:17, Arron Eicholz a écrit :
>> > http://test.csswg.org/suites/css2.1/20101210/html4/margin-left-001.htm
>> >
>> > The HR element is by default per HTML4.01 set with align=center this
>> > has no mapping in CSS 2.1
>> Consider that HR element is a block-level element and it's empty by
>> design: it has no inline boxes. So, the attribute specification
>> align=center can
>> not be mapped to and should not be mapped to
>> 'text-align: center' in CSS. It has to be with 'margin-left: auto' and
>> 'margin-right: auto'.
> You are making an assumption that there are no inline boxes. There is
> nothing saying you can't create inline boxes.


<!ELEMENT HR - O EMPTY -- horizontal rule -->

I mean
is not valid and
is not valid.

> At this point the
> implementation can chose to implement HR however it sees fit. Now
> granted I am not saying that creating inline boxes is the right thing to
> do. I just saying, off the top of my head, I can't think of any
> clarification in CSS saying you can't create them in this case.
>> HTML4 states it is aligned "with respect to the surrounding context".
>> http://www.w3.org/TR/html4/present/graphics.html#h-15.3
> I understand what HTML4 says but there is nothing in CSS 2.1 that
> requires CSS to apply to the HR's align attribute in any way. The
> closest text is section 6.4.4 and even that is only a suggestion.
>> > and thus setting margin-left on the HR element still may do nothing
>> if
>> > the align attribute isn't overridden which can be the case.
>> >
>> > This case should be removed from the CSS 2.1 test suite because it
>> is
>> > testing an assumption of how HR elements are handled in CSS which
>> > isn't clear.
>> Where should the following <div> go in this example?
>> div
>> {
>> border: 1px inset;
>> margin-left: 0px;
>> width: 33%;
>> }
>> <body>
>>  <div></div>
>> </body>
> The div should be aligned left.
>> Now, why should it be any different for <hr> then?
> The HR may be aligned left it may be aligned center CSS doesn't say how
> you override HTML attributes in all cases.
> And it doesn't in this
> specific case.
> Section 6.4.4 states that presentational attributes "may" be overridden
> by CSS but it doesn't say that they have to for every case.
> After rereading section 6.4.4 I am even more convinced that this case is
> invalid as it stands.

I understand you: HTML presentational attributes may be overridden by
style sheet rules but CSS 2.1 does not say or state (or specify) exactly
how in all cases and in this specific case.

I have just removed the margin-left-001:
revision version 1758

> At the very least this case should have a "may"
> flag and less strict pass conditions to allow it to pass if the HR is
> centered or left aligned.

Arron, years ago, I filed bug 408027 at connect IE beta feedback and
carefully explained all I could with links, references, explanations,
etc. I was certain everything was clear, understood and agreed back

By the way, while we are on this issue, what is your call on

Because, if I understand your reasoning appropriately, then I should
remove that testcase too.

regards, Gérard
Contributions to the CSS 2.1 test suite:

CSS 2.1 test suite (RC4; December 10th 2010):

CSS 2.1 test suite contributors:
Received on Tuesday, 11 January 2011 03:05:02 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:26:53 UTC