B vs Strong

At 02:47 PM 1/18/2001 , Anne Pemberton wrote:
>         Believe me, I *am* listening, and I do indeed want to ferret out the
>answers to my questions because I believe I speak for more than just myself
>(if it was just me, I'd collar one of you guys and hash it out offlist).
>         On the issue of B/bold vs strong, etc, I'm still confused what difference
>a command makes that is read/used by machines. When does the user
>see/hear/feel B instead of Strong? Do some outputs reveal the command
>instead acting on the command? What am I missing here?

Hi, Anne, let me try to shed some light on the situation.  Let's
imagine things a little differently, maybe a parallel universe.

Let's say that in order to denote something really important,
the tradition was that we put it in blue.  So we have HTML
that says <blue>This is important</blue>.

Okay, that works for me at first, but then I realize there are
some other things I want to have in blue, and it doesn't just
mean that they're important; it might just mean they're in blue.
So I have to take a look at my original assumption, that the
<blue> tag was appropriate.  When I do this, I find that I
don't really mean _just_ "the color blue", I mean "important."
So my tag is now named "important" -- <important>This is
important</important>.

Why does that matter?  Well, all that <blue> does is turn the
text blue.  Which means that browsers which don't display
colors aren't going to know what to do with the <blue> tag;
you can't -assume- that <blue> and <important> mean the same
thing!

If I'm using a browser which doesn't display color, but it
can put things in inverse text mode -- white on black or black
on white, whatever the opposite is -- then maybe my browser
will put the <important> things in inverse.  But should it put
the <blue> things in inverse too?  No, it probably shouldn't
because I don't know whether or not someone is making it blue
because it's important, or just because they like the color
blue.

It's the same way with <b> and <strong> -- <b> means something
very specific, it means "put the text in a thicker version of
the font".  <strong>, on the other hand, means "give whatever
emphasis you give when you see something important."  So,
philosophically, they are different tags.

Now, that's the theory.  Here's where it gets very tricky,
and I'll try to make this understandable with a bullet list
of "factoids":

* Nearly all known browsers that display text visually will
   render <b> and <strong> identically (unless told otherwise,
   e.g. using CSS).

* Nearly all known assistive technology understand that people
   misuse <b> when they mean <strong>, so they tend to treat
   <b> as identical to <strong>.

* Nearly all editing software based on word processors have
   buttons for "bold", "italics", "underline", etc., and have no
   buttons for "important" or "strong".

Putting this together, we arrive at the current problem --
namely, that there is much confusion between <b> and <strong>,
and for the most part, the software will tend to treat both of
them identically, _even though this is the wrong approach_.

Why is this wrong?  Apart from issues of ideological purity
("thou shalt not use presentational HTML"), the main problem is
that you can never tell reliably if someone made something bold
because they want it to be important.

Note that it would be an error for the "bold" button to simply
produce <strong> tags -- some people have suggested this, and a
few authoring tools actually work this way.  But this itself is
a confusion of <b> and <strong>, because not everything that is
boldface is intended to be strongly emphasized.  Maybe it's
just bold because it looks better that way.

The issue of <b> vs. <strong> is a matter of concern for me,
because I feel too often it's easy to get hung up on the specifics
of "tag trivia" and decide that one type of tag, <b>, is "wrong"
and the "cause of problems" and "shouldn't be used."  I fear that
this boils down the message of web accessibility -- which is,
at the heart, a _method of thinking_ about web design -- to instead
a list of "tags to avoid" which is missing the forest for the
trees.

I personally have yet to see anyone who has been denied access
to content because of a <b> tag used where a <strong> tag was
intended.  Yes, it's "wrong" in a puritanical and even a logical
sense to confuse the two, but it's likewise wrong to confuse
'which' and 'that' -- and we still manage to communicate pretty
effectively despite widespread misuse.

For this reason, I view the use of <b> for <strong> (or vice
versa) as being mostly a nitpick; heck yes it's wrong, but in
practice, it is often not worth caring about as much as some of
the other, bigger issues which face us.

--Kynn


-- 
Kynn Bartlett  <kynn@idyllmtn.com>                http://kynn.com/
Technical Developer Relations, Reef           http://www.reef.com/
Chief Technologist, Idyll Mountain Internet   http://idyllmtn.com/
Contributor, Special Ed. Using XHTML     http://kynn.com/+seuxhtml
Unofficial Section 508 Checklist       http://kynn.com/+section508

Received on Thursday, 18 January 2001 19:36:26 UTC