Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
EPUB 3 Best Practices
Preface
The Future
How to Use This Book
Conventions Used in This Book
Using Code Examples
Credits
Acknowledgments
Safari® Books Online
How to Contact Us
Introduction
1. Package Document and Metadata
Vocabularies
The Default Vocabulary
The Reserved Vocabularies
Using Other Vocabularies
The All-Powerful meta Element
Publication Metadata
The Package Document Structure
The metadata Element
Identifiers
Types of Titles
The Manifest and Spine
The manifest and Fallbacks
The spine
Document Metadata
Links and Bindings
Metadata for Fixed Layout Publications
The Container
2. Navigation
The EPUB Navigation Document
Building a Navigation Document
Repeated Patterns
Navigation Labels
Table of Contents
Hiding Content
Landmarks
Page List
Extensibility
Adding the Navigation Document
Embedding as Content
Hiding Lists
Styling Lists
The NCX
3. Content Documents
Terminology Refresher
XHTML
New in HTML5
EPUB Support Gotchas
DTDs Are Dead
Linking and Referencing
EPUB Canonical Fragment Identifiers
Content Chunking
epub:type and Structural Semantics
Adding Semantics
Multiple Semantics
MathML
SVG
Fixed Layouts
Covers
Styling
EPUB CSS Profile
CSS 2.1
CSS3
Media Queries
Namespaces
Fonts
Multicolumn Layout
Writing Modes, Text, and Speech
Additional Support
Ruby
Headers and Footers
Alt Style Tags
CSS Resets
Fallback Content
Manifest Fallbacks
Content Fallbacks
The epub:switch element
Bindings
4. Font Embedding and Licensing
Why Embed Fonts?
Maybe You Shouldn’t
Historically, reading system support for font embedding has been poor and inconsistent
Embedding adds complexity
Device makers have already done the work for you
Embedding inflates file size
Maybe You Should
Embedding to be forward-thinking
Embedding to create a consistent look and feel across “platforms”
Embedding for improved glyph coverage
Embedding for specialized or technical reasons
Font Embedding in EPUB 3
How to Embed Fonts
Add the Font to Your EPUB Package
Include the File in the EPUB Manifest
Reference the Font in the EPUB CSS
Obfuscating Fonts
Subsetting a Font
Licensing Fonts for Embedding in EPUB
Use an Open Font
Contact the Foundry Directly
5. Multimedia
The Codec Issue
The Media Elements
Sources
Size matters
Optimizing Playback
Preloading
Another Option
Control
Posters
Dimensions
The Rest
Timed Tracks
Fallbacks
Alternate Content
Triggers
6. Media Overlays
The EPUB Spectrum
Overlays in a Nutshell
Synchronization Granularity
Constructing an Overlay
Sequences
Parallel Playback
Adding to the Container
Styling the Active Element
Structural Considerations
Advanced Synchronization
Audio Considerations
7. Interactivity
First Principles: Interaction Scope and Design
Progressive Enhancement
Procedural Interaction: JavaScript
JavaScript in EPUB 2
The EPUB 3 epubReadingSystem Object
Detect features
Use preventDefault to avoid reading system default behavior
Always query epubReadingSystem!
Inclusion Models
Container-constrained scripts
Spine-level scripting
Ebook State and Storage
Identifying Scripted Content Documents
Creating fallbacks
Animation and Graphics: Canvas
Best Practices in Canvas Usage
Canvas in a Nonscripted Reading System
Object
Other Graphical Interaction Models
Accessibility and Scripting Summary
8. Global Language Support
Characters and Encodings
Unicode
Declaring Encodings
Private Characters
Names
Specifying the Natural Language
Vertical Writing
Writing Modes
Page Progression Direction
Global Direction
Content Direction
Ruby and Emphasis Dots
Ruby
Emphasis Dots
Line Breaks, Word Breaks, and Hyphenation
Itemized Lists
9. Accessibility
Accessibility and Usability
Fundamentals of Accessibility
Structure and Semantics
Data Integrity
Separation of Style
Semantic Inflection
Language
Logical Reading Order
Sections and Headings
Context Changes
Lists
Tables
Figures
Images
SVG
MathML
Footnotes
Page Numbering
Styling
Avoiding Conflicts
Color
Deficiencies
Contrast
Luminosity
Hiding Content
Emphasis
Fixed Layouts
Image Layouts
Mixed Layouts
Text Layouts
Interactive Layouts
Scripted Interactivity
Progressive Enhancement
WAI-ARIA
Custom controls
Forms
Live regions
Canvas
Metadata
10. Text-to-Speech (TTS)
PLS Lexicons
SSML
CSS3 Speech
11. Validation
epubcheck
Installing
Running
Options
Validating EPUB archives
Validating unpacked EPUBs
Validating EPUB component files
Assessment reports
Help
Reading Errors
Beyond the Command Line
Web Validation
Graphical Interface
Commercial Options
Understanding Errors
Common XML Errors
Document errors
Element errors
Attribute errors
Character encoding
Linking errors
Container Errors
Package Validation
Content Validation
Entity errors
Style
Scripting
Accessibility
Colophon
Index
Copyright
← Prev
Back
Next →
← Prev
Back
Next →