← Back to blog

Make Accessible EPUBs From InDesign: EPUB Accessibility 1.2 and Alhora

October 9, 2026
Make Accessible EPUBs From InDesign: EPUB Accessibility 1.2 and Alhora

You can produce an accessible EPUB from InDesign by preparing source semantics (styles, language, alt text), choosing the correct export options, populating EPUB Accessibility metadata with the right conformsTo and WCAG level, and finishing with an EPUBCheck plus manual remediation pass. Skip any step and the file will look fine but fail for a screen reader user.

Alhora
alhora.app
Prepare EPUBs With Fewer Errors
Alhora validates manuscripts against publishing standards in real time, helping authors catch structural issues while preparing their books.
Explore Alhora

Key Takeaways

Preparing source semantics, setting proper export options, and thorough manual checks are essential for creating accessible EPUBs that meet WCAG and EPUB Accessibility standards.

PointDetails
Map styles properlyMap manuscript styles to InDesign paragraph and character styles before exporting to ensure semantic structure.
Set correct export optionsChoose EPUB 3 reflowable, enable accessibility metadata, and verify tag mapping in the export dialog.
Include accurate metadataFill in accessibility features, hazards, mode, and conform to values in package and distribution records.
Build semantic structure carefullyUse sequential heading levels, genuine hyperlinks, and correct list and table structures for better navigation.
Use Alhora workflowsAlhora's software supports real-time validation and helps catch structural issues during layout, reducing manual remediation time.

Table of Contents

1. Quick preflight: prepare your source file

Accessible EPUB export starts long before you open the Export dialog. Most remediation work traces back to a source document that never had real structure to begin with.

If your manuscript arrives from Word with ad hoc bold headers instead of true heading styles, InDesign has nothing to map. Mapping Word heading styles to InDesign styles before you lay out the book prevents imported text from becoming generic paragraphs, which is the single most common cause of flat, unnavigable EPUBs.

Four habits fix most problems before export:

  • Map manuscript styles to InDesign paragraph and character styles first, so every heading, pull quote, and caption carries real semantic meaning.
  • Set document-level language, then apply story or frame-level language overrides anywhere the text switches languages, since screen readers mispronounce unmarked passages.
  • Collect alt text and any extended descriptions in one spreadsheet or document you can audit later, rather than typing them ad hoc as you place images.
  • Mark purely decorative images in InDesign's Object Export Options so they are excluded from the accessibility tree instead of read aloud as noise.

Tables and lists deserve the same discipline. Build them with InDesign's native table and list tools rather than tabs, spaces, or manual line breaks arranged to look like a list. A layout that merely resembles a table exports as disconnected paragraphs with no header relationship for assistive technology to use.

Pro Tip: Keep your alt text spreadsheet column-matched to image file names before you start placing images: it turns a tedious post-export hunt into a five-minute copy-paste job.

Our guide to formatting an ebook for self-publishing covers the full manuscript-to-styles workflow if you're starting from a raw Word file rather than an existing InDesign template.

2. InDesign export settings checklist for accessible EPUB

Once your source file has real structure, the export dialog determines how much of that structure survives into the EPUB. Most reflowable, text-first books should export as EPUB 3, since fixed-layout removes the reflow and resizing that many assistive technologies depend on. Reserve fixed-layout for heavily illustrated titles, and treat the extra accessibility obligations (contrast, descriptions for every visual element) as mandatory rather than optional when you do.

Work through the Export dialog in this order:

  1. Confirm EPUB 3 reflowable is selected unless the book genuinely requires fixed-layout.
  2. Open the accessibility options and enable metadata export, including language and cover description fields.
  3. Enable page list generation if your edition needs to match a print page count for citations or classroom use.
  4. Review the Table of Contents settings so your navigation document reflects the real chapter structure, not just a flat list of file names.
  5. Check image export settings so alt text sources and decorative flags carry through rather than resetting to defaults.

Before you export, open Edit All Export Tags and verify every paragraph and character style maps to a sensible HTML tag. A subtitle style mapped to a plain paragraph, or a heading style mapped to a <span>, will quietly flatten your document's navigation structure with no warning in the export log.

