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

On Thu, Sep 1, 2011 at 9:10 AM, Øyvind Stenhaug <oyvinds@opera.com> wrote:
> On Wed, 31 Aug 2011 20:36:35 +0200, Arron Eicholz
> <Arron.Eicholz@microsoft.com> wrote:
>>> 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. It
>> has to for inheritance to work properly.
>
> No, that's not how CSS 2.1 uses the term. About "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." [1]

Correct.  The "Applies To:" line is just a hint about what sort of
things the property is supposed to have an effect on.


> So an element with display: table-row-group "has" the list-style-position
> property, but the property does not apply. An assert that reads "The
> 'list-style-position' property applies to elements with 'display' set to
> 'table-row-group'." is at odds with the spec.

Not necessarily.  You're assuming the word means the same thing in the
assert and the propdef table.  'list-style-position' does "apply to"
display:table-row-group elements, in the sense that you can set it on
them and it's respected, held onto, and propagated through
inheritance.  The test is testing that implementations don't ignore
the 'list-style-position' value just because the "Applies To:" line
doesn't match.

I can see how it's confusing, though.  It would probably be good to
use some phrasing other than "applies to" in the asserts.


>> 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.
>
> I can't figure out what this is supposed to say. If a property does not
> apply to an element that simply means that the property has "no rendering
> effect"[1] on that element. Do you have an example that shows a "reset"?

I assume Arron is trying to state that properties act as if they're in
their initial state when they're specified on an element that doesn't
match the "Applies To:" line.  That's not quite correct either for all
properties; for many the initial value is still nonsensical for a
given element.  It's best to use the spec's wording - it doesn't have
any rendering effect.

~TJ

Received on Thursday, 1 September 2011 16:43:41 UTC