Longdesc Linker for Internet Explorer 6

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 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 ☺

All About longdesc

Okay, 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:

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.

Example of an image with longdesc attribute

Example of an image without a longdesc attribute

Notes for Developers

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 HannaSkip Buttons This work is licensed under a Creative Commons License. Email Me PGP Key Foaf Document Orkut Profile Hacker Amazon Wishlist Thinkgeek Wishlist

Valid XHTML 1.0 Valid CSS UTF-8 Encoded
Amazon.com Associate Amazon.co.uk Associate
Viewable in any browser Best viewed at a resolution you like!
Coded By Hand Uploaded Using Filezilla