A short checklist for the dialog itself:

  • Accessibility metadata toggle enabled, with title, author, and language fields populated.
  • Cover image description field filled in rather than left blank.
  • Export tag mapping reviewed for every custom paragraph and character style, not just the defaults.
  • Decorative image flags confirmed on background graphics, rules, and ornamental dividers.

Recent InDesign versions have improved this process. Current releases place language tags in the correct location in the output, add a dedicated decorative-image option, and expose accessibility metadata and cover description fields directly in the export dialog. These changes reduce remediation work but do not eliminate it: InDesign still generates markup that needs a human pass before it will satisfy strict conformance checks.

3. Accessibility metadata: what belongs in the package document

Accessibility metadata is what makes your EPUB discoverable and trustworthy to readers who rely on assistive technology, and it lives in the package document whether or not your retail distributor asks for it separately. The EPUB Accessibility specification requires a conformsTo property declaring both the EPUB Accessibility version and the WCAG conformance level you're claiming, alongside several schema.org fields.

The fields that matter most:

  • accessibilityFeature: lists concrete features present, such as structural navigation, alternative text, or a table of contents.
  • accessibilityHazard: flags or explicitly rules out flashing content, motion, or sound hazards.
  • accessModeSufficient: states which single sense (textual, visual) is enough on its own to consume the content.
  • conformsTo: a URI pointing to the exact EPUB Accessibility and WCAG conformance level you are claiming, such as WCAG 2.2 Level AA.

A single accurate conformsTo value matters more than any other metadata field. EPUB Accessibility Techniques recommends meeting WCAG Level A at minimum and strongly recommends Level AA, and a file that claims a conformance level it doesn't actually meet is worse than one that claims nothing.

You can populate some of these fields directly during InDesign export, but most publishers still open the exported content.opf to add or correct fields InDesign doesn't expose in its dialog. Beyond the package document itself, EPUB Accessibility Techniques also recommends including the same accessibility metadata in your ONIX distribution record, since distributors commonly rely on that record rather than the package document for storefront filtering and discoverability.

Write your accessibilitySummary in plain language describing what you actually tested, not what you hope is true. A summary claiming full WCAG AA conformance on a book you never ran through a screen reader creates a liability, not a selling point.

4. Semantic structure: headings, lists, and cross-references

Correct semantic structure is what lets a screen reader user jump between chapters, skim a table of contents by heading level, or follow an internal reference without reading the whole book start to finish. This depends entirely on the mapping you set up in Edit All Export Tags.

Three structural habits carry the most weight:

  • Keep heading levels sequential. A Heading 1 followed by a Heading 3 with no Heading 2 between them breaks the outline that screen readers use for navigation, even if the visual size difference looks fine on the page.
  • Never rely on font size alone to signal a heading. If the style isn't mapped to an <h1> through <h6> tag, it reads as a plain paragraph no matter how large the type looks.
  • Author cross-references as genuine hyperlinks pointing to stable IDs, then test every one of them after export rather than trusting that InDesign preserved the link target correctly.

Our guide to cross-references in EPUB walks through building and testing internal links so a "see Chapter 4" reference actually jumps there instead of dead-ending.

Pro Tip: Open the exported EPUB's navigation document directly in a text editor after export: a broken heading hierarchy is often more obvious reading the raw HTML than clicking through a reading app.

Page break markers and page-list navigation matter mainly for editions tied to a print page count, such as textbooks cited by page number. If your book doesn't need that correspondence, skip it. Adding a page list to a novel with no print citation need just adds navigation clutter.

5. Media and non-text content: alt text, SVGs, and audio

Alt text and long descriptions solve different problems. Alt text is a short, functional label read in place of an image. A long description is needed when an image carries information too complex for a sentence, such as a detailed chart or diagram, and it should live in the body text near the image or in a linked appendix rather than crammed into the alt attribute itself.

Work through non-text content in this order:

  1. Write alt text for every informative image, keeping it specific enough to replace the image's purpose, not just describe its appearance.
  2. Flag purely decorative images so they're excluded from the reading order entirely.
  3. For complex diagrams or charts, add a long description in the surrounding text or an appendix, and link to it from the image.
  4. If the book includes SVG illustrations, add <title> and <desc> elements inside the SVG itself and test rendering across more than one reading system before finalizing.
  5. For any synchronized audio, provide a transcript or captions covering all the content the audio conveys, since EPUB Accessibility Techniques treats complete text alternatives for audio as a standard conformance expectation.

