The Understanding EPUB Accessibility 1.2 guide provides information on how to evaluate the accessible content conformance requirements of [[[epub-a11y-12]]] [[epub-a11y-12]] against reflowable EPUB publications.
This document together with [[[epub-a11y-tech-12]]] [[epub-a11y-tech-12]] provide informative support for implementing [[[epub-a11y-12]]] [[epub-a11y-12]]. This document provides general explanations of the objectives and success criteria defined in EPUB Accessibility 1.2, while the EPUB Accessibility Techniques 1.2 document details specific methods for meeting those requirements.
This document is divided into three parts. The first part covers WCAG [[wcag2]] success criteria whose application to digital publications is ambiguous or that have been found to have limited application. WCAG is heavily focused on making the web accessible so the explainer documents that come with it rarely account for the differences with packaged web content such as is found in EPUB publications.
The second part explains the purpose of the additional EPUB objectives [[epub-a11y-12]]. These are requirements not covered by WCAG as they are unique to EPUB publications.
And the final part covers issues with evaluating EPUB publications. How to assess EPUB publications is intentionally not covered by the standard because it is possible for evaluations and reports to be done in different ways. But regardless of how evaluations are carried out and reported, there are common issues that this document tries to help in understanding.
This document is limited in focus to reflowable EPUB publications [[epub-3]].
It does not provide techniques for meeting the objectives of [[[epub-a11y-12]]. Refer to [[[epub-a11y-tech-12]]] for more information about how to meet specific success criteria and objectives.
Although, in many cases, the guidance will also prove useful for evaluating fixed-layout EPUB publications [[epub-3]], making those kinds of publications accessible presents unique challenges. Guidance on making fixed layouts more accessible is instead provided in [[[epub-fxl-a11y]]] [[epub-fxl-a11y]].
There are two [[wcag2]] accessible authentication success criteria — a minimum (3.3.8) and an enhanced (3.3.9) version — as well as a related success criterion for re-authentication (2.2.5). These have a combined goal of ensuring that users with certain cognitive disabilities are provided an easy-to-use and accessible login method for protected web sites, and that information is not lost if users have to reauthenticate themselves.
Not all users are able to remember usernames and passwords, transcribe verification access codes, or solve puzzles to gain entry which is why it is important that logins do not rely solely on methods that require these kinds of cognitive capabilities. It is also vital to ensure that users do not lose any information they have input if they are required to reauthenticate as this could prevent some users from being able to complete the task (i.e., they may continue to reach the time out just trying to re-enter the lost information).
It is not common that these success criteria will apply to EPUB publications, however. When a login is required, the more typical scenario is that a vendor will require users to log in to their reading system to access their publications. In this case, if the login does not meet the requirements of the minimum success criterion, then it is the reading system that is not accessible, not the individual publications it provides access to. Similarly, if the reading system loses the current state of a quiz or task at the time it forces reauthentication, there is nothing the publication can do about this.
Even in the case of EPUB publications served through a learning management system (LMS), it is more typical for the user to log in to the LMS. The LMS may use that information to track their activity, but again it is rarely the publications within the LMS that are secured.
One major reason that EPUB publications typically do not build in login requirements is because scripting support is not guaranteed. The reading system is more reliably going to have a connection to, or be able to connect to, the user's network. It is also more capable of being able to store information for later transmission to a publisher's server when a connection is not immediately available, as persistent storage is also not commonly available within EPUB publications. The lack of persistent state also means that a login in one EPUB content document likely will not persist into any of the others. That means a user might, for example, have to log in at the end of every chapter to complete embedded quizzes.
Despite the potential drawbacks of adding authentication to EPUB publications, nothing prevents a publisher from using logins. They are much rarer than on the web because a publication belongs to one user and so it does not have to be blocked internally from public access and there is no question if the user is human or not. Authentication typically only matters in the case where the publisher has to collect information; for example, from quizzes and other interactive content.
For these reasons, it is unlikely that logins will be found outside of educational material, which can help narrow down when to look for them. Since a login will typically require the user to have an account with the publisher, they are less likely to be found in general reading material.
But, while it may be highly uncommon to find logins, their possibility cannot be ignored when performing an accessibility review.
Unfortunately, there is no quick way to determine if a publication has a login attached to any of its content short of manually checking. The only useful aid that an EPUB publication provides is the scripting designation that has to be expressed in the package document manifest.
Knowing which files are scripted may help reduce the amount of work involved in finding logins, but that is only if scripting is used sparingly in the publication. If most or all of the EPUB content documents are scripted, it might be easier to read the JavaScript files. Even without a strong knowledge of scripting, the names of the various functions might provide clues to their purpose. For example, a function with "login" in its name would be a major flag to look more deeply into what the scripting is doing.
Ultimately, direct testing of all scripted content for accessibility is always advised (i.e., not trying to gauge the accessibility by looking only at the markup), so as long as an assessment is thorough in this regard any logins should be found in due course.
If a login is found, checking for a reauthentication requirement may still take some work. It should never be assumed that lack of mention of a timed session means that users will not be prompted to reauthenticate after a certain amount of time, or a certain amount of time without activity being registered. Verifying if there is a timeout, and checking what happens after reauthenticating, may require inspecting code to understand when a timeout is triggered. If the evaluator is not the publisher of the content, it may be faster to check with publisher whether session timeouts can occur and how best to test them.
Web sites are constructed very differently from EPUB publications. A typical web site wraps the content of each page within a repeating template, for example. This template gives each page a consistent look and feel, but users are rarely interested in the wrapper content after visiting the first page. Visual readers can typically skip past the site header, navigation bars, search boxes, and other helpful but seldom-used features to get right to the content.
To provide the same ease of access to readers who would have to navigate sequentially through the repetitive content, the [[wcag2]] bypass blocks success criterion (2.4.1) requires a means of bypassing the repeated content in a set of pages. This success criterion does not apply to typical EPUB publications, however, as EPUB content documents do not repeat content in the same way that web sites do.
Each new content document might begin with similar content, such as learning objectives or key terms, but this content is part of the body of the publication and not identical to what came before. Consequently, it is not required to add a link to skip it. (Secondary content still needs to be identified in accordance with success criterion 1.3.1, however.)
If an EPUB publication were to reproduce a set of web pages with their full site trappings, then success criterion 2.4.1 would apply, but this practice is not common.
The goal of the [[wcag2]] consistent help success criterion (3.2.6) is to ensure that when a help mechanism is provided across a set of pages, it is consistently located for discovery by users. Consistent placement ensure that, for example, non-visual users and users with cognitive disabilities can easily locate the help information if they are having difficulty completing a task.
The application of this success criterion to EPUB publications, however, is nowhere near as prevalent as it is for the web. First off, the success criterion is limited to the following types of help:
It does not apply to instructional help that might be provided for forms — for example, for embedded tests, quizzes, and other interactive content. Its focus is on help mechanisms such as a phone number or email address to contact a site owner, or a link out to a frequently asked questions site, or an option to open a chat window, or an embedded contact form.
This success criterion does not require these kinds of help mechanisms; its focus is only on their consistently placement when present.
It is not that these kinds of contact features will never occur in publications, but it is rare that they are repeated across documents. When publishers provide help contact information, it is usually only provided once, either in a front or back matter section. In this case, since the contact information is not repeated there is no consistency issue.
The success criterion does not require a publisher to be consistent in where they locate this information from book to book, but it is helpful to users to place it in the same location.
But just because it is not common to repeat contact information does not mean it cannot occur. If a publisher includes quizzes at the end of each chapter, they might choose to add their contact information to the beginning or end of each quiz to make it easier for users to find and be able to reach out to them. In this case, the placement has to be consistent. If the contact information is at the start of the first quiz, it needs to be placed at the start of each subsequent quiz. It cannot be at the start of some of the quizzes and at the end of others.
So, although rare, care needs to be taken not to skip evaluating an EPUB publication for consistent help. Educational material is the most likely to have repeated contact information due to their inclusion of tests, quizzes, and games, but any time embed interactive content is found a quick check should be made that there is not a repeating help mechanism that falls under this success criterion.
The purpose of the [[wcag2]] Captions (Live) (1.2.4) and Audio-only (Live) (1.2.9) success criteria is to ensure that users who are deaf or hard of hearing can access real-time presentations over the web. Typical examples of content these success criteria apply to include live podcasts, concerts, and esport events.
The live nature of these success criteria make their application to EPUB publications largely theoretical. For one, EPUB does not support embedding live video streaming services which means the only way to live stream video is to use JavaScript libraries. That immediately reduces the reliability of playback since reading systems vary widely in what kind of scripting they will allow. It is also not uncommon for a reading system that allows scripting to block access to the network.
But an even simpler reason why live streaming is not used in EPUB publications is because the event is likely to expire before many users will even purchase the publication. If the publisher is going to host a live-streaming event, such as a question-and-answer session with the author, they are more likely to link out to the event from promotional material in the front or back matter of the publication. This also allows a recording of the event to be provided after it is over.
So, this is another case of success criteria that cannot be ruled out as never applying to EPUB publications but in practice are unlikely to ever be encountered.
The [[wcag2]] meaningful sequence success criterion (1.3.2) specifies that each web page have a meaningful order (i.e., that the visual presentation of the content match the underlying markup).
As EPUB allows two EPUB content documents to be rendered together in a synthetic spread [[epub-3]], the order of content within a single document cannot always be evaluated in isolation. Content might span visually from one document to the next. For example, a sidebar might span the bottom of two pages.
Ordering each document separately by the visual display will lead to users of assistive technologies encountering gaps between the start and end of the spanned text. If the markup cannot be arranged to provide a more logical reading experience (e.g., the beginning of the spanned content at the end of the first page followed by the conclusion at the start of the next), another means of satisfying this criteria will be necessary to avoid failure (e.g., a hyperlink could be provided to allow a user to jump from the break point on the first page to the continuation on the next).
The [[wcag2]] multiple ways success criterion requires that web users are able to locate content within a set of pages on a site. This ensures that there are at least two ways to reach any information.
This requirement is equally helpful for reading digital publications like EPUB because without multiple ways to reach into a publication a user would have to manually swipe or click from page to page to read. If this were the case, readers of print books would have better access, as they could read page to page or flip through the pages using the page numbers to locate a passage they are looking for.
Fortunately, EPUB publications, unlike web site, will typically always minimally meet this success criterion both because of the way they are constructed and because of common affordances offered by reading systems.
From an authoring perspective, the primary requirements are to list all all EPUB content documents in the spine and to ensure that users have a secondary means of accessing all non-linear documents [[epub-3]]. This ensures that users have a means of accessing all the content either by paging through the publication, for linear content, or following hyperlinks to reach any non-linear content a reading system might not show in the default presentation.
EPUB's requirement for a table of contents provides the second method of access. It is possible that a publication could fail this success criterion by proividing an incomplete table of contents, but such occurrences are rare. (Refer to the note on the completeness of the table of contents for further discussion.)
While these two basic requirements of EPUB satisfy the need for multiple ways to access the content on their own, publications often contain additional methods of access, such as:
Reading systems also facilitate access into the content through text search capability and also via the ability to jump to dynamically generated pages.
A common question about the EPUB table of contents is what completeness it needs to have with respect to the headings of the publication. Although the obvious answer is to create a simple aggregation of all the headings for all the sections, practically there are several usability challenges to this approach.
Factors such as device screen sizes can make the table of contents for publications with a deep hierarchy of headings unreadable, so headings below a certain depth get trimmed to improve the readability. Further, reading systems do not always provide structured access to the headings in the table of contents, or provide shortcuts to navigate the links. The result is that users have to listen to each link one at a time to find where they want to go, a tedious and time-consuming process.
Although it is expected that reading systems will improve access to the table of contents as accessibility support for EPUB evolves — making complete tables of contents usable by everyone — there are legitimate usability reasons why they are not provided now.
When opting not to provide links to all the headings, it is best to optimize the links that are provided to improve the overall reading experience. Some considerations on how to achieve this include:
ensuring that there is at least one link to every EPUB content document — allowing the user to reach each document simplifies navigation to the minor headings within them; and
only omitting minor headings from the table of contents — although a subjective decision, there is often a level of diminishing value for navigation (e.g., fourth level and lower headings often only delimit short subsections on a topic).
The goal of the [[wcag2]] redundant entry success criterion (3.3.7) is to prevent users from having to enter the same information again when completing a multi-step process on the web. This reduces memory requirements and stress for users with cognitive and learning disabilities.
A common example of when this success criterion applies to web content is when checking out at an ecommerce store. Users' billing and shipping addresses are most often the same, so requiring them to re-input the same information in separate steps increases the cognitive difficulty of the checkout process. A checkbox to automatically use the billing address as the shipping address is now a ubiquitous pattern to avoid this issue.
A multi-step process does not require a change in documents, or for the current document to fully refresh, so it is common that users will encounter them in digital publications. The most common example is in interactive content such as quizzes and games. All that is required is that a sequence of steps are required to complete the quiz or game and at any step the user could have to input the same information again to proceed.
A common case where this success criterion applies is when a quiz gets validated and allows users to fix any errors they made and try again, or requires users to complete all the fields correctly before it can be evaluated or submitted. In the case of fixing errors, the user should not have to re-answer all the questions they got correct, nor should they have to guess what incorrect answer they selected the first time. A quiz that allows the user to retry should only reset when it is essential that the user start over again — for example, if new questions will have to be solved or if the goal is to help in memorization of the information. Similarly, if information is missing or invalid so the quiz cannot be evaluated, the user should not have to complete it again in full just to address the invalid fields.
Identifying and fixing input errors is covered by the error identification (3.3.1), error suggestion (3.3.3), and error prevention (3.3.4) success criteria.
Not all quizzes will provide users an opportunity to correct their answers, of course. If only a score is presented after submitting, for example, or if the answers are submitted to a learning management system for evaluation by a course instructor, then the user does not have to re-enter their data again and the redundant entry success criterion will not apply.
Where redundant entry is less applicable to digital publications is in requesting the same information be input in a quiz (like the case of identical billing and shipping addresses). The questions themselves are not likely to repeat unless the purpose of the quiz is to test memorization skills, or to see if users change their perceptions based on other stimuli such as a picture. But in these cases, it is essential for the user to answer the question anew each time it occurs, so such tests would fall within the exceptions for the success criterion.
It is still important when encountering an embedded quiz to do a quick check that there are no requests for the user to repeat information. Nothing can be ruled out, even if repeated entry of personal information like on ecommerce sites is unlikely. A publisher could ask the user to input their name or a student ID at the end of each part of a quiz to verify they are the one completing the test, for example, in which case the field should be repopulated with the information the user entered the first time. It is just not currently common for publications to send information out to publisher systems.
In a similar way, there may be aspects of interactive games that have redundant entry aspects to them, particularly for memorization games that require the user to re-enter the same information to progress to higher stages. But these are also likely to fall under the essential re-entry exception.
The [[wcag2]] reflow success criterion (1.4.10) seeks to ensure that content remains readable for users with low vision as they enlarge it. It requires that there be no loss of information or readability for vertically scrolling content at a width equivalent to 320 CSS pixels [[wcag2]].
As EPUB reading systems do not support horizontally scrolling text, and such content is rarely produced even on the web generally, the requirement for horizontally scrolling content at a height of 256 CSS pixels is not discussed in this section.
The first thing to note about this success criterion is that the "scrolling" aspect of the definition applies to all EPUB publications whether they are read in a reading system that lays out the content in a scrolling manner or whether the reading system dynamically paginates the content. Dynamic pagination is just a feature of EPUB that takes a vertically scrolled document and splits it up for reading in a book-like manner.
The second thing to note is that the width and height sizes do not refer to the actual screen resolution of the device. The emphasis of the success criterion is on equivalence up to these sizes, which is why it notes that a viewport with a width of 1280 CSS pixels is equivalent to a width of 320 CSS pixels when it is zoomed to 400%. The example is just a common screen resolution and exhibits easy math to the 320 CSS pixel maximum.
What happens when zooming a 1280 CSS pixel viewport beyond 320 CSS pixels is out of scope, as is zooming any other starting resolution after it exceeds 320 CSS pixels in width. The success criterion is not saying that all viewports greater in width than 320 CSS pixels are out of scope.
The good thing about reflowable EPUB publications when it comes to meeting this success criterion is that they were designed to work exactly in the manner it anticipates. A reflowable EPUB publication is expected to work on many different device screens and with many different user preferences applied. The content has to reflow to fit within the paginated environment that reading systems provide as users rarely can scroll the content — if the content does not fit in the viewport, it is typically inaccessible to all users. Publishers are typically already aware of these reflow issues and how to ensure their content does not break.
It does not mean that all reflowable EPUB publications get an automatic pass on this success criterion, but only that the circumstances where the content will not reflow are not common.
The most likely source of failure for the reflow success criterion is going to arise with container elements, such as with the [[html]] [^aside^], [^div^], [^nav^] and similar elements used to group content. When these elements are assigned fixed widths, their ability to adapt to changes in zoom diminish.
The content of an [[html]] [^aside^] element used as a sidebar, for example, will reflow by
default to so that its content fits the available screen space. But if a width, or a minimum
width, greater than 320 CSS pixels is assigned, then as the content is zoomed the dimensions of
the viewport may become smaller than the width of the aside.
When a user zooms their publication, what typically will happen with EPUB reading systems is that the sidebar will extend outside the boundary of the page/viewport, causing its text to be cut off and become inaccessible.
But even if the sidebar is made scrollable using CSS overflow properties [[css-overflow]], the result still fails this success criterion because the content now requires scrolling on the x axis to reach the hidden overflow text.
Any hoped-for value in assigning fixed widths to container elements in reflowable content is
generally going to be offset by the problems it will cause with the reflow success criterion. If
a size must be specified (e.g., to ensure that boxes of content always fill the width of the
viewport), the more accessible way is to use a unit that adapts to changes in the viewport.
Setting a percentage (%) or viewport width (vw) no greater than 100
percent of the viewport size will avoid scroll bars appearing as the content is zoomed.
Container elements can require vertical scrolling. The reflow success criterion only requires that the content not require scrolling on the opposite axis.
When testing this success criterion, be aware that app-based reading systems typically do not allow zooming of reflowable content. They are more likely to support font size increases up to 400% of the default, but increasing the font size is not the same as zooming the content.
The reflow success criterion does not, in fact, specify requirements on the font size as the content is enlarged. The requirement for text to enlarge up to 200% is instead addressed by the [[wcag2]] resize text success criterion.
For a more detailed description of the interaction between the reflow and resize text success criteria, refer to the reflow understanding document explanation of the two.
Large words, hyperlinks, code examples, and other strings of contiguous text with no break points can also pose problems for reflow as the viewport reaches 320 CSS pixels, but the text is not required to stay the same font size as the content is enlarged. The font size could, for example, be reduced using a media query so that it stays at 200% the original size as the viewport nears 320 CSS pixels.
Other strategies to prevent large text strings causing scrolling include using the [[html]]
[^wbr^] element to specify word break locations, using the CSS overflow-wrap and
word-break properties, or using the Unicode soft hyphen character.
Not all content is required to reflow as it is enlarged. The success criterion makes an exception for content that would lose its meaning if it were reflowed. For reflowable publications, the most common content that requires two-dimensional layout are diagrams, charts, maps and similar images.
Data tables are also exempt due to their grid nature, but the individual cells within them are not. This means that it would not be unreasonable for the user to have to scroll to reach all the columns, but the content with a column must not require scrolling in two dimensions to read.
Content that can be scrolled in two dimensions needs to always be checked that it has been
authored so that it can indeed be scrolled this way. Reading systems will often try to compress
tables to fit the available space, for example, but when that cannot be done the overflow
outside the page boundary will not be accessible. A common practice to avoid this is to wrap the
two-dimensional content in a container that allows scrolling (e.g., a table can be
placed inside a div that provides it more space for rendering and includes
scrollbars to move around the columns and rows). But when using this practice, content that does
not depend on two dimensions for comprehension cannot be captured in the scroll. If a table has
a caption, for example, only the table can scroll on the x axis to meet the success criterion;
the text of the caption cannot require scrolling.
Although the reflow success criterion does not pose a lot of problems for reflowable EPUB publications, it is one of the most problematic to meet for fixed-layout EPUB publications as reading systems do not reflow the content of a fixed-layout page as it is zoomed.
This guide does not address the problems with making fixed-layout publication accessible. For more information on this topic, refer to [[[epub-fxl-a11y]]] [[epub-fxl-a11y]].
Although it is possible for users who require a publication in audio form to use text-to-speech playback, the experience is considerably poorer than when pre-recorded narration is provided. Text-to-speech engines have limited built-in vocabularies, causing them to mangle and mispronounce most uncommon words they encounter. As a result users have to have words repeated and spelled out to make sense of the content, slowing down their reading and reducing comprehension.
For this reason, it is important to provide narration for the full text of a publication in addition to the full text. Users can then decide which reading modality they prefer — text, audio, or a mix of the two.
When reading visually, users can quickly move through, and escape from, highly structured content such as sidebars, lists, and figures. Visual readers can skim lists and quickly return to the primary narrative once they locate the desired information, for example. The same is true for reading figures and sidebars, as they are visually offset from the primary narrative so easily jumped into and out of.
The same ease of escaping from content is only possible if EPUB publications include structural semantics in the synchronized text/audio format. Users might not be able to escape from lists, sidebars, figures, and other highly structured content, without the structural semantics of those elements being available.
When the synchronized text-audio playback instructions include this information, reading systems can simplify playback for auditory readers to enable a comparable reading experience.
Every EPUB publication has a default reading order that allows users to progress through the content. The default reading order consists of two parts: the order of references in the spine provides a high-level progression through the EPUB content documents that make up the publication, while the markup within each EPUB content document provides the default progression through the content elements (i.e., as represented in the document object model [[?dom]]).
For many languages, the default reading order also matches the logical reading order — the way that users will naturally follow the narrative. It ensures that readers can follow the primary narrative and that they encounter secondary content where the author intended it to be read. The default reading order also establishes some less obvious relations, like the progress within a table from cell to cell and row to row.
If the sequence of the synchronized text-audio playback does not match this progression, it can cause confusion for readers, whether they are only listening to the audio or trying to also follow visually.
Ordering the playback to match the default reading order is the safest way to ensure that users can follow the text. In some cases, however, strict adherence to this practice can result in a suboptimal reading experience (e.g., playback of a table by column instead of row might make more natural sense in some cases). These publications have a logical reading order that cannot match the default order of the elements of the host format.
The goal of this objective is not to forbid alternate presentations, but to ensure that deviations are only made to better represent the logical reading order of the content.
Being able to read the primary narrative of a work without interruption is central to reading comprehension. EPUB publications are typically structured to visually represent secondary information such as page break markers and footnotes outside the main narrative flow (e.g., by using different background colors or placement so readers can filter this information visually out while reading).
Readers who prefer auditory playback, however, cannot skip this information with the same ease in a linear audio-based reading experience. And, without structural semantics, synchronized text-audio playback cannot offer skipping content either.
When the synchronized text-audio playback instructions include structural semantics, however, reading systems can create reading experiences that allow users to decide which secondary content to skip by default.
There are fifty-six success criteria that fall at level A or AA in WCAG 2.2 [[wcag2]]. They are organized by whether they improve the perceivability, operability, understanding, or robustness of the content.
This organization matters because success criteria across multiple categories can apply to different content types. The non-text content success criterion, for example, can apply to images, audio, video, and interactive content. It requires that static images and dynamic images drawn on an [[html]] [^canvas^] element have alternative text and/or descriptions. And for audio and video, it requires labels to describe the nature of the content.
At the same time, there are various success criteria that only apply to a single type of content. The time-based media success criteria, for example, only apply to audio and video.
When carrying out an accessibility evaluation, it is important to know the possible applications of each success criterion. This avoids both mistakenly missing critical checks and wasting time on success criteria that cannot apply the content.
It is not possible for a document like this to determine exactly which success criteria can apply to an EPUB publication because so much depends on the nature of the content. But it is possible to help steer evaluators away from success criteria that do not apply.
Many publications do not contain images, audio, video, or scripted content. The filtering table identifies success criteria that can be skipped when they are not present in EPUB publications.
It is possible to determine what types of content are present, or not present, in an EPUB publication by using validation tools and inspecting the package document. With this information, the filtering table can be used to skip any success criteria that do not apply.
Before attempting to filter the success criteria it is critical to be sure what content an EPUB
publication contains. The traditional way to verify this is through the package document manifest [[epub-3]]. Each manifest
item has to list its media type in a media-type attribute, so all that is required is a knowledge of which
media types define which type of content.
The media types themselves typically aid in understanding the nature of the listed resources, as
the start of each usually classifies the type. Image formats, for example, begin with
"image/", while audio formats begin with "audio/". EPUB also
maintains a list of core media types which also limits the number of formats that are actually
used in publications.
Refer to EPUB 3's core media types [[epub-3]] and EPUB 2's core media types [[ops-201]] for more information.
Unfortunately, the package document manifest is an imperfect way of assessing the content of an EPUB 3 publication. It only works well for EPUB 2 publications because EPUB 2 lacks the more advanced content options of EPUB 3.
Determining whether there are images in an EPUB publication is a prime example of how the manifest can fail. Scripts can be used to draw images on the [[html]] [^canvas^] element or to create interactive charts or games. These kinds of images will not be listed in the manifest because they are created using native html functionality.
Similarly, data URLs allow raw image data to be embedded
directly in html, once again bypassing a manifest entry. A search for URLs that begin with
"data:" might not even be sufficient as a script could dynamically insert an
image this way.
Scripting is also problematic because it limits the ability of validators to check whether resources are missing from the manifest. If an [[html]] [^audio^] or [^video^] element is dynamically written into an html file, for example, a validator might only report the corresponding audio or video file in the EPUB package as an unused resource in a usage message. Usage messages are not usually emitted by default making the issue easy to miss. Moreover, if the script writes a reference to a remotely hosted resource, the validator will not report anything at all.
Evaluators will always have to be aware of these limitations and be on the lookout for content that is not listed in the manifest.
In an odd twist, although scripting makes the package document manifest less reliable for
detecting non-text content, the package document is the best way to detect if scripting is used.
When scripting is used in an EPUB content document, no matter what form it takes, it has to be
declared in a properties
attribute [[epub-3]].
Scripts are not always stored in standalone JavaScript files, so it can be quite difficult to determine if scripting is present without the help of a validator. Scripts embedded using [[html]] [^script^] tags and scripting inlined in the markup using event handler attributes like {{HTMLElement/onclick}} and {{HTMLElement/onkeypress}} are a couple of ways that scripting can be present at the content level. Trying to locate these possibilities manually is prone to mistakes. But so long as the EPUB publication is validated prior to carrying out an accessibility evaluation, detecting scripting will be straightfoward.
The following table provides a list of success criteria that can be skipped if an EPUB publication does not contain the specified type of content.
This table does not provide a list of all the success criteria have to be checked when the specified content types are present. The How to Meet WCAG (Quick Reference) guide provides the ability to filter WCAG success criteria to show all that apply to different content types as do evaluation tools.
If an EPUB publication does not contain any of the above content types, and does not use CSS animations, the following Level A and AA success criteria will also not apply:
[[[epub-a11y-12]]] [[epub-a11y-12]] does not define a format for evaluation reports. Evaluators have the flexibility to use a format that best meets personal and/or regional reporting needs. In general, though, it is expected that the report will list all the WCAG success criteria that were evaluated and the result of testing for each. For any criteria that were not met, an explanation of what caused the failure is typically also provided.
While this form of reporting is traditional for accessibility evaluations, confusion sometimes arises around how to report success criteria that do not apply to the content. Although the content does not fail these success criteria, reporting them as a 'pass' is inaccurate because they were never applicable. A 'pass' result should only be awarded when a requirement has been actively evaluated and met.
A basic text novel, for example, should not have an evaluation report that says that text alternatives are provided for all the audio and video content. This kind of false reporting is not just misleading to users but could make regulators question whether a proper evaluation was even carried out.
The best way to avoid this problem is to assign a "not applicable" result (or an equivalent language-specific term) to success criteria that do not apply to an EPUB publication. If the reporting template only allows pass or fail results, then the success criteria should not be reported as an unqualified pass. Use the comment field to indicate which success criteria are not applicable.