RE: [RC5, pre-RC6] list-style-position-applies-to-* testcases: inheritance of list-style-position versus applicability

Le Mer 31 août 2011 11:36, Arron Eicholz a écrit :
> On Monday, February 21, 2011 12:36 PM Gérard Talbot wrote:
>> The text assertions of the testcases

Updated list of links

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-001.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-001.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-002.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-002.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-003.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-003.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-004.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-004.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-005.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-005.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-006.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-006.htm


[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-007.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-007.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-008.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-008.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-009.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-009.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-010.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-010.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-012.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-012.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-013.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-013.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-014.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-014.htm

[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-015.htm

[nightly-unstable]
http://test.csswg.org/suites/css2.1/nightly-unstable/html4/list-style-position-applies-to-015.htm




>> each and all say that list-style-position applies to any/all elements
with
>> display set to other than list-item but that's not true.

Arron,

I can not be wrong on this:

I see

'list-style-position'
    Applies to:  	elements with 'display: list-item'
http://www.w3.org/TR/CSS21/generate.html#propdef-list-style-position



Those
>> testcases test the
>> inheritability/inheritance of list-style-position and not its
>> effective
>> applicability. The text assertion of these
>> list-style-position-applies-to-* confuse inheritance and
>> applicability.
> They may be testing that the inheritance works as well but they also
test that the list-style-position set on the particular elements
actually works.

I have huge difficulties and incomfort with the assert of those
testcases (and maybe some other applies-to testcases). Just imagine
ordinary we author "Joe Schmuck" reading the spec and giving a trial to
those testcases. On one hand, he reads

'list-style-position'
    Value:  	inside | outside | inherit
    Initial:  	outside
    Applies to:  	elements with 'display: list-item'
    Inherited:  	yes
    Percentages:  	N/A
    Media:  	visual
    Computed value:  	as specified

http://www.w3.org/TR/CSS21/generate.html#propdef-list-style-position

and then he reads the text asserts of those tests and even sees a bullet
everywhere in testcases 001 to 015 !

Such web author will for sure be confused, puzzled!

e.g.

  <meta name="assert" content="The 'list-style-position' property
applies to elements with 'display' set to 'table-column'.">
from
[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-006.htm


and that collides with, contradicts many statements in the spec.


> If it is correctly set and inherited correctly to the
> point where it is proven by the test then the test is valid and that
is
> what I am seeing right now.
>> If an element does not have, does not render a list-item, then
>> list-style-
>> position can not apply to it.
> That is not true every property applies to every element at all times.

I think the spec may create or may contribute to create a confusion.

It is reasonable to presume that "applies-to" means applies to in a
normal sentence, just like outside the spec!

I think the spec is saying that each element in the created DOM tree has
every property and therefore a (initial or inherited) value related to
it (or every property is being assigned with a [initial or inherited]
value). But it does not necessarly has a rendering effect on it.


Even if all "Applies to:" field in property definition of CSS 2.1 were
to be changed to "Has a rendering affect on:", the text assert of 
list-style-position-applies-to-001.htm
to
list-style-position-applies-to-015.htm
would still be inappropriate in my opinion.




In 2 distinct parts of the spec [2], [3], the verb "assign" is used
which, I think, is there to replace "applies to" reference.

[2]: 3.2 Conformance
"
4. For each element in a document tree, it must assign a value for every
property according to the property's definition (...)
"
http://www.w3.org/TR/CSS21/conform.html#conformance

[3] 6.1 Specified, computed, and actual values
"
Once a user agent has parsed a document and constructed a document tree,
it must assign, for every element in the tree, a value to every property
that applies to the target media type.
"
http://www.w3.org/TR/CSS21/cascade.html#value-stages

> It has to for inheritance to work properly. The application of a
property from the applies-to definition is trying to communicate that
if
> a property does not apply then the property is reset to the initial
value when specified on that type of element.
> No changes should be made to these files in my opinion

I hope you can reconsider. My initial and still-today feeling is that an
ordinary web author should read the text assert and then better
understand what is really, truly and actually being tested in a
testcase.

  <meta name="assert" content="The 'list-style-position' property
applies to elements with 'display' set to 'table-column'.">
from
[RC6]
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-006.htm
is not what that testcase is actually doing, testing, achieving.

Arron, there maybe some other applies-to testcases from Microsoft which
have, share the same text assert that I find unfit, inappropriate.


[Addendum] Another thing I just noticed. If what you wrote here is true,
then there would be many applies-to testcases from Microsoft to fix. I'm
thinking of caption-side-applies-to testcases here.


> since they are
> testing the applies-to as best as they can and still be valid test cases.



[1]: 1.4.2.3 Applies to
"
This part lists the elements to which the property applies. All elements
are considered to have all properties, but some properties have no
rendering effect on some types of elements.
"
http://test.csswg.org/suites/css2.1/20110323/html4/list-style-position-applies-to-011.htm

[2]: 3.2 Conformance
"
4. For each element in a document tree, it must assign a value for every
property according to the property's definition (...)
"
http://www.w3.org/TR/CSS21/conform.html#conformance

[3] 6.1 Specified, computed, and actual values
"
Once a user agent has parsed a document and constructed a document tree,
it must assign, for every element in the tree, a value to every property
that applies to the target media type.
"
http://www.w3.org/TR/CSS21/cascade.html#value-stages


regards, Gérard
-- 
Contributions to the CSS 2.1 test suite:
http://www.gtalbot.org/BrowserBugsSection/css21testsuite/

CSS 2.1 Test suite RC6, March 23rd 2011
http://test.csswg.org/suites/css2.1/20110323/html4/toc.html

CSS 2.1 test suite harness:
http://test.csswg.org/harness/

Received on Thursday, 1 September 2011 18:50:50 UTC