A few items deserve a closer check:

  • Cover image descriptions need to appear in both the visible package content and the accessibility metadata field, since InDesign's export doesn't always sync the two automatically.
  • SVGs that render correctly in one app can fail silently in another, so a cross-reading-system check is worth the extra few minutes.
  • Transcripts should be text, not a second audio file, so they're usable by readers who need text rather than sound.

Our guide to images in EPUB goes deeper on alt text phrasing and decorative-image handling if you're formatting an image-heavy title.

6. Tables and other complex elements: preserving data relationships

A table that looks correct visually can be meaningless to a screen reader if the header relationship between rows and columns didn't survive export. Build tables in InDesign using its actual table tool, with header rows explicitly set as headers, rather than using tabbed text positioned to resemble a grid.

Table header cells linked to their data

A short caption or summary sentence placed near the table helps sighted and non-sighted readers alike understand what the data shows before they dig into individual cells, and it gives you a natural place to state units or context that wouldn't fit in a cell.

Three checks worth running on every table before you call it done:

  • Confirm header rows and columns are tagged as headers in the exported markup, not just styled to look bold.
  • Add a caption summarizing what the table shows, especially for data-dense tables with more than a handful of rows.
  • Test the table in a screen reader to confirm it announces row and column headers as you move through cells, and hand-edit the XHTML table markup if the automated export didn't preserve those relationships correctly.

Tables used purely for visual layout, rather than tabular data, should generally be rebuilt as styled paragraphs instead. A layout table forces assistive technology to announce row and column positions that mean nothing to the reader.

7. Validation and testing workflow: EPUBCheck and manual audits

EPUBCheck is the reference validator for EPUB files and the first stop in any accessibility workflow, but a clean EPUBCheck result confirms structural validity, not a good reading experience.

Run your validation pass in this sequence:

  1. Run EPUBCheck immediately after export and read every error and warning rather than skimming for the total count.
  2. Fix structural issues first: broken references, missing required metadata, malformed XHTML.
  3. Re-run EPUBCheck after each round of fixes until it returns clean for structural issues.
  4. Move to manual checks: confirm per-file lang attributes, inspect heading hierarchy in the raw markup, and read alt text for actual usefulness rather than just presence.
  5. Test keyboard navigation and run at least one real screen reader pass, documenting what you checked and what you found.

A checklist worth keeping on file for every title:

  • Per-file language attributes present on every XHTML content document, not just the package document.
  • Heading hierarchy reviewed directly in the exported HTML, not just visually in a reading app.
  • Internal links and cross-references clicked and confirmed to land on the right target.
  • At least one screen reader and one standard reading app used for a spot check before release.

EPUBCheck cannot tell you whether your alt text is actually useful, whether your color contrast meets WCAG thresholds, or whether your reading order makes sense out loud. EPUBCheck validates structure and metadata presence, but InDesign exports frequently produce visually clean but structurally unsemantic markup that passes automated checks while still failing a real reader.

Our EPUB accessibility checklist built on WCAG and EPUB Accessibility 1.2 turns these steps into a repeatable production task list if you're running this workflow across a backlist rather than a single title.

8. Post-export remediation: editing XHTML, CSS, and ARIA

