EPUB 3 production guidelines for Publishers and Suppliers to the Bokbasen Allvit Platform
About the guidelines
EPUB 3 best practices and guidelines for publishing through Bokbasen. This document is a work in progress and will be periodically revised. Publishers and Suppliers are encouraged to contact Bokbasen if clarification is needed.
There may be cases where the guidelines are not covering every aspect or may be lacking in detail. In such cases Publisher and Suppliers should contact Bokbasen.
At the very basic level Bokbasen requires any EPUB to validate to the format standard. The Publisher is required to refer to the specifications provided in the current release of the EPUB standard maintained by W3C. This document does not comment on or suggest best practices for all parts of the format standard. Where nothing is noted, the format standard is the requirement.
Most chapters in this document references the format standard and a link to the published specification by W3C. This is indicated by quotations and a link to the source.
In addition to this, Bokbasen has specific requirements regarding the metadata and naming of the publication.
Minimum and mandatory requirements for Bokbasen’s systems are marked are defined and summarized in section 1. Any other requirements in this document are optional, although highly recommenced and encouraged. This is especially the case in sections 5 and 6.
1. Summary of Mandatory Requirements
- Bokbasen require any EPUB to validate to the format standard. The Publisher is required to refer to the specifications provided in the current release of the EPUB standard maintained by W3C.
- Bokbasen require more specific metadata than are mandatory in the format standard as well as all metadata to be consistent throughout the publication.
- The page-list element is required by Bokbasen for all publications where there is a printed equivalent to the Publication. It is especially encouraged for digital textbooks where there is a printed version still in use.
- Bokbasen require all publications to conform to the requirements in the section regarding Accessibility and to WCAG 2.0 on level AA or better as required by Difi
2. Format Requirements
EPUB is a format for representing documents in electronic form. The Publisher are required to refer to the specifications provided in the current release of the EPUB standard maintained by W3C.
Recommended production steps
- The first step in making an EPUB is to create your content document(s). These must be either XHTML5 documents, SVG images, or a mixture of the two.
- Once you’ve crafted your content, the next step is to create the package document, a special document used by reading systems to glean information about your publication (for ordering in your bookshelf, to render the content, and the like).
- The last step is to zip up your content documents, associated resources, and the package document into a single file for distribution. The container archive is required to have the .epub extension. The file extension must be lowercase. Note that the mimetype file must be archived as the first file in the Container.
About the Format
“EPUB has been widely adopted as the format for digital books (ebooks), and EPUB 3.1 continues to increase the format's capabilities in order to better support a wider range of publication requirements, including complex layouts, rich media and interactivity, and global typography features. The expectation is that the EPUB 3.1 format will be utilized for a broad range of content, including books, magazines and educational, professional and scientific publications.
EPUB 3.1 is modular in nature: it consists of a family of specifications that define the core features and functionality of the standard. This specification represents the primary entry point to standard, but the specifications listed in Specifications are all a part of EPUB 3.1. An index to key concepts and definitions defined across these specifications is provided at the end of this specification.” - W3C
3. Package Document and Metadata
The Package Document
“The Package Document is an XML document that consists of a set of elements that each encapsulate information about a particular aspect of the EPUB Package. These elements serve to centralize metadata, detail the individual resources that compose the Package and provide the reading order and other information necessary to render the Rendition.” - W3C
Metadata
“The Package Document metadata element has two primary functions:
- to provide a minimal set of meta information for Reading Systems to use to internally catalogue an EPUB Publication and make it available to a user (e.g., to present in a bookshelf).
- to provide access to all rendering metadata needed to control the layout and display of the Rendition's content (e.g., fixed-layout properties).” - W3C
Specific Requirements
The following example shows the minimal set of metadata required by Bokbasen that Publishers have to include in the Package Document.
<package … unique-identifier="ISBN">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:identifier id="ISBN">urn:isbn:9788202601003</dc:identifier>
<dc:title>Lazarus</dc:title>
<dc:creator>Kepler, lars</dc:creator>
<dc:publisher>Cappelen Damm</dc:publisher>
<dc:language>no</dc:language>
<dc:date>2018-10-25</dc:date>
<meta property="dcterms:modified">2011-01-01T12:00:00Z</meta>
</metadata>
</package>
The following elements are required:
- <dc:identifier>
- Element Content: urn:isbn:[ISBN]
- Attribute: id
- Value: ISBN
- <dc:title>
- Element Content: [Title of the publication]
- <dc:creator>
- Element Content: [Author of the Publication]
- <dc:publisher>
- Element Content: [Publisher of the Publication]
- <dc:language>
- Element Content: [RFC5646 conformant value corresponding to publication language]
- <dc:date>
- Element Content: [YYYY-MM-DD]
- <meta>
- Element Content: [CCYY-MM-DDThh:mm:ssZ]
- The date for the <meta>element is required to reflect the last time the content was changed by the supplier.
The following elements are not required, but are highly recommended to add to the Publication to increase usability in the reading systems:
- <dc:contributor>
- Element Content: [Contributor to the Publication]
- <dc:coverage>
- <dc:description>
- <dc:format>
- <dc:relation>
- <dc:rights>
- <dc:subject>
- <dc:type>
Language Definition
Suppliers are required to identify specific languages and define them in EPUB package files using the <dc:language> element described above. A list of primary language codes is provided in the table below. Alternative tags that may be used are listed in the rightmost column.
Language |
Code |
Alternativ tags |
Norwegian |
no |
nn-NO nb-NO |
Swedish |
sv |
sv-FI |
Finnish |
fi |
|
Danish |
da |
|
English |
en |
|
German |
ge |
de-CH |
French |
fr |
|
Manifest
All publication documents and resources must be represented in the <manifest> element of the package.
Each document or resource must be defined by an <item> element.
If the Publication is a conversion from a earlier published version in EPUB 2, exactly one <item> element should define a superseded ncx content document. (Ref. EPUB 2)
The fallback attribute should then be applied for each <item> element referencing a fallback resource contained in the EPUB.
Spine
If the Publication is a conversion from a earlier published version in EPUB 2, the reading order indicated by the sequence of <itemref> tags should correspond to the structure present in the original source material.
Navigation Document
“The EPUB Navigation Document is a mandatory component of an EPUB Package. It provides the Author with a mechanism to include a human- and machine-readable global navigation layer, thereby ensuring increased usability and accessibility for the user.” - W3C
Page Lists
The page-list element is required by Bokbasen for all publications where there is a printed equivalent to the Publication. It is especially encouraged for digital textbooks where there is a printed version still in use.
The page-list element is not required for converted materials and where the digital version has no printed version.
The page-list element must be in accordance with the W3C specification as referenced below.
“The page-list nav element provides navigation to positions in the content that correspond to the locations of page boundaries present in a print source being represented by the EPUB Publication.
The page-list nav element is optional in EPUB Navigation Documents and must not occur more than once.
The page references within the page-list nav must be ordered so that they match both the order of the targeted EPUB Content Documents in the spine and the order of each page within its respective EPUB Content Document.
The page-list nav element should contain only a single ol descendant (i.e., no nested sublists).
4. Content Documents
“EPUB Content Documents 3.1 specifies a usage of HTML, SVG and CSS optimized for representation of structured, composable, and accessible documents.” - W3C
HTML Content Files
Document Properties
It must be an [HTML] document that conforms to the XHTML syntax.
For all document constructs used that are defined by [HTML], it must conform to the conformance criteria defined for those constructs in that specification, unless explicitly overridden in HTML Deviations and Constraints.
It may include extensions to the [HTML] grammar as defined in HTML Extensions, and must conform to all content conformance constraints defined therein.
File Properties
The XHTML Content Document filename should use the file extension .xhtml"
Metadata
The metadate in the <head> element must match the value of the corresponding element in the package document.
Elements
- <meta>
- Attribute: charset
- Description: Required first child
- <title>
- Content: [title of the publication. Must match value of dc:title in the package.]
- Description: Required second child
- <meta>
- Attribute: name
- Attribute: content
- Value: [ISBN of the publication. Must match value of dc:identifier in the package.]
- Description: Required third child
Language Definition
Publisher and Suppliers are required to identify primary languages for each content file instance using the xml:lang and lang attributes. The values for xml:lang and lang must be the same.
C
5. General Best Practices for Content Documents
XHTML Content Files
The EPUB Content File structure specified in these guidelines is generally made up of a multipage HTML fileset. Major divisions of the publication are to be captured in individual XHTML content files. The individual content files will typically correspond to Part or Chapter divisions of the book.
Other major book components such as colophon, index or appendix, which can be found in frontmatter and backmatter, will normally be stored in separate files as well.
The structural divisions of the publication are required to be semantically inflected by using the appropriate value with the epub:type attribute applied to the <body> element for each file instance. The epub:type attribute is required for all instances of <body> and must contain one of the following partition values:
- frontmatter
- bodymatter
- backmatter
Exceptions: epub:type="cover".
The epub:type attribute may be required to contain more than one value.
General Note about the XHTML fileset and The Navigation Document
The EPUB Navigation Document is the file exposing the hierarchical structure of the publication. The individual files making up the XHTML fileset must correspond to the primary list items contained in the Navigation Document. Some requirements regarding document creation, however, may cause exceptions to this rule. Examples of such exceptions are:
Part
This division represents a structure that contains a series of chapters. In order to prevent the EPUB from containing excessively large content files, the guidelines require that the Part heading and only subsequent content relevant to the heading, must be contained in a separate XHTML file.
The chapters are then required to be stored in individual files and referenced in the package <spine>. Even though this treatment of Part and Chapter headings may appear to flatten the heading structure at the document level, the logical heading structure for the chapters must be correctly reflected in the EPUB Navigation Document as nested <li> elements to a parent <li> referencing the part heading.
Chapter End Notes
Conversely, Chapter end notes should be shown in the Navigation Document to occupy the proper place and order in the chapter subheading hierarchy, even though these guidelines require that Chapter End Notes must be contained in a separate file.
Content Chunking
“A common technique used to improve rendering, and force new page breaks before headings, is to break up an EPUB so that each content document contains only a single section. Each new document referenced in the spine forces the content to load in a new page, which has historically been more reliable than relying on support for the CSS page-break-* properties. Data chunking also speeds up rendering, because even though devices have become more powerful since EPUB 2 first arrived, it’s still the case that the less that must be rendered at a time the faster the document will load.
As support for the CSS pagination properties has not yet appeared in current EPUB 3 reading systems, breaking up content at major structural points remains a best practice. But there’s one common problem that gets highlighted with HTML5 section tagging: what to do when you have to pull child sections out of a parent. For example, if a part has ten chapters, do you remove all ten and leave the part heading alone in a file, or leave the heading with the first chapter and remove the other nine?
Neither option is particularly great, but to keep the part heading on its own page and to not give the illusion at the markup level that the part is only one chapter long, separating the heading is the best option:”
<section epub:type="part">
<h1>Part One</h1>
</section>
Primary Document Divisions
This section details requirements for the main document divisions that may be encountered in the EPUB. These document divisions are recommended to be stored in a separate xhtml file instance. Note, however, that the following list of document types is not exhaustive.
Cover
The epub:type attribute must be applied to the body element.
The following value must be applied to the epub:type attribute: epub:type="cover"
The <h1> element is required first in the body.
The frontcover, when available, must be captured as an image file and given the name cover.** . The properties="cover-image" attribute must be applied to the manifest item element corresponding to this image.
Note that the linear="no" attribute must be applied to the itemref element in the package spine corresponding to this content file.
Title Page
Content corresponding to the publication’s full title should be included in an <h1> element.
<h1 epub:type="fulltitle" class="title">
Use of the <span> element is only required when a subtitle is present. The following attribute usage should be applied to the appropriate <span> element:
<span epub:type="title"> <span epub:type="subtitle">
Colophon
The epub:type attribute must be applied to the body element.
Only one of the following pairs of values must be applied to the epub:type attribute:
epub:type="frontmatter colophon"
epub:type="backmatter colophon"
ISBN content when present must be included in a <p> tag and identified using the following attribute and value: class="isbn"
Table of Contents
The epub:type attribute must be applied to the body element. The required value for epub:type is toc.
Only one of the following pairs of values must be applied to the epub:type attribute:
epub:type="frontmatter"
epub:type="backmatter"
Note that when including a brief table of contents at the beginning of parts or chapters. Such structures will also require epub:type="toc"
Part
The epub:type attribute must be applied to the body element. The following value must be applied to the epub:type attribute: epub:type="part"
The following value must be applied to the epub:type attribute:
epub:type="part bodymatter".
The part heading must be included in an <h1>element. Though additional content may occur in this file, no content belonging to subsequent chapters is to be included in this file.
The <body epub:type="part"> must be stored in a separate xhtml file instance.
Chapter
The epub:type attribute must be applied to the body element. The following value must be applied to the epub:type attribute: epub:type="chapter"
The following value must be applied to the epub:type attribute:
epub:type="chapter bodymatter".
The <body epub:type="chapter"> must be stored in a separate xhtml file instance.
Index
The epub:type attribute must be applied to the body element. The following value must be applied to the epub:type attribute: epub:type="index"
The following value must be applied to the epub:type attribute:
epub:type="backmatter index".
Appendix
The epub:type attribute must be applied to the body element. The following value must be applied to the epub:type attribute: epub:type="appendix"
The following value must be applied to the epub:type attribute:
epub:type="backmatter appendix".
Glossary
Glossaries must be defined inside an dl element that has the epub:type="glossary” attribute.
Each term and definition must be placed in a dt and corresponding dd element.
<dl epub:type="glossary">
<dt id="active_solar">
Active solar
</dt>
<dd>As an energy source, energy from the sun collected and stored using
mechanical pumps or fans to circulate heat-laden fluids or air between
solar collectors and a building.</dd>
<dt id="alternating_current">
Alternating current
</dt>
<dd>An electric current that reverses its direction at regularly recurring
intervals.</dd>
<dt id="ampere">
Ampere
</dt>
</dl>
To display a glossary as a popup you can link to it using an anchor element.
Some text containing <a href="#ampere">ampere</a> ...
Footnotes
Add the epub:type="footnote” to an anchor element to reference a footnote.
The footnote must be contained inside an aside block which has the epub:type="footnote" attribute.
<p>lorum ipsum.<a epub:type="noteref" id="fr01" href="#fn01">1</a></p>
<aside epub:type="footnote" id="fn01">
<a href="#fr01">1</a> This is footnote number 1
</aside>
Endnotes
The epub:type attribute must be applied to the body element.
The following value pairs, where applicable, must be applied to the epub:type attribute:
epub:type="endnotes backmatter"
epub:type="endnotes bodymatter"
Note that when epub:type="endnote" is applied to content representing chapter endnotes, the
linear="no" must be applied to all corresponding itemref elements in the .opf.
Endnote and reference
<p>lorum ipsum.<a epub:type="noteref" href="#en01">1</a></p>
<aside epub:type="endnote">
…
</aside>
Endnotes section
<section epub:type="endnotes">
<h1>Endnotes</h1>
<section>
<h2>Chapter 1</h2>
<aside epub:type="endnote">
..
</aside>
</section>
</section>
Content Tag Reference
This section provides tagging details for various types of content present in the EPUB content files.
Annotation: <aside>
Shorter marginalia are to be marked using the <aside>element.
attributes: epub:type="annotation" class="annotation"
Annotation Reference <a epub:type="annoref">
Annotation references are required to retain that formatting found in the work and be appropriately marked up to mirror this, for example <em> or <strong>.
attributes: epub:type="annoref" class="annoref"
Quotations
Block: <blockquote>
The <blockquote>tag is used to mark up quotes broken out of the text flow. Markup may require xml:lang and lang.
In those circumstances where inline images occur in block quotations, Publishers and Suppliers are required to place the image directly after the <blockquote>tag.
Inline: <q>
The <q> tag is used to mark up quotes occurring inline in the body text. Markup may require xml:lang and lang.
Bold Emphasis: <strong>
The <strong>element is to be used to identify bold text.
Chapter Notes (endnotes): <ol>
Publishers and Suppliers are required to mark up chapter (endnotes) using the <ol>tag. Each collection of chapter endnotes is required to be contained in a separate file as detailed in 3 General Requirements for Content Documents.
Required attributes for each <li>element:
epub:type="rearnote"
class="notebody"
id="".
The value for the id=""attribute must correspond to the value of the href=""attribute in its associated <epub:type"noteref" class="noteref"> t a g
Code
Block: <pre> and <code>
Publishers and Suppliers are required to mark up code content with the <code> element. For block instances containing several lines of code, the <code> element must be contained in a <pre>element.
Attributes:
Example:
<pre>
<code>
$a = shortcode_atts( array( 'title' => 'My Title' 'foo' => 123,), $atts );
</code>
</pre>
Inline: <code>
Suppliers are required to tag inline code content with the <code> element.
Definition Data: <dd>
Publishers and Suppliers are required to mark up all definition data parts coupled to a <dt>with the <dd>tag. More than one definition data part can occur.
Definition List: <dl>
The <dl>tag is used to mark up lists of terms and their definitions.
Typical examples range from glossaries to lists of acronyms and the like. The <dl> element is subject to %flow restrictions.
Definition Term: <dt>
Publishers and Suppliers are required to mark up all individual definition terms within a definition list with the <dt>tag.
Footnotes: <ol>
Publishers and Suppliers are required to mark up the collection of footnotes using the <ol> tag.
Required attributes for each <li>element:
epub:type="footnote"
class="notebody"
id="".
The value for the id=""attribute must correspond to the value of the href="" attribute in its associated <epub:type"noteref" class="noteref"> tag .
Headings: <h[x]>
The <h1> - <h6> elements are used for the heading structure.
Sectioning content that may require headings: <section>, <aside>, <nav>, <article>.
Do not use heading elements where the heading does not reflect the document hierarchy (e.g., inside figure captions).
Image Caption: <figcaption>
The <figcaption>element contains the text associated with an image.
<figcaption> must always be placed directly after the appropriate <img>element.
If the <figcaption> text describes a series of images, the <figcaption> element must be placed first in the parent <figure> element containing the child <figure> elements belonging to the image series.
Images: <figure class="image">
An image and its caption must always be contained within the <figure> tag. The <figure> tag is required to contain a single image only.
Required attributes for the <figure> element containing an image:class="image"
Images: <img>
The <img> tag represents all imagebased content in the work. The <img> element requires the following attributes:
- alt– this attribute is required to have the value image.
- src–this attribute must include a reference to an image file.
- id
Image tags must be formatted as selfclosing tags, i.e.: <img/>
Italic Emphasis: <em>
- The <em>tag identifies italicised text.
Jacket copy
In those cases jacket copy is present in source material, the following attribute usage is required where applicable:class="docauthor"
- class="title"
- class="isbn"
- class="publisher"
Linegroup: <div class="linegroup">
- The <div class="linegroup"> tag is used to preserve the formatting of text grouped in to line sets . The <p class="line"> tag is used to wrap the individual lines within the linegroup.
- The inclusion of a <span> element is required when line numbering is present. The attribute class="linenum"must be applied to the <span>element containing the number content. One example of books requiring this type of markup is language textbooks.
List: <ol>
The <ol> tag is used to mark up ordered lists.
If the ordered formatting is not of the decimal number type, then the type="" attribute is required to be applied to the <ol> element. The value for the type="" attribute must be a keyword marker type matching the ordering format present in the source original.
If the ordered formatting for the current instance of the <ol> element does not begin at the start of an ordered series, then the start="" attribute is required to be applied to the <ol> element. The value for the start="" attribute must be an integer corresponding to the ordinal value of the first <li> in the list.
If the ordered series of list items in the <ol> is descending, then application of the reversed="" attribute will be required. No value is required for this attribute.
When gaps occur in the ordering sequence of list items present in an <ol>, the value="" attribute must be applied to the <li> element corresponding to the point of continuation in the ordered series. The value for the value="" attribute must be an integer corresponding to the ordinal value of the list item.
List: <ul>
The <ul> tag is used to mark up unordered lists.
List item: <li>
Suppliers are required to mark up all individual items contained within a list with the <li> tag.
List item component: <span class="lic">
The <span> tag is used to isolate individual elements of information in a list item. It’s primary use is in a table of contents to differentiate between headings and page numbers.
Note reference: <a>
Note references are required to be marked up using the <a> tag.
Required attributes:
href=""
epub:type="noteref"
class="noteref"
Publishers and Suppliers are required to ensure that the <a>tag has the href=""attribute applied.
The value in the href="" attribute must correspond to the value of the id=""attribute in its associated <aside>tag.
Pagination
All page breaks occurring in the source copy are required to be indicated with one of the following elements
Inline: <span epub:type="pagebreak"></span>
Other: <div epub:type="pagebreak"></div>
Note that the <div> and <span> elements are required to be empty.
Additionally required attributes:
class="" title="" id=""
Standard
The class="" attribute must have the value page-normal.
The attribute value page-normal can be used for pagination occurring in the all major divisions of the book, i.e. frontmatter, bodymatter and backmatter.
Frontmatter
The class=""attribute is required to contain one of the following values:
The class="page-front" attribute is required when the page numbering series is not logically continued in the publication bodymatter, i.e. roman numerals.
Otherwise, the class="page-normal" is required for standard numbering forms continuing beyond frontmatter.
The <span> or <div> elements with class="page-front" must only be applied to content considered frontmatter.
Other
The class="" attribute must have the value page-special.
Examples of content requiring this markup are: an appendix not numbered in a standard manner, e.g. a1, a2, a3, or where unnumbered inserts occur. For example: suites of photography.
Paragraph: <p>
The <p> tag identifies a paragraph.
Sidebar heading: <h[x]>
Suppliers are required to mark up headings associated with sidebar content in a <h[x]>tag. The heading must be c o n t a i n e d i n t h e <aside epub:type="sidebar"> e l e m e n t .
Structural Content containers
The major divisions of the publication are represented by, and contained in, individual XHTML content files. For each content file, the <body> element is the toplevel content container for that document. The <h1>tag is required when a heading is present and must follow directly after <div epub:type="pagebreak"></div>, when present.
Further subdivisions of the content may be contained in the following elements:
- <section> The <section>element is typically used to represent subsequent heading structures occurring in the document. Heading are to be marked up using the appropriate <h2> <h6>tags. Note that the <section>element may not occur as first child to <body>.
- <aside> The <aside>element is typically used to represent sidebars. Headings associated with such content are to be captured in the <h[x]> tag and contained in the parent <aside> element.
- <article>
Subscript: <sub>
The <sub>element identifies subscripted text.
Superscript: <sup>
The <sup> element identifies superscripted text. Note that use of <sup> to identify note references is incorrect
Table: <table>
The <table> element is required when content in the source copy is presented in tabular format or tablelike format.
Table body: <tbody>
The <tbody> element is required to contain the main content of the table.
Table caption: <caption>
Suppliers are required to mark up table captions by using the <caption> tag.
Since the <caption> element is allowed only as first child to <table>, it may be necessary in some cases to relocate this content.
Table data: <td>
The <td> element is used to mark up table cell content.
Requires colspan=""and rowspan="".
The colspan="" and rowspan="" attributes are used when a single cell stretches over a number of following cells in a table row or column. The attribute must have a numerical value.
Table footer: <tfoot>
In those circumstances where the table footer clearly falls within the parent table, Suppliers are required to use <tfoot>.
In those circumstances where the table footer follows the table and is not contained within a table cell, Suppliers are required to use <p>.
Where <td> is used, the colspan="" and rowspan="" attributes are to be applied when necessary.
In those cases where a table data stretches over more than one column or row, Suppliers are required to mark up using colspan="" and rowspan="" attributes.
6. Specific Best Practices
Flow Content Restrictions
Suppliers are required to avoid certain markup structures such as combining block and inline elements in an inappropriate manner, even when allowable in the HTML5 content model.
Two examples of acceptable allowed markup using <aside> are:
Example 1:
Possible valid markup:
<aside>
Oh, see. Oh, see Jane. Funny, funny Jane.
</aside>
Example 2:
Required valid markup:
<aside>
<p>Oh, see. Oh, see Jane. Funny, funny Jane.</p>
</aside>
Example 3:
- Markup valid according to HTML5 content model, though unacceptable:
<aside>
Oh, see. Oh, see Jane. <p>Funny, funny Jane.</p>
</aside>
While the example above is valid according to the HTML5 content model it mixes content and markup inappropriately, and produces semantically and structurally unclear mark up.
Nested Lists
A nested list will require the use of a list item containing both the text content and markup for the new nested list, for example:
<ul>
<li>List item text.
<ul>
<li>List item text.</li>
<li>Next list item text.</li>
</ul>
</li>
<ul>
However, this admixture of text content and markup is considered undesirable. The <p>element is required to be used by Suppliers to solve the issue as follows:
<ul>
<li><p>List item text.</p>
<ul>
<li>List item text.</li>
<li>Next list item text.</li>
</ul>
</li>
<ul>
Images Positioned Before Headings
At the beginning of a new section Suppliers should place the image after the necessary heading markup, for example:
<section>
<div epub:type="pagebreak" title="101" id="p101" class="pagenormal"></div>
<h[x]>Heading</h[x]>
<figure>
<img src="images/image001.jpg" alt="image"/>
<figcaption>Image caption text.</figcaption>
</figure>
...
</section>
7. Best Practices for Optional Markup
Markup and notation for mathematics
MathML will be supported in Allvit
8. Fonts
General guidelines
Embedding fonts in EPUB are optional. Bokbasen recommends reading EPUB 3 Best Practices to decide on embedding fonts or not. Embedding fonts are often subject to a license. In such cases it might be required to obfuscate the font.
Font support in Allvit
Font support and selection in Allvit is not yet documented and will be published at a later stage. Contact Bokbasen for more information.
9. Multimedia
Images
The following guidelines are suggested for the inclusion of image content:
- Use the sRGB [sRGB] color space.
- Use [PNG] or [SVG] format for:
- line art/vector images;
- image fallbacks for math equations and tables;
- bitmap images containing text.
- Use [JPEG] format with 80% quality for photography and all other bitmap images.
- Do not exceed 2000 pixels on the longest dimension for block-level art.
Video
The support for embedded video is under testing in Readium and Allvit. Documentation for this feature will be ready by the end of 2018
10. Media Overlays
One important thing to note about media overlays is that the reading system is not required to support it. This means that media overlays needs to be tailored specific to the targeted reading system or ecosystem of choice.
The support for Media Overlays in Allvit are not documented at this time. This work is in progress at this time and will be published by the end of 2018.
11. Interactivity and Widgets
Allvit does not allow embedded javascript and other scripts at this point. Bokbasen is working on a specific way to tag certain widgets (i.e. photo galleries, quiz, access to external APIs using Javascript)
We are currently assessing supporting the EDUPUB Javascript APIs. This work will not be concluded soon, and it is not likely to be supported in Allvit v. 1.0.
Publishers and Suppliers are encouraged to contact Bokbasen if they have suggestions or specific elements they want to support.
12. Global Language Support
Allvit does not support right-to-left languages at this point
13. Accessibility
Section 4 describes semantic structures that are considered to by good practice.
Bokbasen encourage all Publishers and Suppliers to conform to the accessibility requirements defined in [EPUB Accessibility].
Bokbasen require all publications to conform to the requirements of the Norwegian government regarding accessibility.
14. Text-to-Speech
Bokbasen may develop services to enable text-to-speech for all publications.
15. Validation
Validator
Bokbasen uses epubcheck to validate the supplied publications.
Special Requirements
Bokbasen parses and controls the metadata structures of the publication. We require this to be in accordance with the bibliographic metadata supplied to us through Mentor or Onix APIs.
References:
This document is a compilation of the specific requirements of Bokbasens digital distribution systems, the specific requirements of the EPUB 3 format standard and the recommendations in the following works:
By Matt Garrish, Markus Gylling
Publisher: O'Reilly Media / Tools of Change
Release Date: January 2013
Language: English
By Matt Garrish
Publisher: O'Reilly Media
Release Date: September 2011
Language: English
By Matt Garrish
Publisher: O'Reilly Media / Tools of Change
Release Date: February 2012
Language: English
Useful links
Kommentarer
0 kommentarer
Logg på hvis du vil legge inn en kommentar.