On more that a few occasions people have complained that Internet
Explorer doesn't have a convenient way to view longdesc attributes.
Now it is true that they do expose it programmatically so there is noting
to stop AT from making
use of longdesc. But there are two reasons why someone using IE6 on its
own might want to have access to longdesc attributes.
longdesc links.
Longdesc Linker is a Browser Helper Object which adds a "Long Description" item
to the context menu that IE uses for images. This item will be enabled if the
image has a longdesc link, and selecting it will cause the browser
to follow the link (holding down the Shift key when you select it will cause the
browser to do so in a new window).
You can download it here.
So far this has been tested on Windows2000 and WindowsXP only. Feedback on other systems would be appreciated. It will not work with IE5 (it's possible to write something that would do it for IE5, but not as easily as IE6, and this is free so don't complain) and should be obsolete by the time IE7 comes out ☺
longdescOkay, it's one thing for me to say that this might be of use to people who are neither users of Assisitative Technology nor developers, but such people might not know what anything about the long descriptions I'm talking about and hence would not be likely to agree with me.
In the very earliest days of the web it was a text-only medium. This changed with
the introduction of the img element and the launch of Mosaic, a
graphical browser. However there were still many people dependent on text-based
technology for browsing, some because they were using text-only browsers and some
because they were blind and needed text to make Braille or speech browsing work.
There are other cases where textual information is necessary or beneficial, such as when the page is read by a search-engine or if the meaning of the image may not be immediately clear to users.
There are three mechanisms whereby textual information is provided with images.
The first of these is the alt attribute. This is mandatory and any
img element without one is buggy. This attribute provides a textual
alternative to the image, so if the image cannot be rendered or viewed for some
reason this text is used in its place.
The second is the title attribute. This attribute can be used on
almost every HTML element but it is most heavily used with images. This is
optional and provides some sort of helpful additional information which a
browser may make available to the user in some way, for instance a graphical
browser might provide a toolTip. (Historically, in the days before that
title attribute some browsers provided a toolTip for the
alt text, and some still do if there is no title.
However the best choice of text for one is only occasionally the best choice
for the other, and this lead to some poor design decisions. Some browsers today
have stopped putting the alt text in toolTip, even in the absense
of title).
The final method is the longdesc attribute. Where alt
and title provide relatively short pieces of text which relate to
how a image is used in a given page, longdesc provides a link to
a document that gives a relatively long description about the image itself.
In principle this document could be in any format, but it tends to be in either HTML or plain text since the author can be confident that the user is able to deal with this files. For obvious reasons these tend to be relatively light on images and other graphical elements, though it is common to include the image discribed in the page and/or provide a link to the image that would allow the user to download the image even if they cannot currently see it.
As a rule the principle of writing for the web, whereby you provide more detail as you go on, is particularly useful for these documents — it means that some people will have all the information the need in the first one or two sentences and can go back to what they were doing before.
To summarise:
alt is mandatory and provides replacement text.title is optional and provides useful additional information.longdesc is optional and links to a description of the image.
Notably the same image might have different alt and/or
title values when used in different contexts, but the same
longdesc should serve however the image is used.
The two images below use the same image file, however the first has a longdesc attribute to allow you to see how the Longdesc Linker works, the second doesn't to show what happens if you right-click on such an image. I'm sorry I couldn't find a more photogenic (or more worth describing) example than a photograph of my good self, but this is something I own the copyright on.
While my primary aim in writing the Longdesc Linker was to help developers test
their web pages it is not a general purpose testing tool. It will use whatever
value IE6 considers to be longdesc text, hence some incorrect code
such as more than one longdesc attribute on the same image, or the
use of upper-case or mixed-case with versions of HTML that require lower case
attributes (XHTML1.0 or later) will not prevent the Linker from working. Further
if you have more than one base element in the head the Linker will
try to use the last one which contained an href attribute (to match
IE6's behaviour) even though this isn't valid code.
I made the decision to exhibit such behaviour rather than giving a warning or raising an error so that it would be usable if you are browsing buggy code that is not under your control. All of the above bugs will be caught when you validate with a validator like the W3C MarkUp Validation Service anyway.
Jon Hanna