- From: Sean B. Palmer <sean@mysterylights.com>
- Date: Fri, 17 Nov 2000 14:46:44 -0000
- 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 UTC