The Fulcrum EPUB Specification is designed to help ebook production vendors and publishers create EPUB files compatible with the Fulcrum platform's Reading System. This specification does not repeat conformance requirements contained in the official EPUB specification. However, requirements and techniques regarding file and directory structure, naming conventions, treatments for images, time-based media, navigation, metadata, accessibility, HTML and other such details are included in this specification.
Wherever possible, the Fulcrum EPUB Specification follows the recommendations and techniques in the DAISY Accessible Publishing Knowledge Base but offers scholarly monograph specific examples or techniques Fulcrum prefers.
If you have questions, feedback, or find errors or issues with this specification, please file an issue within the project or email [email protected].
EPUB version 3.3 is the recommended technical specification for EPUB created for submission to Fulcrum. EPUB 3.0+ will function correctly in the Fulcrum Reader.
EPUB conforming to a specification less than EPUB 3.0 will not function as expected in the Fulcrum Reader and should be converted to EPUB 3.0+ before submission to Fulcrum whenever possible.
- EPUB 3.3 must be validated against EPUBCheck version 5.2.1.
- XHTML files should be compliant with HTML5.
U-M Vendor | Fulcrum Partner |
---|---|
Must be EPUB 3.0+ | Must be EPUB 3.0+ |
The following matrix details recommendations for converting different elements from PDF to EPUB 3.
When converting backlist titles from PDF to EPUB3, use the following table a guide for conversion.
Element | Conversion |
---|---|
Parts/Chapters | All Heading Levels |
Graphics + Captions | Image + Text |
Tables + Captions | Text |
Sidebars | Text |
Display Math | MathML |
In-line Math | Text (if keyable) / MathML (non-keyable) |
Lists | Text |
Footnotes/Endnotes | Bi-directional text |
Poems | Text |
Plays/Dialog | Text |
Non-keyboard Characters | Unicode |
Drop cap | Text |
Cover | Image |
Title Page | Text |
About the Author | Text |
Acknowledgements | Text |
Copyright Page | Text |
Table of Contents | Bi-directional |
Lists of Tables/Figs, etc. | Text with bi-directional links |
Dedications/Epigraphs | Text |
Foreword/Introduction/Preface | Text |
References/Bibliography | Text |
Glossary/Appendix | Text |
Index | Text with links |
Note: If the input is EPUB, then output should be in the same format.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The EPUB3 output file name will be the 13-digit ISBN number of the same input file name.
The use of the 13-digit ISBN number of the source file is optional for third-party partners to Fulcrum. However, file naming conventions must be consistent across titles submitted to Fulcrum.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The following folder structure is required for vendor deliverables to Michigan Publishing. The folder structure below is optional for third-party partners to Fulcrum. However, folder structure conventions must be consistent across titles submitted to Fulcrum.
The EPUB should conform to the following directory structure and naming convention.
/META-INF container.xml /OEBPS /xhtml/FileName-xxy.xhtml content.opf /fonts Fontname.fontextension /images cover.imgextension figname.imgextension /styles page-template.xpgt stylesheet.css toc.ncx mimetype
Where:
xx = A sequential numeric book part identifier beginning with 00 and incrementing by 1 (e.g., 00, 01, 02, 03, and so on) y = An optional alphabetic section identifier used when book parts contain large numbers of image files (e.g., 01a, 01b, 01c, and so on) Filename = A human readable book part name (e.g., Nav, Cover, Title, Contents, Chapter01 Fontname = A font file name (e.g., MinionPro-Regular) fontextension = A font file extension (e.g., ttf) figname = Figure name. Please do not modify this name, as it may be an identifier for accessing associated metadata. imgextension = An image file extension (e.g., jpg, png) stylesheet = A human readable CSS stylesheet name.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Additional inclusions supporting EPUB reading systems, such as iBooks and the com.apple.ibooks.display-options.xml file, is permissible and will not interfere with the Fulcrum Reader.
If such files are in the source file provided for conversion, they will be in the deliverable EPUB3.
The EPUB3 output contains the following folders and files.
- XHTML files
- Image files
- toc.ncx
- toc.xhtml (contains
epub:type="landmarks"
andepub:type="page-list"
) - mimetype
- container.xml
- content.opf
- Stylesheets (CSS)
- Embedded Fonts (only if approved)
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
If the EPUB is a derivative of a print source, include the pageBreakSource
metadata:
<meta property="pageBreakSource">urn:isbn:9780472132034</meta>
NOTE: if the EPUB must pass EPUBCheck less than 5.0, use the encoding practice specified below in 1.6.1 Dublin Core: Source instead.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | Yes |
Dublin Core metadata is required for the following items:
- Title
- Creator
- Language
- Rights
- Publisher
- Identifier
- Source
- Note: Only required when the EPUB is a derivative of a print source AND the EPUB must be validated against a version of EPUBCheck less than version 5. See additional fields also needed in example below.
- Date
Example code:
<dc:title>A Mid-Republican House from Gabii</dc:title>
<dc:creator>Rachel Opitz</dc:creator>
<dc:creator>Marcello Mogetta</dc:creator>
<dc:creator>Nicola Terrenato</dc:creator>
<dc:language>en-US</dc:language>
<dc:rights>© University of Michigan Press</dc:rights>
<dc:publisher>University of Michigan Press</dc:publisher>
<dc:identifier id="BookID">9780472999002</dc:identifier>
<dc:source id="src-id">urn:isbn:9780472999999</dc:source>
<meta refines="#src-id" property="dcterms:issued">2000-01-01</meta>
<dc:date>2018-03-03</dc:date>
NOTE: The dc:source
element and related meta refines="#src-id"
are only to be included if the publisher requires EPUB to pass EPUBCheck version < 5.0.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | Yes |
Include the two types of accessibility metadata -- schema.org and ONIX -- defined in the current EPUB environment.
Schema: http://kb.daisy.org/publishing/docs/metadata/schema-org.html
EPUB must contain the following schema properties:
accessibilityFeature
accessibilityHazard
accessibilitySummary
accessMode
accessModeSufficient
EPUB that include accessibility conformance and certification information must also contain:
<meta property="dcterms:conformsTo" id="conf"> EPUB Accessibility 1.1 - WCAG 2.2 Level AA </meta>
<meta property="a11y:certifiedBy" refines="#conf" id="certifier">[Certifier Name]</meta>
<meta property="a11y:certifierCredential" refines="#certifier">[URL to Certifier Credential]</meta>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
ONIX: http://kb.daisy.org/publishing/docs/metadata/onix.html
Use ONIX only when creating a separate ONIX metadata XML to place in the /meta folder of the EPUB.
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
In the nav epub:type="contents"
, typically in the toc.xhtml
file, include the following EPUB sections as follows (if section is applicable):
- Cover
- Title
- Note: If there are multiple title pages, label the contents "Title Page" and "Original Title Page".
- Half Title
- Copyright
- Note: If there are multiple copyright pages (e.g., the Routledge Revivals imprint which contains the original copyright page usually from the 1800s), the contents are to be labeled "Copyright Page" and "Original Copyright Page".
- Dedication
- Table of Contents page
- Note: If the Table of Contents is missing for a title, raise a JIRA ticket to see if the client can resupply the file. If not, construct a Table of Contents page fom the Chapter Titles.
- All Lists of Tables, Figures, Illustrations, Maps, etc.
- All book sections listed in the Table of Contents
- Appendices
- Bibliographies
- Endnotes
- Indexes
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
In the <nav epub:type="landmarks">
, typically in the toc.xhtml
file, include the following EPUB sections as follows (if section is applicable):
- Cover
- Table of Contents page
- All lists of Tables, Figures, Illustrations, Maps, Appendices etc.
- Start of content (typically the first major section after the front matter)
- Appendices
- Bibliographies
- Endnotes
- Contributors
- Indexes
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
If a print equivalent exists and page breaks are indicated within EPUB, include a page list in the nav epub:type="page-list"
, typically in the toc.xhtml
file, that includes a listing of all pages and links to those pages. See the DAISY Accessible Publishing Knowledge Base for examples.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
The following <meta>
elements should placed inside the <head>
element in all the XHTML files. The viewport
tag scales the page to the device size (initial-scale=1.0
) but allows the user to zoom the page up to 5x its initial size (maximum-scale=5.0
). They are optional for Fulcrum partners.
Example Code:
<meta name="viewport" content="initial-scale=1.0,maximum-scale=5.0"/>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
The primary language of the publication and shifts in primary language in body text should be set to ensure that assistive technologies correctly interpret and render the text.
The primary language should be placed in lang
and xml:lang
attributes inside the <html>
element in all the XHTML files.
Example Code:
<html ... lang="en" xml:lang="en">
Shifts in primary language in the body text, footnotes, or references should override the set language by wrapping the content in <span>
element with lang
and xml:lang
attributes.
Example Code:
<html ... lang="en" xml:lang="en">
...
<body>
...
<section>
<p>Newspapers in the People’s Republic were to
function as communication channels for transmitting
the central Party leaders’ positions and policies
out to the nation’s provinces and counties, and
relaying the conditions and experiences of the local
masses and ground level (<span lang="zh-Hans"
xml:lang="zh-Hans"><i>jiceng</i></span>) cadres back
up to the central Party (A. P. L. Liu 1971; Schurmann
1966).</p>
...
</section>
...
</body>
</html>
Language attribute values must be valid. The W3C provides guidance on selecting valid language tags.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Assigning meaningful titles is a recommended best practice for <title> elements in the EPUB. Such titles help all users to find and navigate through the documents, and, are essential for screen reader users.
Example 1. One chapter/part per HTML
<html ...>
<title>Chapter 1. Democratic Communications Infrastructure, Discourse, Policy, and Advocacy</title>
Example 2. Multiple HTML files for one chapter/part
If a chapter or part is split into multiple HTML files, the following method should be followed.
<html ...>
<title>Chapter 1. Continued (2 of 3). Democratic Communications Infrastructure, Discourse, Policy, and Advocacy</title>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | Yes |
Apply heading tags as per the HTML element for the headings. Ensure all headings are identified. Based on the heading levels, apply heading tags ranging from h1 to h6 as needed. Do not skip heading levels.
Heading numbers should decrease by one for each subsection. Never skip a heading number.
<section role="doc-chapter">
<h1>Chapter 1 Democratic Communications Infrastructure, Discourse, Policy, and Advocacy</h1>
...
<section>
<h2>The Discourse of “Net Neutrality”</h2>
...
<section>
<h3>On "Net Neutrality"</h3>
...
</section>
...
</section>
...
</section>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | Yes |
The title and subtitle are contained in separate elements, but grouped in a header element to better associate them. Use the role doc-subtitle
to identify the subtitle.
<section id="pref" aria-labelledby="headerpref01">Â Â Â
<header id="headerpref01">
<h1 class="ctfm">Preface</h1>
<p role="doc-subtitle" class="cs">Navigating Deep Waters</p>
</header>
...
</section>
NOTE: current best practice recommends wrapping the heading element in hgroup
instead of header
, but due to limitations in U-M's ebook distribution and EPUBCheck validation, header
should be used instead until further notice.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
When the subtitle is contained within the same heading element as the title, identify it in a span with the role of doc-subtitle.
<section role="doc-chapter">
<h1>Chapter 1
    <span role="doc-subtitle">Democratic Communications Infrastructure, Discourse, Policy, and Advocacy</span>
</h1>
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
Ensure all tabular data is marked up using table
tags, that titles are provided in a <caption>
element, and that header cells are identified in the scope
attribute. Headers should be contained within a thead
element and footers within a tfoot
element. The rows that represent the body of the table should be contained within a tbody
element.
Column heads and row heads must be defined as headers with appropriate scope attributes. The scope
attribute should contain a col
, colgroup
, row
, or rowgroup
value wherever required.
<table>
<thead>
<tr>
<td></td>
<th scope="col" class="tch">Emigration tax revenue<a id="tn2r" class="tnref" href="Kreutzmuller_Dispossession-0012.xhtml#tn2">a</a></th>
<th scope="col" class="tch">Implied capital</th>
<th scope="col" class="tch">Estimated transfer quota</th>
<th scope="col" class="tch">Taxed / Immobilized</th>
<th scope="col" class="tch">Implicit emigration tax rate</th>
<th scope="col" class="tch">For comparison: Bajohr (2003)</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row"><p class="td">1933</p></th>
<td><p class="td">17.602</p></td>
<td><p class="td">70.408</p></td>
<td><p class="td">50%</p></td>
<td><p class="td">44.005</p></td>
<td><p class="td">62.5%</p></td>
<td><p class="td">20%</p></td>
</tr>
...
</tbody>
</table>
If a table exceeds more than 8 columns or its layout could be compromised in its presentation on a Reading System, it is acceptable to present the table as an image. However, in such cases you must also provide a link to an XHTML file outside of the linear flow of the EPUB that contains the HTML version of the large table. Users with text-to-speech playback available will be able to navigate the markup regardless of the rendering quality.
See the technique in section 1.15.4 for providing an extended description of an image as guidance for including images of tables.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The following table has headers that span columns and rows:
Shipping. | Stock. | Wages. | Weights. | Name of Colony. | |||
---|---|---|---|---|---|---|---|
Book, page. | Appx, page. | Book, page. | Appx, page. | Book, page. | Appx, page. | ||
To make these headings accessible, use colgroup elements with the scope attribute:
<table border="1">
<colgroup span="2"/>
<colgroup span="1"/>
<colgroup span="2"/>
<colgroup span="2"/>
<colgroup span="1"/>
<thead>
<tr>
<th id="ship" colspan="2" scope="colgroup">Shipping.</th>
<th id="stock" rowspan="2" scope="colgroup">Stock.</th>
<th id="wages" colspan="2" scope="colgroup">Wages.</th>
<th id="wt" colspan="2" scope="colgroup">Weights.</th>
<th id="name" rowspan="2" scope="colgroup">Name of Colony.</th>
</tr>
<tr>
<th scope="col">Book, page.</th>
<th scope="col">Appx, page.</th>
<th scope="col">Book, page.</th>
<th scope="col">Appx, page.</th>
<th scope="col">Book, page.</th>
<th scope="col">Appx, page.</th>
</tr>
</thead>
<tbody>
...
</tbody>
</table>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The following table shows a distance chart with the start destinations defined in the first row and at the end destination at the end of each subsequent row.
In this case, because the header is at the end of the row setting a scope of "row
" does not apply it back to the cells already encountered. The headers
attribute must be applied to each cell.
Vancouver | Calgary | Saskatoon | Winnipeg | Toronto | Montreal | St. John's | |
---|---|---|---|---|---|---|---|
7323 | 6334 | 5838 | 5010 | 3141 | 2602 | 0 | St. John's |
4271 | 3743 | 3232 | 2408 | 539 | 0 | 2602 | Montreal |
Use scope="col"
to make the start destinations the column headers and
scope="row"
to make the end destinations the row headers:
<table>
<tr>
<th id="van">Vancouver</th>
<th id="cal">Calgary</th>
<th id="sask">Saskatoon</th>
<th id="win">Winnipeg</th>
<th id="tor">Toronto</th>
<th id="mon">Montreal</th>
<th id="stj">St. John's</th>
<th></th>
</tr>
<tr>
<td headers="van stj-dest">7323</td>
<td headers="cal stj-dest">6334</td>
<td headers="sask stj-dest">5838</td>
<td headers="win stj-dest">5010</td>
<td headers="tor stj-dest">3141</td>
<td headers="mon stj-dest">2602</td>
<td headers="stj stj-dest">0</td>
<th id="stj-dest">St. John's</th>
</tr>
<tr>
<td headers="van mon-dest">4271</td>
<td headers="cal mon-dest">3743</td>
<td headers="sask mon-dest">3232</td>
<td headers="win mon-dest">2408</td>
<td headers="tor mon-dest">539</td>
<td headers="mon mon-dest">0</td>
<td headers="stj mon-dest">2602</td>
<th id="mon-dest">Montreal</th>
</tr>
…
</table>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The following table combines headers from the top of each column and beginning of each row:
% Families | 1929 | 1970 | 1997 | |||
---|---|---|---|---|---|---|
Lowest 20% | 3.5% | 3.5% | 5.5% | 5.5% | 4.2% | 4.2% |
The headers
attribute is used to provide the IDs of the cells that contain the relevant heading text:
<table border="1">
<caption>Table IX.4 Income Distribution Among Families 1929-1997</caption>
<thead>
<tr>
<th id="t4-pct">% Families</th>
<th id="t4-1929" colspan="2">1929</th>
<th id="t4-1970" colspan="2">1970</th>
<th id="t4-1997" colspan="2">1997</th>
</tr>
</thead>
<tbody>
<tr>
<th id="t4-low20">Lowest 20%</th>
<td headers="t4-1929 t4-low20">3.5%</td>
<td headers="t4-1929 t4-low20">3.5%</td>
<td headers="t4-1970 t4-low20">5.5%</td>
<td headers="t4-1970 t4-low20">5.5%</td>
<td headers="t4-1997 t4-low20">4.2%</td>
<td headers="t4-1997 t4-low20">4.2%</td>
</tr>
</tbody>
</table>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Tag list items with proper list tags to ensure semantic encoding. Do not use other elements such as <p>
or bullet characters to denote a list item. By tagging the list items with proper list elements, the screen reader users can perceive meaningful information and will know that they are reading list items.
<ul>
<li>Credit, consumer, 164</li>
<li>Cross-functional contact, 10-11</li>
<li>Culture
<ul>
<li>buyer behavior and, 85</li>
<li>defined, 85, 98, 118</li>
...
</ul>
</li>
...
</ul>
Excerpt from: Core Concepts of Marketing --- John Burnett
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
<dl>
<dt><dfn>Exchange function</dfn></dt>
<dd>
Sales of the product to the various members
of the channel of distribution.
</dd>
<dt><dfn>Physical distribution function</dfn></dt>
<dd>
Moves the product through the exchange
channel, along with title and ownership.
</dd>
<dt><dfn>Marketing channel</dfn></dt>
<dd>
Sets of independent organizations involved
in the process of making a product or
service available for use or consumption
as well as providing a payment mechanism
for the provider.
</dd>
...
</dl>
Excerpt from: Core Concepts of Marketing --- John Burnett
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
In addition to lists appearing in body content, other recurring content that must be encoded as a list includes:
- Lists of titles on Series pages (unordered list).
- Table of Contents pages (ordered list).
- Lists of figures/illustrations (ordered list).
- Lists of tables (ordered list).
- Endnotes (ordered list). See 1.19.2 for details.
- Bibliographies (ordered list). See 1.20 for details.
- Indexes (unorded list). See 1.21 for details.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
When these elements are styled as quotes, they should be implemented with the use of the blockquote
element.
<blockquote class="senseline">
  <p class="slf">In the dry season, someone must be the first drop of rain.</p>
  <p class="sll">Let it be me. Let it begin with me.</p>
</blockquote>
Special attention should be paid to epigraphs that have attribution or bylines. These need blockquote
and to be wrapped in figure
element.
<figure>
<blockquote role="doc-epigraph" class="epigraph">
    <p class="eps"><span lang="kyh" xml:lang="kyh">“kĂşna vĂşra kĂşkuum Ă´ok tá ni’uum, pananĂfyiivshas nimĂşsarukti, kári vĂşra pakáruk váhi ni’aapĂşnmiikti.”</span></p>
  </blockquote>
  <figcaption>
    <p class="ept">—William Bright, Speech to Karuk Tribal Council, 2004</p>
  </figcaption>
</figure>
The recommended best practice is to include links as meaningful text if the surrounding text is inadequate to define the purpose of the link. By providing meaningful text interpretation, the screen reader user can understand the purpose of the link and decide if they need to navigate to that particular link.
Overuse of links, while may seemingly helpful, can create complex navigational experiences for assistive technology readers. Always ensure that links are useful and not adding additional complexity when deciding to include. As such, it is best to avoid back linking chapter titles to the TOC page whenever possible.
All the cross-references such as notes and footnotes are two-way linked. Other references such as page, section, figure, etc., are one-way linked. The web address and email address links are active.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The user can determine the destination of the link from the text of the <a> element alone.
<p>For more information, refer to <a href="#...">Section 1.1 of Web Publications</a></p>
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
Adding alternate text is an optional best practice if neither of the above conditions are met. Use the title attribute to provide additional context.
<a href="#..." aria-label="The EPUB specifications">click here</a>
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
When using DOIs in any section of the EPUB, the title of the publication should be included in an aria-label
attribute. See the CrossRef Accessibility Guidelines for more details.
<a href="https://doi.org/10.5555/12345678" aria-label="DOI for Toward a Unified Theory of High-Energy Metaphysics: Silly String Theory">https://doi.org/10.5555/12345678</a>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Bold Text Option: By specifying bolder, either a medium font or a bold one will make links visually stand out from their surrounding text.
a {
text-decoration: none;
font-weight: bolder;
color: rgb(51,102,204);
}
Dotted Border Option: A dotted border is placed under all links to highlight them instead of a line.
a {
text-decoration: none;
padding-bottom: 0.3rem;
border-bottom: 0.1rem dotted rgb(100,100,100);
}
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
The name assigned to an image file contained within the EPUB should not contain spaces. The underscore or dash characters should be used in place of spaces.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | Yes |
Acceptable file types for images include JPG, PNG and SVG.
Acceptable file types for video include MPEG-4 (.mp4, .m4v), Quicktime (.mov), and AVI (.avi) formats.
Acceptable file types for audio include WAV and MPEG 3 (.mp3).
Resolution |
Minimum 72 dpi |
Compression |
JPG Medium |
Color space |
24-bit color (RGB) or Grayscale |
Format |
JPG for grayscale and color pictures and photographs. |
Reading orientation |
Position per reading order. Rotated landscape images in print versions are rotated for presentation in the EPUB. |
Size |
Reference Fulcrum Generic EPUB CSS |
Presentation |
Maximum File Size should not exceed 1 Mb. Reprocess images greater than 1Mb in size by applying higher compression (not to exceed JPG Medium) or resampling to reduce the DPI. |
Exception note |
|
Note: For EPUB source files, retain the images as per the source EPUB file with the aforementioned properties.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Images should have an alternate text (img/@alt
attribute) for screen reader users. By providing an alternate text for non-visual content, the screen reader users can perceive information about the image through the alternate text provided by us.
<img src="covers/9781449328030_lrg.jpg" alt="Accessible EPUB 3 - First Edition"/>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
An empty alt
attribute is complimented by the role
presentation to indicate that the image contains no information for users.
<img src="graphics/gothic-border.png" role="presentation" alt=""/>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
1.17.5.1 |
The cover must consist of an XHTML file containing nothing but an image. The image must be styled to take up the entire height of the screen. This can be achieved using the CSS below (just an example) or follow sample CSS if available: img.cover { height: 100%; } |
1.17.5.2 |
Declare the cover in metadata (OPF) (mandatory). |
1.17.5.3 |
Capture cover related metadata as follows in .opf file: <meta name="cover" content="cover-image" /><item id="cover-image" href="images/cover.jpg" media-type="image/jpeg"/> |
1.17.5.4 |
Minimum width of the cover should be more than 600 px and minimum height of the cover should be 800 px captured proportionately. |
1.17.5.5 |
If the cover size of the source EPUB file is too small, then retain the cover per the source EPUB cover. Do not increase the size of the source EPUB cover. |
1.17.5.6 |
The cover image needs to fit the page when viewed in the Fulcrum Reading System to cover as much white space as possible. |
1.17.5.7 |
Never exclude the cover XHTML page from the linear flow of the EPUB. In the .opf file, it should be encoded as part of the flow: <spine toc="ncx"> <itemref idref="cover" linear="yes"/> ... </spine> If the cover XHTML file is defined outside of the linear flow, the EPUB will not work in the Fulcrum Reading System. |
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
For a group that consists of an image and an associated caption, the figure
and figcaption
elements should be used. One or more img
elements may exist within the figure
element, but only one figcaption
element should exist. The figcaption
element should exist after its associated img
element(s).
Below is an example of two images with a single caption:
<figure role="group">
<img src="chart1.png"
alt="Bar chart showing monthly and total visitors for
the first quarter 2014 for sites 1 to 3"/>
<img src="chart2.png"
alt="Bar chart showing monthly and total visitors for
the first quarter 2014 for sites 4 to 6"/>
<figcaption>
Example.com Site visitors Jan to March 2014 text description of the bar chart
</figcaption>
</figure>
NOTE: the img
element should be a direct child of the figure
element and not wrapped within another container such as a p
or a div
.
If multiple images and captions are to be grouped together, then nested figure
elements are to be used.
Code example:
<figure role="group" aria-labelledby="fig1">
<figure role="group" aria-labelledby="fig11">
<img src="castle-etching.jpg"
alt="The castle has one tower, and a tall wall around it.">
<figcaption id="fig11">
Charcoal on wood. Anonymous, circa 1423.
</figcaption>
</figure>
<figure role="group" aria-labelledby="fig12">
<img src="castle-painting.jpg"
alt="The castle now has two towers and two walls.">
<figcaption id="fig12">
Oil-based paint on canvas. Eloisa Faulkner, 1756.
</figcaption>
</figure>
<figure role="group" aria-labelledby="fig13">
<img src="castle-fluro.jpg"
alt="The castle lies in ruins, the original tower all that remains in one piece.">
<figcaption id="fig13">
Film photograph. <span lang="fr">Séraphin Médéric Mieusement</span>, 1936.
</figcaption>
</figure>
<figcaption id="fig1">
The castle through the ages: 1423, 1756, and 1966 respectively.
</figcaption>
</figure>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Extended description inclusion and linking via a hyperlink should be provided for complex images such as charts, graphs, maps, and images with text. Linking via a hyperlink is optional unless the description is provided in the source.
The following example uses a simple text hyperlink below the image to link to a separate XHTML file containing only one extended description, and provides a text hyperlink to return back to original reading position. The separate XHTML file with extended description should be placed at the end of the spine and outside the linear flow of the EPUB contents.
See the DAISY Consortium's Best Practices for Authoring Extended Descriptions for other techniques and additional details.
Below is an example of Fulcrum's preferred technique of extended description with hyperlink pointing to the full description. The following example uses figure and figcaption elements, but the technique can also be used without these elements.
<figure id="f131" class="figure">
<p class="fig"><img src="images/Fig13_01.png" alt="Three pie charts illustrating the breakdowns of races, nationalities, and genders of composers of color in the most common music theory textbooks." aria-details="rFigure13.1" /></p>
<figcaption>
<p class="figh"><span class="fighn">Figure 13.1:</span> Composers of Color in the most common music theory textbooks</p>
</figcaption>
<p class="image-right_back"><a id="rFigure13.1" href="ExtDesc_Figure13_1.xhtml#Figure13.1">Follow for extended description of Figure 13.1</a></p>
</figure>
The extended description is contained within a separate XHTML file placed outside of the linear flow of the EPUB. It also shows a smaller image for convenience of the users. The separate file should be named ExtDesc_Figure##_#.xhtml
.
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" lang="en-US" xml:lang="en-US">
<head>
<meta name="viewport" content="initial-scale=1.0,maximum-scale=5.0" />
<title>Extended Description for Figure 13.1</title>
<link rel="stylesheet" type="text/css" href="default.css" />
<meta charset="UTF-8" />
</head>
<body>
<section aria-labelledby="Figure13.1">
<h1 class="chtitlel" id="Figure13.1">Extended Description for Figure 13.1</h1>
<div>
<p class="imgl"><img src="images/Fig13_01.png" alt="" role="presentation" /></p>
<p>The three pie charts present the following data. Race of Composers of Color (Black, 90%) and (Asian, 10%). Genders of Composers of Color (men, 85%) and (women 15%). Nationalities of Composers of Color (American, 85%), (Canadian, 2%), (Brazilian, 5%), (Chinese, 2% ), (French, 2%), (English, , 2%), and (Japanese, 2%). Values are estimated.
</p>
<p class="image-right_back"><a role="doc-backlink" href="LucasPruett-0029.xhtml#rFigure13.1">Navigate back to Figure 13.1</a></p>
</div>
</section>
</body>
</html>
In the content.opf
file, place the XHTML description file at the end of the spine and keep the extended description out of the linear flow of the EPUB contents as in the example below:
<spine toc="ncx">
<itemref idref="LucasPruett-0001"/>
<itemref idref="LucasPruett-0002"/>
<itemref idref="LucasPruett-0003"/>
<itemref idref="LucasPruett-0004"/>
<itemref idref="LucasPruett-0005"/>
<itemref idref="LucasPruett-0006"/>
<itemref idref="LucasPruett-0007"/>
...
<itemref idref="ExtDesc_Figure13_1" linear="no"/>
</spine>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Once an EPUB is ingested in the Fulcrum platform, images, audio, or video referenced within EPUB content may be used to reference resources ingested in the platform. The img
element may be replaced with markup that displays a resource such as a higher resolution image, audio, or video. The basename of the path (minus the extension) specified in the img/@src
attribute value should match the basename of the resource.
Code example:
<figure role="group">
<img src="images/movie_trailer.jpg"
alt="Static image representing the movie trailer"/>
<figcaption>
Trailer for the movie.
</figcaption>
</figure>
The path images/movie_trailer.jpg
could match a video resource ingested in the Fulcrum platform that has the file name movie_trailer.mp4
.
For the case where the img/@src
value matches an ingested resource, but this instance should not be replaced, then the img/@data-fulcrum-embed
attribute can be added to the img
element:
<figure role="group">
<img src="images/movie_trailer.jpg"
data-fulcrum-embed="false"
alt="Static image representing the movie trailer"/>
<figcaption>
Trailer for the movie.
</figcaption>
</figure>
To reference a Fulcrum resource within EPUB content at a location where no img
element exists, the following markup may be used:
<figure style="display:none" data-fulcrum-embed-filename="Audio01.mp3">
<figcaption>Additional Audio Resource</figcaption>
</figure>
The value of the figure/@data-fulcrum-embed-filename
attribute contains the Fulcrum resource file name. Both the basename and the extension should match.
The figcaption
element is optional, but can be used to provide a caption for the resource once it is displayed.
To reference a video on YouTube within EPUB content at a location where no img
element exists, the following markup should be used:
<figure class="enhanced-media-display" data-fulcrum-embed-filename="[youtube video ID]"/>
With the placeholder value in the data-fulcrum-embed-filename
attribute replaced with the YouTube Video ID.
U-M Vendor | Fulcrum Partner |
---|---|
No | No |
For any object rendered as an image/graphic or media that occurs in the midst of a paragraph and interrupts text, it shall be placed either at the end of the preceding paragraph or the beginning of the nearest following paragraph within the specific page. Final placement of the image is dependent on the closest paragraph's proximity. The image must stay within the page marker it occurs on in the source PDF. If an image interrupts text, and no paragraph tag that starts or ends on the same page, then keep the image in its original location.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Representations of computer code within the text, referred to here as code blocks, should be encoded semantically when possible. Never use an image to represent lines of code, inline code, or code blocks.
Code to be displayed inline with paragraph text should be indicated with its equivalent semantic element.
<p>In table 2.2, the FizzBuzz algorithm ... is described as a
<i>loop</i> because it continues to compute results so long as the
proper conditions are met, in this case while the input amount
(<code>i</code>) is a number lower than or equal to 100.
Example 2.2.a, on the left, frames its computation in an initial
"catch-all" condition statement, that is, that <code>i</code>
is a multiple of three <i>or</i> of five. (The syntax
<code>i%3</code> checks whether "<code>i</code> divided by 3"
has a remainder of zero.) Then it checks each of those subconditions
independently of one another. This means that <code>i</code> ...
</p>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Code that needs its formatting preserved and should display as a block of text, like a blockquote, should be identified a figure and be wrapped with elements to preserve formatting of the code. Note the application of the CSS class code on the figure element. Rules defined in the associate spec CSS file (see fulcrum.css) help ensure formatting is preserved and line breaks occur when lines of code are excessively long.
<figure class="code">
<pre>
<code>
if invariance > the random of engineering
and not categorical then
put ideals + one into media
if subversive then
put false into subversive
end if
if media > instantiation then
put one into media
end if
end if
</code>
</pre>
<figcaption>
<span id="p51" class="page" epub:type="pagebreak" role="doc-pagebreak" aria-label="51">Page 51 →</span>
<p class="bqt">(Cayley 2002)</p>
</figcaption>
</figure>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
There may be instances where code blocks are long or an author refers to specific lines of code in the surrounding text. There also may be a desire to allow readers to copy and paste code blocks without line numbers included in the copied text. To do so one will need to divert from semantic encoding, and use CSS-only to include line numbers. Apply a CSS attribute which utilizes CSS line counting to provide line numbers automatically.
<figure class="code-linenumbers">
<figcaption>
<a data-locator="p157" class="page"></a>Practice Script 5.3: Revised simple statement combination
</figcaption>
<pre>
<span>myVariable = true;</span>
<span>if (myVariable == true) {</span>
<span> "The value of myVariable is TRUE";</span>
<span>} else {</span>
<span> "The value of myVariable is FALSE";</span>
<span>}</span>
</pre>
</figure>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
In cases where code does not need to be copied and pasted but the display of line numbers is desirable, it is acceptable to encode the block of code as a table. For historical references to code this may be the most desirable, where excerpts of code are only needed to be displayed and line numbers start not a 1, but 3977, for example.
<table class="code">
<thead>
<tr>
<th class="th" colspan="2"><a data-locator="p10"
class="page"></a>Table 1.1. Excerpt from Heartbleed patch
(t1\_lib.c) by snhenson et al. (2015)</th>
</tr>
<tr>
<th class="tch">Line</th>
<th class="tch">Code</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<pre><code>3977</code></pre>
</td>
<td>
<pre>
<code>/* Read type and payload length first */</code>
</pre>
</td>
</tr>
<tr>
<td>
<pre><code>3978</code></pre>
</td>
<td>
<pre>
<code>if (1 + 2 + 16 > s->s3->rrec.length)</code>
</pre>
</td>
</tr>
</tbody>
</table>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
In other cases, two different blocks of code may need to be compared to one another side-by-side, along with the display of line numbers. In this case the code blocks should be encoded in a table, and follow the general pattern in 1.18.4. Note that in this case an additional CSS attribute is applied to the table element.
<table class="code compare">
<thead>
<tr>
<th class="th" colspan="3"><a data-locator="p59"
class="page"></a>Table 2.3. Two example FizzBuzz loops in
Ruby</th>
</tr>
<tr>
<th class="tch" style="width: 10%;">Line</th>
<th class="tch">Example 2.3.a</th>
<th class="tch">Example 2.3.b</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<pre><code>1</code></pre>
</td>
<td>
<pre>
<code>for i in 1..100</code>
</pre>
</td>
<td>
<pre>
<code>100.times do |i|</code>
</pre>
</td>
</tr>
<tr>
<td>
<pre><code>2</code></pre>
</td>
<td>
<pre>
<code> if i%3 == 0 then</code>
</pre>
</td>
<td>
<pre>
<code> i = i+1</code>
</pre>
</td>
</tr>
</tbody>
</table>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
In general, the footnotes and endnotes are highly recommended to place at logical break of the book such as end of the chapter or end of the book, which will help the screen reader users to read the primary text.
Footnote and endnotes should be double-linked, allowing readers to navigate to a footnote or endnote section and back to the primary text.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
<p>
In that year<a href="\#ft2f" role="doc-noteref" epub:type="noteref">2</a>
there were 67 mills engaged in the manufacture of cotton goods ...
</p>
<aside id="ft2f" role="doc-footnote" epub:type="footnote">
<p>
2 The manufacturing statistics for 1900 which follow are not those given in the Twelfth Census, but are taken from the <em>Census of Manufactures</em> ...
</p>
</aside>
<p>...</p>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
The HTML Model allows for lists to contain headings, paragraphs, images, tables, etc. This means that applying list tagging can accommodate Endnote structures following <ol>
.
If it is necessary to match the presentation of the text for editorial reasons, then it is suggested to use an unordered list tagging so that each endnote item is encapsulated as a list item.
A cluster of paras with <p class="xxxxx">
tagging does not afford the same flexibility as list encoding, nor provide precision for isolating start and end of notes.
Note that doc-endnote
role is used to identify the section containing the endnotes, and no role is required on the specific endnote when using an ordered list to organize endnotes.
<section epub:type="endnotes" role="doc-endnotes">
<h2>Notes</h2>
<ol role="list">
<li role="listitem" class="endnote" epub:type="endnote" id="en172">
<p class="en"><a role="doc-backlink" class="ennum" href="LucasPruett-0021.xhtml#en172r">1</a>. The 2016 annual meeting of the American Musicological Society included a panel discussion entitled “Sexual Violence on Stage,” later published as a colloquy in the <i>Journal of the American Musicological Society</i> 71, no. 1 (2018): 213–53. Operas discussed included Mozart’s <i>Don Giovanni</i>, Floyd’s <i>Susannah</i>, Monteverdi’s <span lang="it" xml:lang="it"><i>L’Arianna</i></span>, Britten’s <i>The Rape of Lucretia</i>, Mazzoli’s <i>Breaking the Waves,</i> and Sankaram’s <i>Thumbprint</i>.
</p>
    </li>
...
</ol>
</section>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Providing links back to the primary text from the endnote or footnote section help readers navigate to and from notes.
In this example a class none
is applied to the <ol>
to prevent automatic numbering, and the doc-backlink
anchor is applied to a the number in the note.
<ol class="none">
<li><p epub:type="footnote" role="doc-footnote" id="p_3"><a role="doc-backlink" href="07_Preface.xhtml#not_1" id="pre_fn1">1</a>. Karla Jay, <i>Tales of a Lavender Menace: A Memoir of Liberation</i> (New York: Basic Books, 2000), 143.</p></li>
...
</ol>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Bibliographies should be structured using sections and lists to simplify access to the references.
<section role="doc-bibliography">
<h3 id="eh0602" class="eh">Works Cited</h3>
  <ol role="list" class="references">
  <li class="rf" role="listitem">Afzal-Khan, Fawzia. “The Politics of Pity and the Individual Heroine Syndrome: Mukhtaran Mai and Malala Yousafzai of Pakistan.” <i>Performing Islam</i> 4, no. 2 (2015): 151–71.</li>
  <li class="rf" role="listitem">Baranello, Micaela. “When Cries of Rape are Heard in Opera Halls.” <i>New York Times</i>, July 16, 2015.</li>
  ...
</ol>
</section>Â Â
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Indexes should be structured using sections and lists to simplify access to the subjects.
<section id="index" class="chapter" aria-labelledby="headerindex01" epub:type="index" role="doc-index">Â Â Â
<header id="headerindex01">
<h1 class="ctbm">Index</h1>Â Â Â
</header>Â Â Â
<ul class="index list-unstyled">
<li id="in001" class="inf"><i>1619 Project</i>. <i>See</i> <a class="xref" href="LucasPruett-0033.xhtml#in163">Hannah-Jones, Nikole</a></li>
<li id="in002" class="in"><i>20 Feet from Stardom</i> (documentary), <a class="xref" href="LucasPruett-0017.xhtml#p47">47</a></li>Â Â Â Â
...
</ul>
</section>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Page numbers should be applied for titles that have a print equivalent. For titles that are digital-only and do not have a print equivalent, paragraph numbers should be applied.
It is the Fulcrum practice to display page numbers in the flow of text. Other publishers may choose to visually hide the page numbers within the flow of text.
Example coding that displays page numbers:
<span id="p1" class="page" role="doc-pagebreak" aria-labelledby="pg1"></span>
<span id="pg1" aria-hidden="true" class="page">Page 1 &\#8594;</span>
In the above example, to avoid assistive technology reading the page number twice, the aria-labelledby
is exposed to assistive technology while the visible page number element below is hidden from assistive technology.
Example coding that visually hides page numbers:
<span id="p1" class="page" role="doc-pagebreak" aria-label="1"></span>
NOTE: When page breaks occur around headings (such as the start of a Part or Chapter), page breaks should always appear before the heading element and never inside of the heading element.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Paragraph numbering requires adding a class
identifier and id
value to a <p>
. Paragraph numbers should only be applied to elements that are true paragraphs, not elements that use the paragraph element for styling.
<p class="numberedpara" id="para11" title="Para11"/>
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Line numbering, such as in poems or code blocks, requires adding a class
identifier and id
value to a <p>
.
<p class="numberedline" id="line11" title="Line11"/>
U-M Vendor | Fulcrum Partner |
---|---|
No | No, but strongly recommended |
When chapters contain a large number of media and the total file size exceeds 10MB, then consider splitting the chapter into a series of HTML files. This will create smaller files for faster download and rendering within the Fulcrum EPUB Reading System.
Inside each HTML file, please include <meta content="chapter2" name="chapter2a" role="section"/>
updated by section to represent relationships between all files for a chapter.
The reason for the metadata inclusion is to provide information so that Fulcrum is able to parse files to allow only chapters to display.
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="eng">
<head>
<title>More</title>
<link rel="stylesheet" href="../Styles/stylesheet.css" type="text/css"/>
<meta name="viewport" content="initial-scale=1.0;maximum-scale=5.0"/>
<meta content="chapter2" name="chapter2a" role="section"/>
</head>
<body>
<div>
<h3 class="subhead" id="sub4"><em>The Mid-Republican Period: The House</em></h3>
U-M Vendor | Fulcrum Partner |
---|---|
No | No, but strongly recommended |
The Fulcrum EPUB Specification provides three different CSS files for use in EPUBs. If possible, use one of the following standard CSS files in your EPUB, depending on its conversion process:
- fulcrum.css
- A generic CSS file for use in Fulcrum EPUBs
- newgen.css
- A CSS file for EPUBs produced by NewGen, adapting Fulcrum styles to NewGen conversion classes.
- scribe.css
- A CSS file for EPUBs produced through the Scribe Digital Hub, adapting Fulcrum styles to Scribe's conversion classes.
Unique styles per book can be added as needed as additional styles at the bottom of these CSS files. If styles are added or an external stylesheet is included, validate the CSS.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
- Font-size should always be defined in relative units.
- Do not use fixed values (
mm
,cm
,in
,pt
, orpc
) in CSS file. - Do not use absolute-size values (
xx-small
-xxx-large
) in CSS file. - Control the
font-style
over the CSS whenever possible and avoid inline styles.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Ensure sufficient contrast so that text is legible, links are distinguishable from text, and do not rely on color to impart information, as not all users will be able to see the colors or perceive the differences. For example, if the color of a text provides a meaning to the content, then there should be some alternate method to convey the information to an assistive technology user. When unsure, check contrast using WebAIM's Contrast Checker.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
If background images are to be included in the EPUB, setting the contrast between the background colors and images will help readers who have difficulty in distinguishing contrasts. Color contrast of 4:5:1 is the best practice followed in the industry.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
1.24.5 Hidden Content
There should not be any hidden content available in the EPUB files.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
EPUB 3 user agents that visually render content may provide support for the CSS properties listed below, but inclusion is optional. Properties not listed may still be used (e.g., from evolving CSS 3 modules), but content authors should use due diligence and assess the impact on rendering and accessibility when using such properties.
Please refer to the DAISY Accessible Publishing Knowledge Base for the most up to date CSS 2.1 properties allowed in EPUB.
Property | Considerations |
---|---|
|
|
|
|
direction |
|
|
|
|
|
azimuth cue cue-after cue-before elevation pause pause-after pause-before pitch pitch-range play-during richness speak speak-header speak-numeral speak-punctuation speech-rate stress voice-family volume |
|
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Please refer to the DAISY Accessible Publishing Knowledge Base for the most up to date pseudo-classes allowed in EPUB.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Please refer to the DAISY Accessible Publishing Knowledge Base for the most up to date pseudo-elements allowed in EPUB.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
If the input EPUB file contains fonts, then retain them in the output EPUB3 files. For web-ready PDF input files, do not embed fonts, unless otherwise requested by customer.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Retain as much as possible of the formatting of the source EPUB and PDF files in the output EPUB3 file.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Treat as text + images in reading order.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Treat as text + images in reading order.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Retain the reading order of the EPUB source files in the EPUB3 output. For the PDF source files, then match the source reading order in the EPUB3 output.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
Apply DPUB-ARIA semantic attributes according to the type of content.
Refer to the DAISY Accessible Publishing Knowledge Base DPUB-ARIA guidelines for the most up to date list of roles, explanations, and code examples.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No |
While much of the guidance in the Fulcrum EPUB Specification is aimed at ensuring an accessible EPUB3 file, in general applying the following points will help make the output accessible.
-
Image should be provided with alt text (if provided by customer) and decorative images should be left blank.
-
All the elements should be marked with appropriate HTML tags.
-
Color contrast should be 4.5:1 which can be checked through ACE EPUB accessibility checker.
-
Zoom the text to 200% and ensure that the EPUB file remains readable without any text cut issues..
-
Text should not be captured as image.
-
Each HTML page should have proper title and the title should reflect the page title.
-
Language of the page should be defined and any other language text inside the content should be defined with proper language code.
U-M Vendor | Fulcrum Partner |
---|---|
Yes | No, but strongly recommended |
Rev Num | Release Date | Changes | Author |
---|---|---|---|
1.0 | May. 12, 2018 | Beta Release to UM Full Spec Internal |
Arthic Leo A E |
1.0b1 | July 16, 2018 | Beta release version 2.0 | Arthic Leo A E |
1.0b2 | July 24, 2018 | Beta release version 3.0 | Arthic Leo A E |
1.0b3 | July 24, 2018 | Beta release version 3.0 | G Suprock |
1.0b4 | Aug. 21, 2018 | Beta release version 4.0 | G Suprock |
1.1rc1 | Sept 20, 2018 | Release candidate 1.0 | J McGlone |
2.0 | Dec 20, 2018 | Release to web | J McGlone |
2.1 | Feb 7, 2018 | Removed non-spec material, added code block spec (1.16) | J McGlone |
2.2 | May 14, 2019 | HELIO-2661 | [email protected] |
2.3 | Jan. 15, 2020 | HELIO-3146 | [email protected] |
2.4 | April 15, 2020 | HELIO-2651 | [email protected] |
2.5 | June 9, 2021 | Clarify use of page numbering and paragraph numbering | J McGlone |
2.6 | November 10, 2021 | FULCRUMOPS-33 | [email protected] |
3.0 | March 2025 | FULCRUMOPS-234 - indicate what is recommended vs. required and for whom; updates to extended description best practices; additional updates to match accessibility requirements; changes to EPUB specification; support for YouTube embeds; and more | J McGlone and T Belch |