Programmatic determinability aids accessibility. This means that a specific value can be determined in a standard, machine or software readable form. Assistive technology does not have to guess about it, or use heuristics. It is authoritative, precise, and provides unambiguous specificity.
As Jason Kiss has explained,
When content is properly marked up in HTML, its semantic structure and relationships are in the markup itself. That is, they can be programmatically determined. Because this information is in the code, as it were, supporting technologies can programmatically retrieve it and present it to users in different ways. The information can be "transformed...into different sensory formats (e.g., visual, auditory) or styles of presentation needed by individual users.
An image with
longdesc is programmatically
determinable. It is catalytic, returning obvious value back to the
user. When a long description is marked up via a
longdesc attribute it allows software, including
assistive technology, to extract and present the information in
different modalities. It can be identified by assistive technology
as being a long description beyond doubt. In turn, assistive
technology can pass on the information to the user. Without
programmatic determinability no explicit relationship exists to
indicate that a long description has anything to do with an
In contrast an
a href below or near an image
may be used to provide a long description within the document itself
or to link to a separate page. This is a simple method as everyone
will have access to the description. However, it is not semantic as
the link is a generic link and it is not programmatically
determinable. Screen reader users will not be alerted that a long
description exits and could very well miss it.
Modern screen readers take advantage of the programmatic
longdesc. They announce its
presence as being a long description and provide the user with the
option of reading it.
In JAWS 11 and up one can also use the list of graphics
contained in the document in order to retrieve
longdescs, by using the Graphics List to move focus to
an individual graphic, the
longdesc of which can then
be accessed by hitting the "enter" key.
longdesc is used in popular screen
readers as a hook in order to notify the user that a long
description exists, so even if
longdesc is applied to
an image that also serves as a link, it is programmatically
possible to separate the activation of the
for exposure from the UA's universal link activation action (which
is usually activated with the "enter" key, the space bar, or by
mouse click), so that the linked image retains the expected
behavior in response to user interaction while a discrete mechanism
is used to retrieve the long description.
As Christophe Strobbe has said:
With @longdesc the relationship between an image and its long description can be programmatically determined. I think this is one of the best arguments in favour of this attribute. This is because the tendency in HTML has been towards higher degrees of semantics and programmatically determinable relationships, for example:
- before HTML 4, form fields could not be associated with labels because HTML had no label element; HTML 4 introduced the label element and a mechanism to associate labels with form fields in a way that can be programmatically determined;
- before HTML 4, table data cells were not explicitly associated with header cells; HTML 4 added @id and @headers to TD and TH elements to enable explicit association;
The list can probably be expanded, but the point should be clear: not adding @longdesc to HTML 5 is a step backwards because it goes against the tendency to more semantics and programmatically determined relationships.
Because the relationship between an image and its long
description can be programmatically determined with
longdesc, it provides higher level of accessibility
than techniques that are not programmatically determinable. With
techniques that are not programmatically determinable a screen
reader user may never know that any long description information
For information regarding how programmatic determinability is interwoven with semantics please refer to Semantics Improve Communication.