- From: Gérard Talbot <css21testsuite@gtalbot.org>
- Date: Mon, 10 Jan 2011 19:04:25 -0800
- 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. Well.. <!ELEMENT HR - O EMPTY -- horizontal rule --> http://www.w3.org/TR/html4/present/graphics.html#edef-HR I mean <hr>foo</hr> is not valid and <hr><span>bar</span></hr> 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 then. By the way, while we are on this issue, what is your call on http://test.csswg.org/suites/css2.1/20101210/html4/text-align-006.htm 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: http://www.gtalbot.org/BrowserBugsSection/css21testsuite/ CSS 2.1 test suite (RC4; December 10th 2010): http://test.csswg.org/suites/css2.1/20101210/html4/toc.html CSS 2.1 test suite contributors: http://test.csswg.org/source/contributors/
Received on Tuesday, 11 January 2011 03:05:02 UTC