[css-mobile] behaviour of shorthands only partly in css-mobile

A number of the properties listed at http://www.w3.org/TR/css-mobile/
are shorthand properties where some of the "component" properties
are either not part of css-mobile at all, or support only a strict subset of
the values that CSS2.1 supports for that property.

Take the 'font' property, for example, which in CSS2.1 allows specifying a
number of properties including 'font-size' and 'line-height'.  css-mobile says
that 'font' is supported and has the same syntax as in CSS2.1, but that
'line-height' is not part of css-mobile, and that 'font-size' is supported but
with a limited set of values, such as not allowing <length> values.

This leads to some doubt as to what a css-mobile user agent should do with

  font: bold 14px/17px Times

or variations on that: whether the whole declaration should be dropped,
or whether it should first be expanded to font-weight:bold etc. and then
dropping those components that the user agent doesn't support.

The css-mobile document tries to provide an answer to this question by
writing

  Limitations that apply to a property apply equally to its shorthand
  alternative.

but for me that actually makes things less clear, because it's ambiguous
as to whether it means "limitations in effect" (dropping just the 'font-size'
and 'line-height' components in the above example) or "limitations in what is
considered a valid value for the shorthand property" (dropping the whole
declaration).

If the answer to the above is that the whole shorthand declaration should be
dropped, then:

  Another possible issue is the question of what's meant by "limitations that
  apply to a property" in the case that the property isn't part of css-mobile:
  the most natural answer to the question "what are the limitations applicable
  to list-style-position" would be "it's constrained to its initial value (viz.
  'outside')", in which case

    list-style: square outside

  is a valid declaration, whereas a more liberal interpretation would be
  be that the valid syntax for 'list-style' changes from

    [ <'list-style-type'> || <'list-style-position'> || <'list-style-image'> ] | inherit

  to

    [ <'list-style-type'> || <'list-style-image'> ] | inherit

  The corresponding change for 'font' would presumably drop not just
  <'line-height'> but the whole [ / <'line-height'> ]? portion of the syntax.

  If this more liberal interpretation is in fact the intention, then I'd be
  inclined to give the revised syntax explicitly, and to add a note that e.g.
  <'font-size'> refers to the set of values in css-mobile rather than in
  CSS2.1.

pjrm.

Received on Friday, 3 September 2010 04:22:50 UTC