[whatwg] Deprecating <small> , <b> ?

On Mon, 17 Nov 2008 15:26:22 +0100, Smylers <Smylers at stripey.com> wrote:

> In printed material users are typically given no out-of-band information
> about the semantics of the typesetting.  However, smaller things are
> less noticeable, and it's generally accepted that the author of the
> document wishes the reader to pay less attention to them than more
> prominent things.
> That works fine with <small>.

No, it doesn't, and you explain why yourself here:

> User-agents which can't literally render smaller fonts can choose
> alternative mechanisms for denoting lower importance to users.

If the point isn't to literally render smaller fonts, you shouldn't
indicate that you want the fonts rendered smaller either. What you want is
to semantically indicate that the text wrapped inside the element is of
less significance than the surrounding text, e.g. a negative 'strong' or
'em'. Just as 'b' isn't equal to 'strong', 'small' isn't equal to what
we're trying to express here.

What we need is a new element that can capture this semantic.

> Denoting particular text as being of lessor importance is quite
> different from choosing the overall base font size (or indeed typeface)
> for the page, or the colour of links or headings -- that's merely
> expressing a preference for how graphical user-agents should render
> particular semantics, but the semantics themselves are conveyed to _all_
> user-agents (<a>, <h3>, etc).

Which is why we need to capture this as semantic and not as presentational

> Indeed you can't.  And nor can you if you were reading printed text with
> some words in bold.

Why does printed text set the standard for what we are able to express
with a markup language? Does e.g. PDF in any way direct what should be
possible with HTML?

> However, you would appreciate that the author had wished for some
> particular words to stand out from the surrounding text.

That's a job for the style sheet, whether it's provided by the author or
by the user agent. Using the same element would in most circumstances
yield the same presentation. Isn't that what you want?

> However, you can only notice this if the words have been distinguished
> in some way.  With <b>, all user-agents can choose to convey to users
> that those words are special.

They are only special for sighted users, browsing the page with a rather
advanced user agent. They are not special to blind users or to users of
text-based user agents like Lynx. If you want to express semantics, then
use a semantic element.

Expressing semantics through presentation only is done in print because of
the limitations in the printing system. If the print was for a blind
person, printed with braille, one could imagine (had it been supported)
that letters with a higher weight could be physically warmer than others,
or with a more jagged edge so they could stand out.

Such effects would have been impossible if the document was only tagged
with presentational markup. The same applies to other mediums than print
-- you need to know the underlying reason of why something is presented
the way it is to transfer that presentation to another environment. And
for that you need the semantics.

Asbj?rn Ulsberg           -=|=-        asbjorn at ulsberg.no
?He's a loathsome offensive brute, yet I can't look away?

Received on Monday, 24 November 2008 07:24:16 UTC