RE: "Outline" algorithm (document length and complexity)

On Tue, 26 May 2009, Larry Masinter wrote:
> >
> > I think it would be illogical to have the definition of the vocabulary 
> > in a different document than the vocabulary itself.
> 
> Yes, that would be a bad editorial decision. The question is why 
> "outline" is part of the vocabulary. What features of HTML use the 
> "outline" function?

The section in question is defining what "<h1>" means, what <section> 
means, etc.


> If some other application or feature requires an "outline"
> feature in HTML, what are their requirements?

As I noted in my earlier reply, the use of the word "outline" is mostly an 
artefact of the way I wrote the section, and isn't the important thing 
being defined. The key part of this section (which is defined in terms of 
the outline because that was the simplest thing to do) is the definition 
of the relationship between any random element in a DOM and its relevant 
heading and sectioning content element.


> Are they all the same?

It would be bad for different tools to claim that different headings 
applied to particular pieces of content, yes.

If I say:

   <h1>A</h1>
   <p>aaa</p>
   <h2>B</h2>
   <p>bbb</p>

...as an extreme and clearly unambiguous example, surely you would agree 
that all tools should agree that "A" is the heading for "aaa" and "B" and 
"bbb", and "B" is the heading just for "bbb".

The outline section is the section defining this. (Note that HTML4 
actually _doesn't_ define this, so in HTML4 you could legitimately claim 
that in the above snippet, the "B" heading applies to "aaa" and _not_ to 
"bbb", despite this being completely unintuitive!)


> How can we judge whether the algorithm specified meets the requirements 
> for an outline function if the requirements are not stated and cannot be 
> derived from the rest of the spec?

The requirements are "generate outlines that represent the document 
structure in a consistent and unambigous manner that most closely matches 
the authoring intuition for the bulk of cases".


> If the only uses of "outline" are CSS or external "outline" processors, 
> is an HTML interpreter which doesn't support any of those still required 
> to implement the "outline" algorithm specified? Why?

If there is no way to test whether the tool implements the algorithm, then 
there is no need for it to implement the algorithm, since in this case no 
implementation is indistinguishable from an implementation, and thus is a 
valid implementation according to the requirement in the spec that says 
that only black-box conformance is needed.

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

Received on Tuesday, 26 May 2009 18:36:31 UTC