Tim <ti*@mail.localhost.invalid> wrote:
There's one very common aspect of h element rendering that has always
seriously annoyed me (as someone reading pages, more than authoring),
and it's still recommended in that sample:
h5 { font-size: .83em; margin: 1.5em 0 }
h6 { font-size: .75em; margin: 1.67em 0 }
What idiot thought that it'd be a good idea for some headings to be
smaller than the body text?
Who knows? But it has created many "interesting" features like making
entire paragraphs h5 or h6 just in order to make them smaller!
A think the big idea was that h5 was supposed to appear in italic,
h6 in bold, or something like that - and somebody thought that italic
text looks more prominent than normal text even when the italic text has
smaller font size. This is questionable especially for sans-serif fonts.
Then to make matters worse, to make it
smaller by *that* much?!
There's a goog old principle in typography that changes in font size
should be clearly noticeable so that it does not look like an error.
For example 10pt vs. 11pt are probably too close to each other;
10pt vs. 12pt works better. In terms of relative changes, this means
that .83em is not such a bad idea typographically _if_ you go below basic
font size and the font tolerates size reduction. Getting even below that
is debatable, partly because any size clearly below .83em tends to become
very hard to read.
We can't really blame HTML specifications much for this mess. HTML 2.0,
which (somewhat exceptionally) discussed presentation in some detail in
this issue, described _typical_ renderings as follows:
H5
Italic, normal font, indented as H4. One blank line above.
H6
Bold, indented same as normal text, more than H5. One blank line above.
Ref.:
http://www.w3.org/MarkUp/html-spec/h..._5.html#SEC5.4
It says "normal font" for H5. Since bold is more striking than italic, it
suggests between the lines that H6 would be smaller than normal text
in "typical renderings".
Note, by the way, that HTML 2.0 said that the elements denote _section_
headings. This is not maximally clear, but it is more informative than
later HTML specifications in this respect. A heading is always a heading
_for_ something (namely a section, at some level of structure), not just
emphatic text.
There's more in the common rendering, which is effectively recommended by
the W3C for graphic browsers. As the sample style sheet shows, there's
_equal_ margin above and below a heading. This violates typographic
practices, since a heading should associate better with the text after it
than with the text before it, so the margin above should be bigger than
the margin below. There's nothing we can do in HTML about this, unless
you count clumsy and unreliable tricks like putting <p></p> before a
heading.
--
Yucca,
http://www.cs.tut.fi/~jkorpela/
Pages about Web authoring:
http://www.cs.tut.fi/~jkorpela/www.html