- From: Charles F. Munat <chas@munat.com>
- Date: Tue, 08 Jan 2002 22:54:01 -0800
- To: w3c-wai-ig@w3.org
Vadim Plessky wrote:
> | Because the span indicates that the use of the greeen colour is
> | just a designer's whim, and is complete noise in terms of the
> | meaning, whereas em indidcates the colour is being used to stress
> | the word, and, a good house style will always use the same way of
>
> frankly speaking, I do not understand why you want to "stress" this word.
> I prefer to avoid stresses as much as possible :-)
Changing the color to green *does* stress this word for visual users.
The question is, why do you want only visual users to receive this stress?
David's point is that there must be a reason for applying different
styles to spans of inline text. Usually there is an HTML element (such
as EM) that fulfills this function better than SPAN. That so many people
use SPAN instead implies that they do not really know why they are
applying a different style to that text.
A much better use of SPAN (IMO) is to label specific items in your text
(as I mentioned to you off-list). For example, I might like to label the
titles of books and the names of authors on my pages (especially if I
were designing a publishing site):
Last summer I read <span class="BookTitle">Gravity's Rainbow</span> by
<span class="BookAuthor">Thomas Pynchon</span>.
Now that I've labeled these items, I can choose whether to apply styles
to them now (or later), and if I do apply styles, then I can do so based
on the function of the text in my document. So I might decide to make
all book titles bold italic and all authors' names italic. And I can
change them anytime.
Using <span style="color: green">some text</span> is pointless. I have
no idea why this is green, and no way to distinguish it from any other
green text. If I decide later that I want this text red, I must find
every instance of it in my code and change them individually (or risk a
global search and replace on not-very-unusual data).
Also, I have no central source of information about this style. I have
to find this individual text in the page to note that it is green. If I
use class="BookTitle" instead, then all I have to do is look for
.BookTitle in my stylesheet and I can see what properties every book
title on the site has.
Better still, if I have green book titles and green magazine titles and
green CD titles (and they are appropriately labeled) I can later decide
to make book titles red, magazine titles blue, and CD titles black and
do it all with three simple edits to one file.
Put another way, the color:green example above is simply a FONT element
in sheeps clothing. Why bother switching?
(And as you pointed out in your reply, <span class="BookTitle"> is just
XHTML for <BookTitle> in XML. With XSLT, I can easily shift my page back
and forth between XHTML and some other XML dialect.)
I regularly use SPAN and DIV to encode meta-information that would have
been encoded had I been using XML. If I choose to convert these sites
later, all that information will already be present.
Also, in the above example, I would probably use SPAN for the author's
name, but EM for the book title, since book titles are typically
emphasized (using italics). That way the emphasis is preserved even on
non-CSS browsers.
>
> | stressing, at least in that sort of division, so it can put in the
> | house style rules. Even if you don't explicitly think of speech
> | browsers, a speech browser can emphasise the em case. Even if you
> | don't think of monochrome displays, the monochrome browser can
> | bold or italic it.
>
> ok, now we should recall teletype for compatibility issues?
> My recent study of web statistics shows that majority of web users (>80%) has
> high-color displays (either 24-bit, 32-bit or at least 16-bit)
> So even supporting 8-bit displays doesn't make much sense nowdays...
> And you are speaking about monochrome...
I am surprised that you would make this argument, Vadim. Aren't you the
same developer who just reminded us that bandwidth is important? Why
should people care about those with bad phone lines but not those with
monochrome monitors?
There are people throughout the world who can only access the web
through slow connections and old equipment. If you are using a 286 with
a monochrome monitor and Windows 3.1, you can't run IE 6, and even if
you could, you can't see the fancy pages that most developers seem to
insist on. It is important to use HTML properly -- that means using the
right element. If text is to be emphasized, put it in an EM element. If
it is strongly emphasized, put it in a STRONG element. If it is a
heading, use the appropriate Hn element. If it is not a heading, *don't*
use a heading element.
If you use the code properly, your pages will display properly on older
browsers without any extra effort on your part. All the complaints about
how much time it takes to make pages cross-browser compatible come from
people who are trying to force HTML to do things it was never meant to
do. Keep it simple and you can serve everyone -- even users in Russia
with slow connections.
> | Also, and possibly more importantly, the user knows about em, and
> | can define their own rule, to provide them (or their clients) with
> | a predictable result. (You could also provide user style sheets that
> | people could use on this and other pages.
>
> excuse me, but I do not know about <em>.
Sure you do. When you see italicized text, your mind reads it as
emphasized. When you see bold text, your mind reads it as emphasized.
When you use EM, older browsers (and newer ones, too) use italics or
bold weight to convey that emphasis to you. It's quite effective, and
virtually universal.
> And all people around me (both web developers and web users) do not know
> about <em>.
They may not know the HTML element EM, but they do understand emphasis.
And that was David's point.
> I do not think that using <b></b> is better than <em></em> as I can also
> argue that not all systems support Bold font.
> I think that you can use just <a></a> and define
> a { color: green }
> or whatever you want for speach browser.
> Than you at least do not forget to add aureal section to stylesheet, and this
> wil work even in browsers not supporting <em>
And the browsers that do not support EM are?
> I personally do not care about loosing <em>
> DIV and SPAN do all the tasks for legacy HTML, for XML ... well, you do not
> have pre-defined tags at all :-))
Div and span might be enough for newer browsers, but for legacy browsers
you might as well just use plain text. Div means only a block element to
them, and span might as well not exist.
> than this "ISO HTML" just sucks.
> I am for the web standards, but you should not adopt everything "as is"
> Head is given to the human to *think*, not to follow some Nation Leaders
> (recent experience and a whole 20th century shows that people still tend to
> follow leaders...)
Actually, these standards are based on the work of a great many people,
not one of which (to my knowledge) qualifies as a "Nation Leader." There
is significant consensus around issues like proper nesting of heading
elements, at least among those who care about accessibility and
well-structured documents.
Of course, print publishers also care about proper nesting of headings.
Show me the commercial newspaper or magazine that does not nest headings
properly. The question is whether you are willing to reflect that
nesting in your code, or use hacks to create the visual impression of
nesting while violating it at the code level. It is only possible to
justify the latter method if one believes that visually-abled users
count, but that visually-impaired users don't.
> | I'd point out that use of such markup is a requirement of at least
> | one of the WCAG levels.
>
> It's ok with me. :-)
> WCAG should achieve some market penetration first in order to be valueable
> argument.
> Postings on this list show that even people interested in WAI have a lot of
> confusion with WCAG.
The point of WCAG is to improve accessibility for users. Accessibility
first, market penetration second. If we wait for market penetration to
adopt accessibility practices, we'll never see market penetration. After
all, market penetration is simply the sum of those developers using
accessible practices. No developers = no market penetration.
Sincerely,
Charles F. Munat
Seattle, Washington
Received on Wednesday, 9 January 2002 01:52:53 UTC