- From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
- Date: Mon, 13 Jan 2014 17:30:27 +0100
- To: Adrian Roselli <Roselli@algonquinstudios.com>
- Cc: "Jukka K. Korpela" <jukka.k.korpela@kolumbus.fi>, "public-html@w3.org" <public-html@w3.org>
Hi Adrian,
«Feel» is often synonymous with «think». Anyway, HTML5 says that if we
don’t use <section>, then each use of an h1-h6 element implies a
section.
Per the spec, I could thus have done this - which (one could claim) is
also mentally what I did:
<section class=Level-2 ><h2>Chapter</h2>
<section class=Level-3 ><!--skipping <h3> suheading element-->
<section class=Level-4 >
<h4>Task</h4>
…
</section>
</section>
</section>
If Web browsers *did* implement the HTML5 outline, then authors would
be encouraged to follow the (yes) rigor that the HTML5 outline
algorithm promotes. (And, btw, rigor can be a good thing.)
But alternatively, one could modify the HTML outline algorithm so that
if you jump from <h2> to <h4>, without a <h3> in between, a wrapper
consisting of a heading-less level 3 section is implied around the
(implied) level 4 section - like in my code example above.
Frankly, I would prefer this variant, because outline level *is*
semantic. And I don’t want <h4> to be moved upwards (or inwards) in the
outline, just because I ”forgot” to add the <h3> heading. Such a thing
could be confusing not only to AT users but to every user.
Such a varian of the outline algorithm could be more compatible with
the actual content «in the wild», including compatible with how legacy
tools present outlines.
In a summary, I think use of <section> should trump use of headings,
with regard to the level (thus, one can produce level 7, if one uses
seven levels of <section>). But when section is not used, then a
”level jump” from - for instance - h1 to h4, should mean that (in this
case) 4 levels of sections are implied, where two of them will be
without heading.
Leif Halvard Silli
Adrian Roselli, Mon, 13 Jan 2014 15:46:57 +0000:
>> From: Leif Halvard Silli [mailto:xn--mlform-iua@målform.no]
>> Sent: Sunday, January 12, 2014 6:12 PM
>>
>> Jukka K. Korpela, Thu, 09 Jan 2014 23:21:06 +0200:
>>> 2014-01-09 17:58, Leif Halvard Silli wrote:
>>>> Jukka K. Korpela, Thu, 09 Jan 2014 17:04:29 +0200:
>>
>>> It might make sense practically to treat
>>>
>>> <h1>...</h1>
>>> <h2>...</h2>
>>> <h4>...</h4>
>>>
>>> so that the rank 4 heading is really at level 3, on the assumption
>>> that such markup has been used for rendering reasons
>>
>> I work on the formatting of a text book with this structure:
>>
>> Chapter (H1)
>> [text]
>> Subheading (H2)
>> [text]
>> Task heading (H3)
>> [text]
>>
>> But quite often, the a chapter might have no subheadings, while it
>> still still
>> contains tasks and task headings. In that case, I don’t want the
>> task headings
>> to move up to level 2, so I still use h3. I also don’t want any
>> change in the
>> table of contents, where I use different styles for the different levels.
>>
>> I don't feel that I select h3 for styling reasons though - it has to
>> do with
>> semantics …
>
> Except you just said you use different styles for different levels
> and don't want that disruption in the table of contents. Which tells
> me you are making that decision based on the style, not the
> semantics. Unless you can clarify how you feel it's truly a semantic
> decision to skip that level.
>
> To me, the issue you describe shouldn't be reflected in your HTML,
> but in your CSS.
>
> I think the task headings are at whatever level the natural flow
> drops them (except <h7> and higher, since that doesn't exist). IMO,
> it's appropriate that the <h4> should be structurally moved up to an
> <h3> when parsed. Since the browsers aren't doing that anyways (as
> far as I know), then it should be coded as an <h3> anyway.
--
leif halvard silli
Received on Monday, 13 January 2014 16:30:58 UTC