[whatwg] Deprecating <small>, <b> ?
Tab Atkins Jr.
jackalmage at gmail.com
Fri Nov 14 06:41:59 PST 2008
On Fri, Nov 14, 2008 at 7:40 AM, Pentasis <pentasis at lavabit.com> wrote:
> The small element represents small print [...]
>>>
>>> The b element represents a span of text to be stylistically offset from
>>>>
>>> the normal prose without conveying any extra importance [...]
>>>
>>> Both definitions seems rather presentational (contrasting, for example,
>>> the new semantic definition for the <i> element) and could also be
>>> realized by use of <span> elements.
>>>
>>
>> Why use <span class="smallprint">Copyright (c) 2008 ?</span> instead
>> of just <small>Copyright (c) 2008 ?</small>? The latter possibility
>> is way more semantic.
>>
>> And why use <span class="brand">Siemens</span> instead of just
>> <b>Siemens</b>?
>>
>> To me, the small and b elements ? especially the former ? make perfect
>> sense.
>>
>> -david
>>
>
> I agree with the original poster on this.
>
> 1) Just because it makes sense to a human (it doesn't to me), does not mean
> it makes sense to a machine.
> 2) When using <small> on different text-nodes throughout the document, one
> would expect all these text-nodes to be semantically the same. But they are
> not (unless all of them are copyright notices).
Why would you expect this? Or rather, why would you expect this level of
semantic specificity? <small> means something fairly broad that multiple
types of specific semantics can fall under.
> 3) <small> is a styling element, it has zero semantic meaning, so it does
> not belong inside HTML.
It *had* zero semantic meaning. Actually, though, this wasn't quite true.
The semantics that have been attached to <small> (and <i>, and <b>) are an
approximation of the common semantics that users of the elements conferred
on the contents. Text within <small> was, quite often, used for "small
print". Matching up theory with practice is a good thing here.
<i> and <b>, once you subtract the semantics stolen by <em> and <strong>,
are used pretty much specifically as the spec states.
4) <b>Siemens</b> also does not tell me anything about the semantics. Is it
> used as a name, a brand a foreign word ? etc. I cannot get that information
> from looking at the <b> element.
Of course not. You're not intended to. What you *do* get, though, is that
this is a word which is *intentionally* stylistically offset from the rest
of the text. This conveys semantic meaning to a human - it means that the
word is special or being used in a particular context. <b> and <i> don't
communicate *much*, but they communicate *something*. One could, of course,
also use a <span> to mark up and style the text, thus communicating the same
intent to a person reading the styled text, but to a machine the <span>
means literally nothing, while <b> and <i> have the possibility to
communicate *something*.
In addition, the fact that these elements traditionally have a particular
preferred rendering means something. A dumb terminal which doesn't
understand CSS won't give any indication to the user that a <span> exists at
all, while <b> and <i> have a chance of providing fallback rendering that
still accomplishes what they were designed to do. A decent chunk of html5
concerns itself with providing fallbacks and graceful degradation (or
progressive enhancement, whichever way you want to look at it). Having some
*nearly* semantic-free elements which have a meaningful fallback can be
useful.
Of course, it may certainly be more useful to you if you provide a class on
the <i> as well.
~TJ
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/20081114/846c39c9/attachment-0001.htm>
More information about the whatwg
mailing list