Programmatic Determinability Aids Accessibility

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 image.

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 determinability of 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.

Additionally, 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 longdesc 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:

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 exists.

For information regarding how programmatic determinability is interwoven with semantics please refer to Semantics Improve Communication.