W3C home > Mailing lists > Public > w3c-wai-gl@w3.org > October to December 2000

Re: Minutes from 16 November 2000 WCAG WG telecon

From: Sean B. Palmer <sean@mysterylights.com>
Date: Fri, 17 Nov 2000 14:46:44 -0000
Message-ID: <002a01c050a5$3fd01000$4ded93c3@z5n9x1>
To: <w3c-wai-gl@w3.org>
Cc: "Anne Pemberton" <apembert@crosslink.net>
Anne Pemberton wrote:
> Assuming that accessibility means accessibility for all people with
> disabilities, and many/most disabled people use the web visually,
> why would you want to avoid the use of an element that aids in
> visual understanding?

Becuse it is an element, and we should be using *style* for visual
understanding. A document (HTML) is structural, and only needs enough
structural and semantic inforamtion with which to apply style to. If you
want to put in a horizontal rule, use CSS (see example [1]).
Other elements that should be totally avoided are <b> (e.g. use <strong> and
CSS), <i> (e.g. use <em> and CSS), and many forms of class="[...]" (e.g. use
semantic information, Dublin Core or whatever). Why? Well, consider what <b>
actually means. It doesn't mean anything(!), it just says "render this text
bold"; it is a visual/structural element that would be better fully replaced
with a semantic equivalent (<strong>, strong { font-weight: bold; }).

> (I would have written yesterday about your example of a titled <hr>, but
> your address clogged up my mail and I deleted it.)

Hmmmm....have I been overposting already?

> The title for a line should be Line, or if a graphic is used for the line,
> "Line of pumpkins", "Row of pebbles", etc. This presents the same
> information to sighed and unsighted users alike. Neither group can
> just study the line and know what it's there for, one must input the
> content on both sides of the line to find out what is being separated
> or set off.

But that exposes one of the inherent problems with HTML: it often uses
structural markup to suggest semantic meaning leaving that semantic meaning
ambiguous.

     <p>Content</p>
     <hr />
     <p>More content</p>

The <hr /> could be being used for two different things in this example,
either as structure (providing a visual and structural boundary between the
two paragraphs), or as semantics (providing logical separation of the two
paragraphs).
If it is being used for a simple visual boundary, then use CSS: that's what
it's there for. If it has a particular semantic meaning, then you should
find an alternative method for saying so - i.e. using metadata.

My CSS example was a good example of the above. It gave took the semantics
away from <hr /> and instead actaully went towards meaning something (i.e.
using CSS to infer the division between the two paragraphs by adding
"authored by: " content before the appropriate sections), and still added a
visual clue (by using the CSS borders property, and @media rules) to screen
output media.

Using a "title" attribute isn't equivalent to using "alt", and as you can't
specify @alt in <hr /> you can't specify a text alternative for it. Just
imagine if you used <img> and alt="Row of pebbles" (as an alternative to the
<hr /> element; as you implied, forgive me if I am wrong).

     [...] played with the ball of string all night long.</p>
     <img src="pebbles.jpg" alt="Row of pebbles" />
     <p>In other news, there was[...]

Without styling, in an aural browser that would be played as "[...] played
with the ball of string all night long. Row of pebbles In other news, there
was [...]". Clearly using ----------------------------- is no good either.
Instead, you should do this:-
Example [1]

    <p class="p1">[...] played with the ball of string all night long.</p>
    <p>In other news, there was[...]

CSS2 style sheet:

     @media screen {
          p.p1:after { content: "\A<img src=\"pebbles.jpg\"
               alt=\"------------------------------\" />\A"; }
     /* I could have used "content: url(pebbles.jpg);", but that wouldn't
          give the text alternative for Lynx etc. */
     }
     @media aural {
          p.p1 { pause-after: 2s; }
     }

Which provides an accurate visual and aural clue; and because it is a style,
it is separate from the document and can be re-used. Of course, in that
example, the row of pebbles has no semantic meaning whatsoever, so I
didn't need to specify one. (IMO it would be a better idea to assign a
semantic meaning to all structural content (it has to be there for some
reason), and use style (i.e. CSS) for all presentational aspects).

Overall, the full list of irreverent anachronous presentational elements
that would best be served by CSS are:-
<b>, <i>, <hr />, <tables> (sometimes, for layout), <basefont>, <font>,
<frame> (possibly), <s>, <strike>, & <u>.
While some of there are deprecated already by the HTML WG, some aren't and
probably should be (IMHO). I could provide similar arguments to all of these
elements that I have for <hr /> given above. The essence of the arguement
given by checkpoint 3.2 is that style should be used to accentuate the total
logical structure of the document in question, but it is not the job of the
markup itself to provide that style (markup promoting style is a bad idea).

Kindest Regards,
Sean B. Palmer
http://xhtml.waptechinfo.com/swr/
http://www.w3.org/WAI/ER/
"Perhaps, but let's not get bogged down in semantics."
   - Homer J. Simpson, BABF07.
Received on Friday, 17 November 2000 09:47:27 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:47:08 GMT