Re: Naming of <header>

jgraham@opera.com 2009-03-28 10.17:
> Quoting Ian Hickson <ian@hixie.ch>:
>> On Fri, 27 Mar 2009, James Graham wrote:

>>> confusion, with authors either assuming it designed to be used for all
>>> page header content or that it is designed to replace <h1>-<h6> and be a
>>> generic heading element (e.g. [1], [2] [...]

A. Other sources of confusing w.r.t. <header>:

   1. Section 4.4.6 names the h1-h6 elements as "headers for their 
sections". This is imprecise, since the draft later says that only 
the /first/ section header defines a section heading.

   2. Section 4.4.10 is titled "Headings and sections". To instead 
use "headers" in section 4.4.6 as well would be in line with HTML 
4, where the h1-h6 are referred to as heading elements.

   3. HTML 4 only uses "header" about HTTP/LINK/MIME headers, 
table headers and header cells.

   4. <head>: Google Codesearch documents between 22 300 [1] or 38 
200 [2] occurrences of <header> in open source projects. It is 
also use online, though I have no statistics. What turns up in 
these pages isn't the HTML5 <header> element (except in a handful 
of cases), but mistyped <head> elements. (Comparably, the rejected 
<image> element only occurs 102 times.)


B. Proposal instead:  <heading>.

   1. <heading> is difficult to confuse with <head> - it occurs 
only 11 times in Google Codesearch, including once in a HTML 5 
template (where it later was renamed to <header> [3]). Only once 
in these 11 times was it intended as the <head> element. <heading> 
is also fairly similar to class="header" and id="header".

   2. <heading> is easier to separate from <footer>:
      a. James has allready documented that authors tend to expect 
same/parallell features from <header> and <footer>. [4]
      b. The CSS 3 Paged Media module links header/footer as well 
and sees them principally unrelated to headings. [5]
      c. <thead> and <tfoot>, typically referred to as table 
header/footer, will probably shape authors' understanding of 
<header>/<footer> as well.
      d. Wikipedia links footer and header too. [6]

   3. The expression "the heading" generally refers to something 
which occurs only once per context, whereas "the header" may refer 
to one of several headers. For an element about which the draft 
says that its typical use is once per page "to mark up a page's 
title with its subtitle or tagline", <heading> therefore seems 
better than <header>.

   4. Wikpedia about heading [7] aka headline [8]: "... headline 
may also be followed by a smaller secondary headline, often called 
subhead ...".

   5. Dictionary.com: "heading" means: 1. something that serves as 
a head, top, or front. 2. a title or caption of a page, chapter, 
etc. 3.	a section of the subject of a discourse; a main division 
of a topic or theme. [9] (From this it is also fairly clear that 
a <heading> "may contain more than just the section's headings and 
subheadings [ e.g.] version history information.")

   6. It is in line with HTML 4 to say "heading". <heading> could 
help authors to see the meaning of h1-h6 better.(Though "header" 
also has a role. E.g. one might say "a heading 1 header" about 
<h1> - which is more practical than "a header 1 header". And 
"header 1" could mean both "the first header" and "a header 1 
header".)



C. Question: a heading element or a heading element *container*?

   Section 4.4.10 says: "The h1–h6 elements and the header element 
are headings." (again "header" instead of "heading" - why?) If 
<header> is just a "semantic container" for the (main) heading of 
a section, then it is confusing to speak about it as if it is 
comparable to the h1-h6 elements, no?

   Same section: "The first element of heading content in an 
element of sectioning content represents the header for that 
section." What if first heading content element is a <header> 
which is lacking h1-h6 elements? (Additionally, it seems more 
meaningfull to say that the first /header/ is /the heading/ of 
that section.)

   The h1-h6 elements define section headings - and thus sections, 
even when sectioning elements (<article>,<section>) are not used. 
Does a <header> without h1-h6 elements define a section heading in 
the same way?

   Draft says that <header> has the rank of <h1> (probably because 
<h1> are supposed to be used as the main heading of a section), 
but still its value is the empty string in summaries if it is 
lacking h1-h6 elements. What does it mean to have highest rank 
even when it doesn't contain any h1-h6 elements and doesn't show 
up with text in summaries/outlines?

>> The name used is the most commonly used name for the class that means the
>> same thing. If people naturally use this name for this purpose, why would
>> they get confused when other people use the name for that purpose?
> 
> Are we sure that the class name is being used in the way intended for 
> the element by the HTML5 spec? I don't recall what manual followup was 
> done with the Google data to verify this hypothesis.

And since header is a class, it may be used several times on the 
same page. In 10% the pages Philip documented, this is how it was 
used, it seemed. [10]

Also, in the collection at Stuffandnonsense.co.uk [11], "header" 
-or some variant thereof- was in 95% of the case used as an @id 
value. To replace <div id=header> with <header> would not bring 
the same functionality, unless one e.g. wrote <header id="header"> ...

OTOH, if authors must choose between <header>/<heading> and <div 
class="header"> or both, they will probably choose 
<header>/<heading>. Which would probaly be good and practical.

>> On Fri, 27 Mar 2009, James Graham wrote:
    [...]
>> The people who have expressed confusion are also early adopters. :-)
> 
> Indeed. But when gathering information from the behavior of early 
> adopters, there is an asymmetry in the importance we should attach to 
> people getting things right vs people getting things wrong  [...]

Indeed.

[1] 
http://www.google.com/codesearch?hl=en&lr=&q=%3Cheader%3E+lang%3Ahtml&sbtn=Search
[2] 
http://www.google.com/codesearch?hl=en&lr=&q=%3Cheader%3E+HTML+lang%3Ahtml&sbtn=Search
[3] 
http://www.google.com/codesearch?hl=en&start=10&sa=N&q=%3Cheading%3E+lang:html
[4] http://www.w3.org/mid/49CCC425.8020208@opera.com
[5] http://www.w3.org/TR/css3-page/
[6] http://en.wikipedia.org/wiki/Page_header
[7] http://en.wikipedia.org/wiki/Heading
[8] http://en.wikipedia.org/wiki/Headline
[9] http://dictionary.reference.com/browse/heading
[10] http://www.w3.org/mid/49CD7AEF.8080206@cam.ac.uk
[11] 
http://www.stuffandnonsense.co.uk/archives/naming_conventions_table.html
-- 
Leif Halvard Silli

Received on Tuesday, 31 March 2009 03:07:16 UTC