Even a well-prepared InDesign file usually needs a short editing pass after export. Unzip the EPUB (it's a standard ZIP archive with a .epub extension) and open the content files along with content.opf directly in a text or code editor.

Look for these issues first:

  • Missing or incorrect lang attributes on individual XHTML files, which InDesign sometimes fails to apply even when the document-level language is set correctly.
  • Headings that exported as plain paragraphs because an export tag mapping was missed, which you fix by correcting the tag in the HTML directly or re-exporting after fixing the style mapping.
  • A missing or incorrect conformsTo value in content.opf, which you add or correct by hand if InDesign's export didn't populate it.

Add ARIA roles sparingly and only where native HTML semantics fall short. Reading systems generally rely on native HTML elements and the EPUB-specific epub:type attribute more consistently than on generic ARIA roles, so reserve ARIA for genuine gaps rather than applying it as a blanket fix.

Pro Tip: Keep a plain-text log of every manual edit you make post-export: the next title in the same series will likely need the same three or four fixes, and the log turns remediation into a five-minute checklist instead of a rediscovery exercise.

Once your edits are in place, repackage the EPUB, run EPUBCheck again, and do at least one more reading-system spot check before calling the file final.

9. Practitioner notes: how a real-time validator shortens the loop

The validate-remediate cycle above, export, check, fix, re-export, repeat, is where most of the time in accessible EPUB production actually goes. A formatting tool that checks your file against publishing standards as you build it, rather than only after a full export, cuts the number of round trips significantly.

This is the gap our own typesetting software is built to close:

  • Real-time validation against publishing standards flags heading mapping and structural issues while you're still laying out the book, not after a ten-minute export.
  • A built-in typesetting engine handles the paragraph and character style mapping that otherwise causes flattened headings on export.
  • Cross-reference testing and SVG validation catch broken internal links and malformed SVGs before they reach a final file.
  • Export methods built for KDP, IngramSpark, and other distribution targets reduce the number of separate export configurations you have to maintain.

None of this replaces human judgment. A tool can confirm your conformsTo value is present and your heading levels are sequential, but it cannot tell you whether your alt text actually describes the image usefully or whether your reading order makes sense read aloud. Real-time validation shortens the loop; it doesn't close it.

Author perspective: practical priorities for busy production teams

If you only have time to do three things well, do these: fix your source semantics before you touch the export dialog, choose reflowable EPUB whenever the book allows it, and write your accessibility metadata like you'll be asked to defend it.

Source semantics are the highest-leverage fix in the whole workflow. A heading style mapped correctly in your template saves you from hand-editing dozens of files later. Fixed-layout has its place for heavily illustrated books, but it demands real attention to contrast and image descriptions that reflowable text mostly sidesteps by nature.

The metadata and QA documentation you write isn't just for your own records. Distributors and rights managers increasingly expect an accurate accessibility summary and a conformsTo value that matches what you actually tested, not what you assumed. Treat that documentation as part of the deliverable, not an afterthought you write the night before submission.

— James

How Alhora helps you export accessible EPUBs

We offer typesetting software designed to catch structural issues during the layout process, rather than only after export. Real-time validation against publishing standards can flag heading and style mapping problems during layout, with tools to check cross-references and SVGs before export, and export support for popular distribution targets helps reduce manual configuration.

Alhora

What this doesn't do is replace the manual review this guide walks through: alt text still needs a human eye, reading order still needs a real screen reader pass, and your accessibility summary should still describe exactly what you tested. We built the workflow to shorten the validate-remediate loop, not to skip it.

If you want to see how this fits your own production pipeline, our ebook formatting software page covers EPUB export and validation features in detail, and Alhora is 99 GBP one-off for a license.

FAQ

What makes an EPUB file accessible?

An accessible EPUB combines correct semantic structure (real headings, lists, and tables rather than visual approximations), useful alt text and descriptions for non-text content, and accurate accessibility metadata including a conformsTo property. Meeting WCAG Level AA is strongly recommended over the Level A minimum.

Does InDesign export accessible EPUB files automatically?

InDesign exports accessibility metadata fields and correct language tag placement when you enable the right export options, but it does not guarantee a fully accessible result on its own. InDesign exports frequently produce clean-looking but unsemantic markup that still needs a manual remediation pass before it meets strict conformance standards.

What is the conformsTo metadata property for EPUB?

The conformsTo property in the package document is a URI declaring which EPUB Accessibility specification version and WCAG conformance level a publication meets. EPUB Accessibility Techniques requires this property for any formal accessibility conformance claim.

Can EPUBCheck confirm my book is accessible?

EPUBCheck validates structural issues like malformed XHTML, missing required metadata, and packaging errors, but it cannot evaluate whether your alt text is useful or your reading order makes sense when read aloud. A clean EPUBCheck result is necessary but not sufficient for genuine accessibility.

Why do I need per-file language attributes if I already set the document language?

Screen readers read the language attribute on each individual content file to choose pronunciation, so a document-level language setting alone is not enough. Missing per-file language attributes are a frequent cause of mispronunciation in multi-language ebooks, especially around foreign-language quotes or chapter titles.

Sources