[thelist] skipping 'hx' levels is bad

aardvark roselli at earthlink.net
Wed Jan 16 16:11:08 CST 2002


> From:  "rudy" <r937 at interlog.com>
[...]
> >Simple! Even in print, where structure can be demonstrated visually
> >without the use of headers, you'd want to demarcate that wrapup as
> >such.
> 
> could you please reconcile "without the use of headers" and
> "demarcate"

in print, indenting can be done as stricly a visual thing, but that 
usually isn't good enough to denote a new section...  a wrap-up is 
often set apart in some way, so in HTML where we use the <h#> to 
denote in the structure, we would also rely on the <h#> to visually 
clue the user in...

in print, since 'structure' isn't quite the same as it is in an HTML 
document, you don't set it apart with document structure, but with 
style... IOW, you don't have sections run together in web or print, 
you delineate them in some way...

> see, that's my whole point (and i think liorean alluded to this) --
> you cannot demarcate content as "belonging" to certain headers because
> the markup language does not associate content with headers, headers
> are just inserted into or "interleaved" within the content, much like
> a couple of jokers shuffled into a deck of cards

content beneath a header and above another header is considered 
to be hierarchically within/below that header...

otherwise if you produce a document structure, you'd have all your 
headers *alone* in a nested list, and then beneath that, all the 
content as one big block... now that would make no sense, right?  
that content *belongs* to a level as denoted by the header 
element...

> so in order for me to "demarcate" that the wrapup doesn't belong to
> moe, i am "forced" to insert a heading?

yes... because using the headings imparts a structure, a 
hierarchy... you can't just dump it because it's inconvenient... 
either don't use it at all, or use proper nesting...

> feh

because you find it inconvenient, or because the approach to 
document structure as i'm framing it makes no sense?

> and why does it have to be an h2?  why couldn't it be an h3?

because an h3 would mean it sits below/within the header above it, 
and it doesn't... it's a section outside of the section above it, but 
within the document, so it gets an h2...

did you ever write outlines for papers in school?  think of it kinda 
like that...

> see, you guys with your rigid, hierarchical thinking, you
> automatically assume that an h3 is "under" an h2, but that is *NOT*
> the case at all

well, yes, it is... it only isn't because you don't *want* it to be...

can you explain why an h3 doesn't sit below an h2 in a hierarchy?

and can you explain why, beyond style, that's the case?

> each of the h2's in the example given -- and all the p's too, for that
> matter!! -- are "under" the body, all at the same level!!

no, they're under the h1, which is under the body, which is under 
the document...

> to me, it is not a hierarchy, but a question of IMPORTANCE -- the
> wrapup h3 is not as important as the h2's
> 
> the w3c says
> 
>     "There are six levels of headings in HTML with H1 as
>      the most important and H6 as the least. Visual browsers usually
>      render more important headings in larger fonts than less
>      important
> ones.

except the browsers parse these as a hierarchy.... and while i can't 
find it right now, that explanation is also in the docs...  gimme 
some time to dig that up....

of course, why wouldn't importance imply hierarchy?  why would 
you make a sub section less important than its parent by 2 
degrees?

> i'm sorry, but this appeals to me a *lot* more than the rigid,
> hierarchical interpretation of the role of hx headers as demarcations
> of nested content

HTML, though not perfect, is from SGML and going to XML, which 
means it is, in fact, a rigid hierarchical desciption language...

> if headers did imply nesting, then we might more properly have
> 
>     <h1 titletext="stooges">
>       <p>introductory comments, a page and a half</p>
>       <h2 titletext="curly">
>           <p>stuff about curly</p>
>       </h2>
>       <h2 titletext="larry">
>           <p>stuff about larry</p>
>       </h2>
>       <h2 titletext="moe">
>           <p>stuff about moe</p>
>       </h2>
>       <p>wrapup comments</p>
>     </h1>
> 
> which clearly demarcates which content belongs to which headers, but
> we don't

sometimes i think we should have had that... but remember that 
HTML 1 and 2 were far from clean specs... XML, in fact, does just 
that, and is more toward where HTML was headed (as of its end in 
the XHTML transition)...

> maybe it calls for a whole bunch of nested divs?  like in the w3c
> example? feh
> 
> the w3c also says
> 
>    "Some people consider skipping heading levels to be bad practice.
>     They accept H1 H2 H1 while they do not accept H1 H3 H1 since the
>     heading level H2 is skipped."
> 
> i have seen them use a lot stronger language when they want authors to
> observe a particular practice -- i'd say they were leaving it up to us

agreed, they are generally mellow here... but some of the HTML 
standards folks have been vocal about the strcuture... i'd bet there 
was a meeting with people like you and i arguing this same point...

> i know that syntax versus semantics, form versus function, and style
> versus content all have "gray" areas where there is substantial
> overlap
> 
> but i just don't buy the argument that heading tags must follow a
> strict hierarchical structure with no "gaps" in the heading numbers,
> because i have not yet heard a compelling argument for it

i want my HTML to impart structure to my content...

the <h#> tags can do just that...

i have not, however, heard a reason *not* to do it beyond the 
arguments of either style ("it's too big, make it smaller") or 
inconvenience ("you mean i have to change all my <h3>s?)...

those arguments don't fly with me...

> > Yeah, you probably have issues you with Strunck & White, too, don't
> > you? Troublemaker.
> 
> strunk
> 
> i prefer fowler, actually

LOL!





More information about the thelist mailing list