Let's talk about the
longdesc attribute. In HTML 4, it's defined as a pointer to a long description for a complex image. Anyone can learn how to write a good long description. There's only one problem: virtually no one bothers, and virtually everyone who does bother gets it wrong.
Let's quantify that. In August 2007, Ian Hickson analyzed a sample of 1 billion
<img> elements in Google's index. Approximately 1.3 million (0.13%) had a
longdesc attribute. That's OK, you say, not every image needs a
longdesc attribute. And you would be right. But regardless of whether it's needed or not, it's not being used that often: just over one in a thousand images.
Now let's look at how often the
longdesc attribute is actually used correctly. Of course this is a more subjective question, but we can spot some obvious errors. Out of those 1.3 million images with a
longdesc attribute, let's subtract the ones where the
- is blank
- is not a valid URL
- points to the image itself (i.e. the same URL as the
- points to the page you're already on
- points to the root level of another domain
- is the same as a parent link's
hrefattribute (i.e. the
longdescis redundant because you could just follow the image link instead)
That knocks out a whopping 1.25 million (about 96%) right off the bat. That's not 96% of all the images on the web; that's 96% of the 0.13% of images that included a
longdesc attribute in the first place. And when you take a closer look at the remaining 50,000 (4% of 1.3 million), the results get even worse: links to other images, links gone 404, links to one-line text descriptions identical to the
alt attribute, and links to pages that describe the image size but not its contents (Wikipedia, I'm looking at you). Extrapolating back to 1.3 million, that 50,000 shrinks to about 10,000. That means that less than 1% of images that provide a
longdesc attribute are actually useful. No more than one in a hundred get it right, of one in a thousand that even try.
Meanwhile, the very people advocating for keeping the
longdesc attribute have recently conducted some user testing. That is, testing how well an actual blind person with an actual screen reader can read actual web pages. It turned out that the test subject didn't know that
longdesc even existed before the tester told him about it. Can you blame him? 99.87% of the images he'd ever encountered had no
longdesc attribute at all. Even if he had known about it, and he had actually stumbled across one, he would still be up against 99 to 1 odds that following it would be worth his time. He has a better chance of winning the lottery.
I'm not saying there isn't a real problem to be solved here. There is. People can publish complex images that require complex text alternatives. Charts, graphs, detailed photographs. Whatever. "A picture is worth 1000 words," and all that. The
longdesc attribute is, theoretically, a solution to this problem. But that doesn't mean it's a good solution, and it's certainly not the only solution. We've been living with
longdesc for 10 years now, and let me tell you, it's not working out. So can we please get past the grandstanding and start talking about a better solution?