Contents | Start | End | Previous: Chapter 19: Adding Interactivity To Your Book | Next: Chapter 21: Working With Text-To-Speech
In this chapter, we discuss how your books can be made more accessible to disabled readers by targeting the Epub 3 format. Since the most commonly used ereader hardware and software do not support accessibility features, this chapter may not yet be relevant to you. For an alternative way to make your documents accessible, see Chapter 21: Working With Text-To-Speech.
If you intend to create books that are accessible to disabled readers, you need to understand how to use Jutoh to add extra information to your book. Jutoh has features that can help automate the insertion of accessibility information, and the remaining manual settings are quite straightforward. However, for best results, you will need to do some reading around the subject to understand the principles of accessibility.
At present, a reasonable level of accessibility (as illustrated by the features listed in this topic) is only supported by Epub 3, the DAISY digital talking book (DTB) standard, and annotated PDF. Of these formats, only Epub 3 is supported by Jutoh. Epub 3 is taking longer to become mainstream than expected, but Apple Books supports an Epub 3 subset and some countries have adopted Epub 3 rapidly due to its support for their languages; and many large publishers are using Epub 3 internally. As a replacement for the DAISY DTB standard, Epub 3 is in a transitional period and DTB is likely to be around for a long time to come. Despite these caveats, it seems highly likely that Epub 3 will be adopted more widely in future. Plus, some of the features that promote accessibility (such as sections, figures, and asides) are in fact HTML5 constructs – a standard in wide use today.
Note that Jutoh doesn’t currently cover all conceivable aspects of accessibility. But we hope that the current functionality is a big step in the right direction, and we will be listening to feedback in order to improve it.
Some accessibility features can still be useful for Epub 2 and Mobipocket generation – the caption detection will insert non-breaking ‘div’ tags around the object and caption in Epub 2 mode so that they stay together (not currently supported by Kindle). You can use the style mapping facility to map styles to phrase tags such as ‘em’ and ‘strong’ in Epub 2, Epub 3 and Mobipocket.
Epub 3 uses HTML5 and some additional Epub-specific constructs to provide semantic markup that ereaders can use to orientate users with a range of abilities.
Given that time available for editing documents is usually in short supply, Jutoh tries to automate as much as possible, in particular relying on using a well-planned and consistently used set of styles in your project. If this doesn’t describe your project, please take the time to create named paragraph styles for headings, images, captions, and so on, and apply them to your book. Some forethought should save a lot of time in the long run.
Here are the accessibility features that Jutoh currently supports.
1. Epub type
The ‘epub:type’ attribute (‘Epub type’ in Jutoh) can be associated with many elements, including the document body, section tags, links, headings, and so on. A range of values allows meaning to be assigned to elements. Jutoh allows editing the Epub type in the Advanced tab of various property dialogs, and also in the document properties. Multiple space-separated types can be specified.
2. Section tags
Use of the ‘section’ tag gives hierarchy (and an Epub type) to components of a book chapter, allowing easier navigation. Section tags often (but not always) contain a single heading. Jutoh can insert section tags based on a mapping from headings that you can edit in the Accessibility page of Project Properties.
3. Navigation document
The navigation document is a compulsory part of an Epub 3 file containing a table of contents and landmarks section; Jutoh generates this automatically from the navigation map and document guide types.
4. Speech and narration support
Epub 3 defines properties such as ‘-epub-voice-family’ (‘Voice family’ in Jutoh), to allow passages of text to use a distinct voice. Some of these are supported via the advanced properties tab in style definitions, paragraphs, text spans and objects. In order to apply these and other properties to spans or blocks of content, Jutoh supports the insertion of tag objects via the Object Palette.
In addition, Jutoh can generate a SMIL file for each section document, without media or timings, so that TTS systems can help the blind user navigate the content.
Jutoh supports the synchronisation of speech with the content either by provision of existing SMIL files, or by importing Audacity label files which are matched against identifiers in the content to produce a SMIL file with timings.
5. Phrase tags
You can insert phrase tags such as ‘em’ and ‘strong’ as objects around text; or you can get Jutoh to automatically insert the tags based on character styles that you use in your document. Again, this is achieved using the style mapping edited in the Accessibility page of Project Properties. It works for Epub 2, Epub 3 and Mobipocket generation.
6. Figures and captions
Wrapping images and tables up in ‘figure’ tags containing captions ensures that the ereader knows which text is associated with which figures. Jutoh can insert these tags if you enable the option in the Accessibility page of Project Properties. You can specify styles you have used for captions, and Jutoh will look for figures near the caption (currently, only a single image or table above the caption). In addition, Jutoh will optionally insert image ‘alt’ (alternative) text and table descriptions using an HTML5 ‘details’ tag that displays extra an description when clicking on a button next to the caption. Obviously, for the best results, enter descriptions into all your images and tables. For images that are purely for decoration, set the Epub type to ‘presentation’, so that Jutoh knows to ignore them for the purposes of captioning.
If your configuration specifies Epub version 2, then ‘div’ tags are added instead of ‘figure’ tags.
7. Table headers
The sighted user can easily distinguish a table heading from the rest of the table if it has been formatted in an appropriate way; to help disabled readers, make it plain which are header rows in table properties by specifying the number of rows that are part of the header, in the Repeat header control. If several rows are part of the header, and there are spanned columns, Jutoh will generate code to indicate to the other table cells which all the appropriate header cells are.
If you have header cells that outside the main header rows, you can mark them as such individually using the Cell headers control in the table properties dialog.
8. The ‘aside’ tag
It’s important for a disabled person to know what parts of the content are part of the main flow, and which are not. The HTML5 ‘aside’ tag caters for this, and for text boxes, Jutoh lets you indicate in the box properties dialog whether it is an ‘aside’ or a normal block. You can configure footnotes to use asides by checking the configuration options Popup footnotes and Hide footnotes. You an also insert ‘aside’ tag objects manually if you wish.
To make best use of Jutoh’s accessibility features, you need to have a well-defined set of styles that you apply consistently.
Have one heading style for chapters, another for appendices, and so on, so Jutoh can apply a different Epub type for each kind. Several heading styles can still use the same outline level.
A consistent caption style will help Jutoh group images and tables, and their captions, within figure tags.
Create character styles for strong and emphasised text, and other phrase tags listed in the Tag drop-down control in the Style Mapping dialog, so Jutoh can insert the appropriate tags instead of just visual formatting.
Other things you can do:
Ensure images that aren’t purely decorative have alternative text. Mark images that are decorative with the role attribute value ‘presentation’, so that Jutoh won’t try to place it in a figure and speech systems can ignore it. Replace table images with actual tables if possible.
Ensure tables have a description, and the number of header rows marked so that Jutoh can link table cells with the appropriate header cells.
In each document’s properties, set the Epub type. Effectively this will be the type of the first level (outer section) of that document, so if the document-wide type is present, Jutoh will only add section tags for the second and subsequent levels, if there are any.
Set the Epub type for content (paragraphs, spans of text, objects) wherever appropriate.
Set the project’s language in the metadata.
Mark changes in language with span tags, setting the ‘Language’ attribute.
If appropriate, mark changes in voice with span tags, setting the ‘Voice family’ attribute.
For logical sections that do not contain headings, insert section tags manually.
The purpose of inserting sections is to assign more meaning than a simple heading confers. For example, you might have two titles, ‘Chapter 1’ and ‘Acknowledgements’ both using the style ‘Heading 1’. If the configuration option Heading style prefix is set to ‘Heading’ (the default), then at least the paragraph will be generated using the h1 tag. However, it still doesn’t give much information about the type of section that this heading introduces.
What we would really like to do is enclose the heading (and the text below it) in a section, and assign the type ‘chapter’ to the section within the Chapter 1 document, and the type ‘acknowledgments’ within the Acknowledgements document.
For example:
<section epub:type="chapter">
<h1 epub:type="title">Chapter 1</h1>
...
</section>
Similarly, subsections should also have their own sections, whether or not they have an explanatory type (unfortunately Epub types don’t have enough expressiveness for all possible subsections, but adding sections is still useful even without the type.)
When creating an Epub 3 file, Jutoh scans the mapping for style patterns that match paragraph styles. If there is a match, Jutoh will insert a section tag in front of the heading paragraph, and will close the tag either when a subsection with a greater level is encountered, or the document ends. At the same time, the mapping item can assign the heading level, an Epub type for the section, and an optional Epub type for the heading itself (such as ‘title’).
A caveat for this is that if you have defined an Epub type for the whole document, in the document properties dialog, then Jutoh will not create a section that defines the same type as the top-level section, since it will assume that the type (added to the HTML body tag) defines an overall section for the document.
You can define any number of mapping items for the same heading level, so it is a more powerful way of indicating headings than the simple Heading style prefix configuration option, and overrides it.
Similarly, for phrase tag mappings, character styles are matched against entries in the mapping and the appropriate tags inserted. For ‘em’ and ‘strong’ tags, any italic and bold attributes are removed. Also be aware that any advanced properties or advanced attributes such as identifier or Epub type will be removed as well (for ‘em’ and ‘strong’ tags only).
Jutoh can help generate SMIL media overlay files both with and without associated media files and timings. Unfortunately, the largest ebook vendor – Amazon – doesn’t yet support SMIL files, but this may change.
In the Accessibility page in Project Properties, click on the Speech tab and check Generate overlays for TTS. Now Jutoh will create a SMIL file for each section document describing the document at the paragraph level, if other document-specific settings do not take precedence. Even without an associated sound track, this provides useful information to suitably aware ereaders.
To add narration to your book, which also makes use of media overlays, see Adding narration to your book.
You can add lexicons to your project to help text-to-speech systems pronounce difficult words or phrases. In the Accessibilities/Speech tab, under Lexicons, click Add and then in the Lexicon dialog, choose either PLS resource or String tables.
If you choose PLS resource, you can specify a .pls file that you have added (or will add) to the project as a media resource or code document. It needs to be a path relative to the other content files, for example lexicons/lexicon_en.pls
.
If you choose to use string tables, specify a global and/or project string table that contains string names and values corresponding to the word or phrase in question, and phonetic description, respectively.
You may add as many lexicons as you wish. They will be referenced by all documents in the project without further intervention. The language specified for the lexicon will be used if it matches the reader’s localisation preferences.
You can also use the SSML attributes ssml:ph (‘Phoneme’ in Jutoh) and ssml:alphabet (‘Alphabet’ in Jutoh) to define pronunciation for a particular content element.
Not many systems yet support the extra speech markup. However, by including it now in your books, they will automatically get the enhanced features when the state of Epub 3 technology advances.
Apple Books supports Epub 3, and iOS devices have good general accessibility support. However it’s not clear how much of the extra Epub 3 markup is used in support of accessibility.
AZARDI is software for Windows and Mac that can read Epub 3 files. However, at present, it does not have accessibility features.
Gitden Reader is available for Android and iOS, and is a highly conformant Epub 2 and Epub 3 reader.
The Readium Chrome extension supports Epub 2 and 3.
Epub 3 Accessibility Guidelines from IDPF:
http://www.idpf.org/accessibility/guidelines/
http://shop.oreilly.com/product/0636920025283.do
This chapter has taken a brief look at how your documents can be made more accessible for future deployment, even if the required Epub 3 support in ereaders is quite rare at the moment. Next, we see how you can use Jutoh’s facilities for creating high-quality text-to-speech documents – an alternative way to make your documents accessible.
Contents | Start | End | Previous: Chapter 19: Adding Interactivity To Your Book | Next: Chapter 21: Working With Text-To-Speech