The section on the
alt attribute in the current HTML5 working draft that begins with “What an
img element represents depends on the
src attribute and the
alt attribute” really seems to miss the point. This is the semantic Web era, correct? Isn’t the conditional logic of the current draft really trying to affix a meaning or purpose to an image in all the wrong ways? Ambiguity is not the way.
I can just see the HTML5
alt attribute logic working so well in other contexts:
The Product Safety Agency announces a new toxicity labeling system. All poisons are clearly labeled, except when they are not poisons, as indicated by a blank label. For products whose toxicity has yet to be determined, no label will be affixed.
Other applications of this logic come to mind, all equally frightening.
The very idea that
alt be changed to a non-required attribute troubles me much more than the complete departure of
longdesc. There have been ongoing discussions on this issue for some time, often heated, and WAI-PF is working on a response to the HTML WG.
Having been an early supporter and implementer of
alt, I see only one real solution.
role attribute is a key foundation in the WAI-ARIA efforts. Within ARIA, a
presentation can be applied to an image, indicating that the image is not part of the page structure and should be ignored by assistive technology.
Explicit indication of the authored intent of the image goes a long way toward reduction in ambiguity. Rather than trying to infer the role of an image from the presence or absence of the
alt attribute content, or of the attribute itself,
role would explicitly define the authored intent of the image and its purpose in the interface.
I think, however, the current ARIA roles are insufficient (and yes, I will be responding to the request for comments on the Working Draft).
Following are two example cases of images with blank alternate text and the role attribute.
A purely decorative color bar:
<img src="colorbar.png" alt="" role="presentation" />
An image in a photo library, for which no alt text has been specified:
<img src="kif001293.jpg" alt="" role="content" />
I am not suggesting
content as the ideal role for images which have a need for alternate text or description. One could go off the deep-end and suggest photo, figure, map, etc. This needs to be simple, and content is a starting point, but not the end point.
Of course, we can still have an accessibility problem if
alt is still left blank, but we won’t be guessing as to whether the image is decorative or the author just hasn’t gotten around to specifying the alternate content.
And as someone who once developed a non-visual browser, creating rules for dealing with alt (and its absence), and likely being among the first to implement
longdesc support (for what it was worth), having the ability to know that an image is really content is an important plus. Further, knowing that an image defined as content happens to have a blank
alt value could motivate the user agent and assistive technology to look for meaning where it can be found. ARIA’s
describedby would be an obvious choice.
As an occasional optimist, I do have hope that technology will help mitigate the problematic assumption that content authors will neglect specifying
alt (for a variety of sometimes understandable reasons). Authoring tools can become a bit more clever (or manipulative) in their approach to gleaning image
alt text from authors. And, embedded metadata, such as EXIF, may give us some clue about an image, where it was taken and when. It is not unlikely that we will see more useful metadata available, either in the image itself or queryable. And research is obviously looking for ways to solve the large photo library problem, and that can only help accessibility.
alt required in HTML5, add
role as a required attribute, encourage use of
aria-describedby. Problem solved?