[css3-cascade] 'default' and defining origins precisely

In the past we've been able to be fuzzy about what was a separate
origin in terms of cascading versus what was the result of order.
For example, implementations of CSS prior to css3-cascade could
treat HTML presentational hints, style attributes, CSS animations,
and CSS transitions as separate origins, or could implement them in
terms of order, and the difference would not be distinguishable
without examining the code.

However, http://dev.w3.org/csswg/css3-cascade/#default introduces
the new 'default' keyword, whose definition says:
  # If the cascaded value is the ‘default’ keyword, then the origin
  # level to which it belongs is discarded from the cascade,
  # resulting in a new cascaded value. This continues until the
  # cascaded value is not ‘default’ or until the output of the
  # cascade is empty. 

This exposes the semantics of what is an origin.

Furthermore, I tend to suspect that the origin concept that we want
to expose here is actually just UA-user-author, without any of the
other pieces (i.e., all of the extra pieces fall into the author
category).  For example, I tend to think that use of the 'default'
keyword within an animation should yield a computed value that comes
from the UA and user levels, and should not include the values from
the author level.

If we agree we want this behavior, it could be defined in multiple
ways:  e.g., by defining a concept of a major origin and minor
origin, or by restructuring more heavily.

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                           http://www.mozilla.org/   𝄂

Received on Wednesday, 19 December 2012 02:37:46 UTC