Re: [CSS21] Section 6.1.3

On Thu, 25 Aug 2005, Craig Northway wrote:
> > 
> > CSS is not defined in terms of functional steps ("do this then do this then
> > do this"), it is defined in terms of a model ("it is this"), an
> > implementation for which must then be found.
> 
> The example I quote from section 6.1.2 and 6.1.3 appear to be a 
> functional steps in the model.

"Specified values are resolved to computed values during the cascade; for 
example URIs are made absolute and 'em' and 'ex' units are computed to 
pixel or absolute lengths." is a statement of fact, a description of the 
model. It is not a function step. A list of functional steps would be 
something like the list giving the processing model in section 3.2.


> > > The QA Framework: Specification Guidelines
> > > (http://www.w3.org/TR/2005/REC-qaframe-spec-20050817) requirement 7
> > > states:
> > > 
> > >         Use a consistent style for conformance requirements and
> > >         explain how to distinguish them
> > > 
> > > Requirement 8 states:
> > > 
> > >         Indicate which conformance requirements are mandatory, which
> > >         are recommended, and which are optional.
> > > 
> > > Specifying in section 3.2 that a UA must conform with the rest of the
> > > specification does not make it easy to distinguish conformance
> > > requirements. Nor does it make it easy to determine which comments are
> > > mandatory, recommended or optional.
> > 
> > It should be pretty clear; if something describes the model, it's 
> > something the implementation has to be consistent with.
> 
> How do I know precisely what is defining the model? Parts of the model 
> that must be performed should be expressed using 'must' or 'shall' or 
> other suitable terms.

There is nothing that "must be performed", CSS is defined in terms of what 
must be. The only the that must be "preformed" is what is in section 3.2, 
and that states that the UA's output must be consistent with what is 
described in the rest of the spec.

Things like "Computed values are processed as far as possible without 
formatting the document." (6.1.3) are not things that are to be performed. 
They are descriptions of what happens in the CSS model.


> > Certain things are explicitly stated as being outside the model ("The 
> > behavior of the 'auto' value is user agent-dependent") and RFC2119 
> > terms are used when conformance criteria outside the model are 
> > required ("but should cause a scrolling mechanism to be provided for 
> > overflowing boxes")
> 
> But, everything that may be in the model is not obvious.

Unless one is specifically looking to misinterpret the spec, I really 
don't see what there is that isn't obvious. The parts in 6.1.2 and 6.1.3 
in particular have been interoperably implemented by many UAs without any 
difficulties finding out what is part of the model. (Indeed, pretty much 
everything is the model unless stated otherwise.)


> > If this does not address your concern please explain how the CSS spec 
> > should be rewritten to use a different conformance model.
> 
> Each statement that is required to be peformed by the UA in implementing 
> the model should be specified with must or shall.

As I have already mentioned, this is the case. The only thing that a UA 
has to do to be conformant is act in a way consistent with the description 
of the CSS model, and that requirement is spelled out in 3.2.


> > It is not clear to me how we can require conformance to a model 
> > without using the mechanism used by CSS2.1. For example, take margin 
> > collapsing:
> > 
> >   http://www.w3.org/TR/CSS21/box.html#collapsing-margins
> 
> I fail to see how this is relevant to my initial comment.

It is an example of a description of the model that would be exceptionally 
hard to define using functional steps instead of the current approach.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Thursday, 25 August 2005 22:04:20 UTC