Omission in '4.4.11.1 Creating an outline' ?

View: New views
4 Messages — Rating Filter:   Alert me  

Omission in '4.4.11.1 Creating an outline' ?

by ownedthx :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello,

I believe there may be an omission  to a particular rule in the 'Creating an outline' section:  http://dev.w3.org/html5/spec/#outlines

Specifically, from the rule 'When exiting a sectioning root element, if the stack is not empty' quoted at the bottom of this email, I believe there should be a 6th step:

'6. Append the outline of the sectioning content element being exited to the current section. (This does not change which section is the last section in the outline.)'

In addition, I think the 3rd step should be changed to:

'3. Finding the deepest child: If current section has no child sections, jump to step 6'



The wording of this step is identical to the previous rule 'When exiting a sectioning content element, if the stack is not empty',  of the algorithm, which was deliberate.  That previous rule makes sure that the outline of a sectioning content would be added to the overall document outline; without that same step added to the rule in question,  I don't see any way in which the outline of a sectioning root is added into the overall document outline.

I can open a bug if this is indeed a real issue...

Regards,
Seth


Re: Omission in '4.4.11.1 Creating an outline' ?

by Ian Hickson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 15 Jul 2009, Seth Call wrote:

>
> I believe there may be an omission to a particular rule in the 'Creating
> an outline' section:  http://dev.w3.org/html5/spec/#outlines
>
> Specifically, from the rule 'When exiting a sectioning root element, if
> the stack is not empty' quoted at the bottom of this email, I believe
> there should be a 6th step:
>
> '6. Append the outline of the sectioning content element being
> exited to the current section. (This does not change which section is
> the last section in the outline.)'
>
> In addition, I think the 3rd step should be changed to:
>
> '3. Finding the deepest child: If current section has no child
> sections, jump to step 6'

No, the sectioning roots don't append their outlines to their "parent"
outlines. This is intentional -- consider a table with multiple cells,
each with sections. Those sections aren't part of the document that the
table is part of -- but the cells still have outlines.


> I don't see any way in which the outline of a sectioning root is added
> into the overall document outline.

It's not; that's intentional. It's a root. That's what it means to be a
root, in fact.

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


Re: Omission in '4.4.11.1 Creating an outline' ?

by Simon Pieters-3 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 29 Jul 2009 03:26:31 +0200, Ian Hickson <ian@...> wrote:

> On Wed, 15 Jul 2009, Seth Call wrote:
>>
>> I believe there may be an omission to a particular rule in the 'Creating
>> an outline' section:  http://dev.w3.org/html5/spec/#outlines
>>
>> Specifically, from the rule 'When exiting a sectioning root element, if
>> the stack is not empty' quoted at the bottom of this email, I believe
>> there should be a 6th step:
>>
>> '6. Append the outline of the sectioning content element being
>> exited to the current section. (This does not change which section is
>> the last section in the outline.)'
>>
>> In addition, I think the 3rd step should be changed to:
>>
>> '3. Finding the deepest child: If current section has no child
>> sections, jump to step 6'
>
> No, the sectioning roots don't append their outlines to their "parent"
> outlines. This is intentional -- consider a table with multiple cells,
> each with sections. Those sections aren't part of the document that the
> table is part of -- but the cells still have outlines.

Such tables are almost certainly for layout, and it would be a disservice  
to users of AT to hide sections in layout tables from the document outline.

--
Simon Pieters
Opera Software


Re: Omission in '4.4.11.1 Creating an outline' ?

by Ian Hickson :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Wed, 29 Jul 2009, Simon Pieters wrote:

> On Wed, 29 Jul 2009 03:26:31 +0200, Ian Hickson <ian@...> wrote:
> > On Wed, 15 Jul 2009, Seth Call wrote:
> > >
> > > I believe there may be an omission to a particular rule in the
> > > 'Creating an outline' section:  
> > > http://dev.w3.org/html5/spec/#outlines
> > >
> > > Specifically, from the rule 'When exiting a sectioning root element,
> > > if the stack is not empty' quoted at the bottom of this email, I
> > > believe there should be a 6th step:
> > >
> > > '6. Append the outline of the sectioning content element being
> > > exited to the current section. (This does not change which section is
> > > the last section in the outline.)'
> > >
> > > In addition, I think the 3rd step should be changed to:
> > >
> > > '3. Finding the deepest child: If current section has no child
> > > sections, jump to step 6'
> >
> > No, the sectioning roots don't append their outlines to their "parent"
> > outlines. This is intentional -- consider a table with multiple cells,
> > each with sections. Those sections aren't part of the document that
> > the table is part of -- but the cells still have outlines.
>
> Such tables are almost certainly for layout, and it would be a
> disservice to users of AT to hide sections in layout tables from the
> document outline.

Nothing prevents the UA from using the outlines; it's just not automatic.
As far as I can tell, that's the right balance. Similarly, outlines of
blockquoted material or in <figure>s aren't included in the <body> outline.

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