Re: class definitions and grouping - example 1

At 9:31 AM -0500 3/12/01, Marja-Riitta Koivunen wrote:
>I often use the definition below for images and their captions. I 
>though it enhances accessibility and makes it easier to change 
>styles.

I can see how it would help with styles.  But I'm not sure exactly
how it would help with accessibility.

>So should we say something more explicit or is it that there are no 
>accessibility benefits in doing this and I should stop?

No reason to stop, necessarily.

><div class="figure" id="Fig-1">
><p><img src="architecture.png"
>alt="Basic architecture showing the communication between the client 
>and the annotation servers."></p>
>
><p class="caption">Figure 1: The basic architecture of Annotea.</p>
></div>

It's somewhat interesting but I'm not sure what you actually do with
the information you're encoding here.  How you style and/or transform
this content would create the value here, not just the encoding of
meaning/intent.  (Current browsers don't, to the best of my knowledge,
do anything useful with this.)

What you're trying to capture here would be expressed in (arbitrary)
XML as something like:

<figure id="Fig-1">
   <image src="architecture.png">
     Basic architecture showing the communication between the
     client and the annotation servers.
   </image>
   <caption>
     The basic architecture of Annotea.
   </caption>
</figure>

...but then how you use that information will be very dependent upon
how you use it.  ("Style and/or transform" in my paragraph above.)

(X)HTML unfortunately doesn't have a rich enough set of presentation to
express what we want, but there are several ways to render this which
might work -- such as using the <table> tag to group related content:

<table summary="Figure Fig-1: The basic architecture of Annotea."
        class="figure">
   <caption>
     Figure 1: The basic architecture of Annotea.
   </caption>
   <tr>
     <td>
       <img src="architecture.png" alt="Basic architecture showing the
            communication between the client and annotation servers."/>
     </td>
   </tr>
</table>

(The above can be generated from the XML using XSLT relatively easily.)

Or, as you've done in the original, you can use <div> for this kind of
thing.  Or some other presentation depending on what you're trying to
accomplish.

Note that this example is by necessity limited; no longdesc is
given which fully explains the architecture, and the caption and
the alt attribute provide pretty much identical information -- a more
complete example would be something like:

<figure id="Fig-1">
   <image src="architecture.png">
     Basic architecture showing the communication between the
     client and the annotation servers.
   </image>
   <caption>
     The basic architecture of Annotea.
   </caption>
   <longdesc>
     <p>
       When a client requests an annotation from a blah blah blah
       blah blah blah
     </p>
     <p>
       ...
       and that's how it works.
     </p>
   </longdesc>
</figure>

Or possibly just:

<figure id="Fig-1">
   <image src="architecture.png">
     Basic architecture showing the communication between the
     client and the annotation servers.
   </image>
   <caption>
     The basic architecture of Annotea.
   </caption>
   <longdesc href="arch_desc#1.html"/>
</figure>

My basic comment is that you wouldn't want to write your _content_ in the
manner you describe -- you hopefully would want to write it in non-XHTML
XML -- but that the way you produced output markup from that content is
okay but not the only way to present that type of information.  (Which
serves to illustrate a weakness with (X)HTML -- multiple ways of
presenting the same semantic mean that it is a poor language for encoding
semantics!)

--Kynn

-- 
Kynn Bartlett <kynn@idyllmtn.com>
http://www.kynn.com/

Received on Monday, 12 March 2001 10:40:21 UTC