W3C home > Mailing lists > Public > public-html@w3.org > December 2010

Re: suggestion for abolition of <hgroup>

From: Leif Halvard Silli <xn--mlform-iua@xn--mlform-iua.no>
Date: Tue, 28 Dec 2010 19:58:22 +0100
To: Benjamin Hawkes-Lewis <bhawkeslewis@googlemail.com>
Cc: HTML WG <public-html@w3.org>, Lars Gunther <gunther@keryx.se>
Message-ID: <20101228195822206530.d974efd2@xn--mlform-iua.no>
Benjamin Hawkes-Lewis, Tue, 28 Dec 2010 18:19:36 +0000:
> On Tue, Dec 28, 2010 at 12:51 AM, Leif Halvard Silli :
>>> I believe an attribute solution must at the very least focus on the 
>>> element to be *included* in the algorithm, rather than on the
>>> ones to be excluded, if it is to have a chance.
> 
> Why?

See my reply to Lars.
http://www.w3.org/mid/20101227223340252447.4a7f79cc@xn--mlform-iua.no

In short, the algorithm for <hgroup> works that way.

>> (2) Content attribute - @abbr contains the text for the ToC:
>> 
>>       <h1 abbr='My terrific idea'>My terrific idea. How I saved
>>           HTML5 from being a mess</h1>
>> 
>>    If @abbr is emtpy, then no text lands in the ToC:
>> 
>>       <h1>My terrific idea.<h1>
>>       <h2 abbr=''>How I saved HTML5 from being a mess</h2>
> 
> Since attributes can't mark changes of language or emphasis and since this
> makes the outline text hidden metadata rather than a segment of the visible
> text, I think "hgroup", @toc, and @subtitle are all preferable approaches.

Firstly: Often the generated contents table won't have such markup
         - it is suffient to know the heading level.
Secondly: in the second example above, the h1 element contains all
          markup. The <h2 abbr=''> would  not be used, and neither 
          would it have been if it had been wrapped inside a hgroup
          element.
Thirdly: language? The language would of course be that of the element
         where the @abbr is located.
Fourthly: hidden meta data? Can't see that it would be any more
          hidden than hgroup - what makes things visible is the
          resulting generated table of content.

>> @abbr is taken from HTML4, where it contains a short version of a table
>> cell's content - a very similar function for very similar reasons.
> 
> I doubt it will come naturally to authors to think of (or care about) 
> outline titles as abbreviations of headers.

Its 'natural-ness' is compareble to <hgroup>. But it is just a name. If 
there are convincing reasons for another name, that we can discuss, as 
long as the function is kept.

> By contrast, the "subtitle" concept is familiar from the deadtree 
> world and a more obvious target for styling.

A subtitle is usually *sub*. Whereas we need to cover structures as

<h2 subtitle>A</h2>
<h1>B</h1>
<h2 subtitle>C</h2>

where the subtitle is a suptitle.

>> Advantages to going for @abbr: a) broadens existing HTML4 feature 
>> instead of
>> inventing new concept b) thus builds on existing AT support
> 
> Not meaningfully. Just because a couple AT (Jaws, Window-Eyes) use "abbr" on
> "th" doesn't mean they'll also apply it to "hX".

I certainly hope that they won't treat a Table of Content as a Table. 
What matters is that the concept is known.

>> c) as long as UAs are interested in implementing the algorithm,   authors
>> would not have problems in understanding how it works
> 
> I'm not convinced. Authors rarely use "th abbr" correctly. In so far as it's
> used, it's often used for expansions rather than contractions! This 
> should give us pause to doubt they would use "hX abbr" correctly.

I have paused to think that the name 'abbr' might not be correct 
always. E.g. it might be that an author some times wants a longer title 
in the Table of Contents than the title used in the text actually has. 
If that's an issue, then renaming it to @toc might be meaningful.

>> d) CSS: h1{content:attr(abbr)}   would replace the h1's content with the
>> content of the @attr   and it works in Opera + I think in Chrome + nightly
>> Webkit.
> 
> Why is this an advantage?

I follow the thinking, which many other also have, that things should 
be backward-compatible etc. It also means that it is easy to test how 
the short version of a particular heading works. This relates to your 
claim about hidden metadata etc. Also h1[abbr] would work.

>> In contrast, the CSS selectability of the different <hgroup> elements
>> cannot be as programmatic, without a new CSS selector.
> 
> We need a new CSS selector like ::heading(2) anyway, because of the 
> way HTML5 changes the outline algorithm.

How cool. Then we can use CSS in order to reveal the hidden heading 
level. Brilliant.

>> e) it is questionable how often it is useful to make the   heading differ
>> from its ToC representation. @abbr is a bit more   tedious and thus makes
>> sure it doesn't happen too often
> 
> Subtitles don't seem that uncommon in ordinary documents.

Not sure what point you made here.

>> f) @abbr is very flexible:
>>    * doesn't need to exactly reflect any part of a
>>      heading
> 
> Hidden metadata is likely to get out of sync.

It is not hidden. Outline supporting UAs as well as CSS, would reveal 
it.

>>        If the spec insists on the uselessness of td@abbr, the 
>> alternative is
>> to introduce hgroup inspired markup - instead of @abbr - for 
>> identifying the
>> short version of a table cell.
> 
> As someone who's actually used "abbr" to shorten meandering table 
> headers for screen reader users, I think a mechanism that did not use 
invisible metadata
> would be an improvement. @aria-labelledby might be one option.

The element @aria-labbelledby points to will be treated as an attribute 
by the screenreader - and you have described all the problems that are 
related to that above.
-- 
leif halvard silli
Received on Tuesday, 28 December 2010 18:59:02 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:16:07 UTC