A Picture Demands a Thousand Words: Rethinking Long Descriptions
It is standard practice in digital publishing to describe images in the ALT text. When the description text is long or needs markup, and extended long description should be used. Until very recently, techniques like aria-describedby
were common and recommended.
When recommended, this was the best solution at a time when publishers insisted there was no “visual extra” added to their book. They didn’t want to have an ugly link or even some icon that would link to the extended descriptions. So aria-describedby
fit the bill, and it was thought that reading systems and screen readers would adopt this best practice especially as longdesc
isn’t supported in EPUB. This technique did work in some instances, such as Lucifox (a plugin for Firefox EPUB reader), but has since stopped working for some reason.
Some systems simply ignored the descriptions or – worse! – flattened it all to just one super long text string that was sent to the screen reader to just keep reading and reading and reading without pause.
The fact is that aria-describedby
was not really intended for extended long, complex image descriptions. What happens is that the data is “flattened” as one lump for the assistive technology to speak. For example, in the case of complex STEM images with multi-paragraph descriptions, embedded tables, lists and even some math marked up using aria-describedby
, some systems simply ignored the descriptions or – worse! – flattened it all to just one super long text string that was sent to the screen reader to just keep reading and reading and reading without pause.
A New Solution
The new solution was a mass effort between the RNIB, DAISY, and Benetech’s DIAGRAM Center to look at all the options and figure out what is the best solution which will work on most, if not all, of the reading systems and screen readers. The Daisy Accessible Publishing Knowledge Base has a thorough discussion of techniques here. Clients that I work closely with have opted to implement long descriptions in an EPUB by having non-linear HTML pages after the book’s main content. The HTML pages are listed in the manifest, and exist in the spine with attribute setting of linear="no"
. Each long description must also include a link back to the page in the EPUB that contains the original image.
This version of a long description with a link out to a separate HTML file might look something like this example.
<figure id="img01">
<img src="Images/image.jpg"
alt="Simple description of the image" />
<figcaption>This image and caption.
<a role="doc-noteref" href="../Text/extended-desc.xhtml#desc-01">
<img src="../Images/more_info.jpg"
alt="Click for extended description"/></a>
</figcaption>
</figure>
…
…
<div epub:type="sidebar" id="ExDescriptions">
<h1>Extended Image Descriptions</h1>
<h2 id="desc-01">Description of image on page 174</h2>
<p>This is the space for a long description
which might include lists, tables, and
other extended markup, etc.</p>
<a role="doc-backlink" href="chapter.xhtml#img01">
Navigate back to the page.</a>
<hr />
…
Extended descriptions could also be put in a pop-up footnote. This technique is described on the Daisy Accessible Publishing Knowledge Base and here.
I want to be careful not to send aria-describedby
early adopters back to remediating all their ebooks. That technique can work in some cases, particularly if the extended description is just a few sentences or a small paragraph. This can be a viable solution which works very well. In future, developers might consider a technique such as the one described above for long descriptions.
This article had significant support from Charles LaPierre at Benetech. Thank you, Charles!
This is really a well reasoned solution to a problem that has created serious problems for developers who wanted to support meaningful long descriptions and did not have a rational way to do it.
Thank You All, Wayne Dick
I am glad this is helpful, Wayne.
This technique will expose the long description for all kind of readers not only for screen reader users. The attribute “aria-describedby” will read the content even it has been visually hidden from the normal content.
This technique was developed by several high-level stakeholders precisely because screen readers were ignoring complex hidden content using
aria-describedby
.aria-describedby
is not working as expected at the screen reader level.Thank you for your reply.
Good solution. I’m working on the accessible ePUB3 conversion. I will implement this solution.