nav.xhtmlとepub:typeの解説|目次と構造の意味づけ

目次を書くnavと、構造の意味を示すepub:typeの使い方

分類:EPUBの基礎 最終更新日:2026年10月11日 読む目安:約6分

この記事のポイント

  • nav.xhtmlは、EPUB 3で必須のナビゲーション文書。toc(目次)が必須で、landmarksとpage-listは任意
  • epub:typeは、要素の構造上の意味(章・表紙・奥付など)を示す属性で、語彙はEPUB Structural Semantics Vocabularyにまとめられている
  • landmarksの各項目には、epub:typeの値が必要。KDPで出すなら、目次の条件も確認する

EPUB 3の目次は、nav.xhtmlというファイルに書きます。そこで使われるnav要素と、epub:type属性は、初めて見ると少し分かりにくい部分です。

この記事では、ナビゲーション文書の書き方と、epub:typeの意味を、EPUB 3.3の仕様で確認できた範囲で整理します。

先に知っておきたいこと

ナビゲーション文書は、必ず必要

EPUB 3.3の仕様は、EPUBの出版物に、ナビゲーション文書を含めることを求めています。XHTMLで書き、パッケージ文書のmanifestでは、properties="nav"を付けて登録します(content.opfの書き方|タグと属性の意味を整理を参照)。

目次は、リーダーの案内として使われる

ナビゲーション文書は、リーダーが目次などの案内を作るためのものです。本文として読ませる目次ページを別に作ることもありますが、それとは別の役割です。KDPの目次の考え方は、後の節で触れます。

nav要素の種類

ナビゲーション文書には、nav要素を1つ以上書けます。種類は、epub:typeで指定します。

種類役割仕様での扱い
toc目次必須
landmarks表紙・本文の開始など、主要な場所への案内任意
page-list紙の本のページ番号との対応任意

最小の例

この記事のために新しく書いた例です。実際に使うときは、EPUBCheckなどで確認してください。

<?xml version="1.0" encoding="UTF-8"?>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="ja">
  <head>
    <title>目次</title>
  </head>
  <body>
    <nav epub:type="toc">
      <h1>目次</h1>
      <ol>
        <li><a href="chapter1.xhtml">第一章</a></li>
        <li><a href="chapter2.xhtml">第二章</a></li>
      </ol>
    </nav>
    <nav epub:type="landmarks" hidden="">
      <ol>
        <li><a epub:type="bodymatter" href="chapter1.xhtml">本文</a></li>
      </ol>
    </nav>
  </body>
</html>

xmlns:epub="http://www.idpf.org/2007/ops"は、epub:typeを使うための名前空間の宣言です。

toc navの書き方

仕様では、toc navは、順序つきリスト(ol)に、1つ以上のリスト項目(li)を入れます。各項目は、リンク(a要素)か、見出しだけを示すspan要素のどちらか1つで書きます。spanの場合は、そのあとに入れ子のolが続きます。

階層を作るときは、liの中に、さらにolを入れ子にします。

<ol>
  <li>
    <a href="chapter1.xhtml">第一章</a>
    <ol>
      <li><a href="chapter1.xhtml#sec1">第一節</a></li>
    </ol>
  </li>
</ol>

landmarks navの書き方

landmarksは、本の主要な構成要素(表紙、本文の開始など)への案内です。仕様は、各liのa要素に、epub:typeで、案内の種類を示す値を付けることを求めています。

仕様は、nav要素にhidden属性を付けて、画面に表示しないようにできると説明しています。

epub:typeとは

epub:typeは、要素の構造上の意味を示す属性です。仕様は、制作者が内容の構造上の意味を表すための属性だと説明しています。見た目を変えるものではなく、「この部分は何か」を伝えるものです。

使える値は、EPUB Structural Semantics Vocabularyにまとめられています。主な値と、その定義(要約)です。

値意味
cover作品を紹介する部分(表紙)
titlepage作品の扉
frontmatter本文の前の部分(目次、献辞など)
bodymatter本文
backmatter本文の後の部分(索引、付録など)
chapter作品の主要な章
colophon版に関する制作情報の短い節(奥付など)
toc主な見出しへのリンクの順序つきの一覧(目次)
landmarks出版物の中の、よくある構成要素への参照の集まり
footnote参照される文に関する補足の情報(脚注)
endnotes作品や節の終わりにある注の集まり
noteref注への参照(上付きの数字や記号など)
index主要な主題へのリンクの一覧(索引)
glossary用語の簡単な辞書
bibliography引用された外部資料の一覧

使う場所の例

<section epub:type="chapter">
  <h1>第一章</h1>
</section>

epub:typeは、sectionやa、nav、asideなどの要素に付けます。

複数の値と、独自の語彙

epub:typeは、半角スペースで区切って、複数の値を並べられます。標準の語彙にない値を使うときは、語彙の宣言が必要です。パッケージ文書ではpackage要素のprefix属性、コンテンツ文書ではルートのhtml要素のepub:prefix属性で宣言します(名前空間のないprefix属性は、RDFa用の別の属性です)。

未知の値の扱い

語彙は、定められた使いどころに合わない使い方を、リーダーが無視することがあると書いています。この記事の確認時点で、リーダーごとのepub:typeの扱いを比べた公式の情報は確認できていません。

KDPでの目次の考え方

KDPのヘルプ(ナビゲーションのガイドライン)では、次のように案内されています。

  • 本文として読む目次(HTMLの目次)は、本の先頭に置く。項目はHTMLのリンクにして、tableタグで作らない。ページ番号は書かない
  • 論理的な目次(NCX、またはEPUB 3のnav)は、特に20ページを超える本で重要。Kindleは、2階層までの入れ子に対応している

詳しくは、EPUB変換で崩れる原因と対策6つ|注意点まとめの「目次とメタデータの不足」を参照してください。

結論:navは目次、epub:typeは意味づけ

項目役割ポイント
nav(toc)目次の案内必須。olとliとリンク
nav(landmarks)主要な場所への案内任意。各項目にepub:type
epub:type構造上の意味の表示語彙はStructural Semantics Vocabulary

よくある質問

nav.xhtmlがないと、どうなりますか?

EPUB 3.3の仕様では、ナビゲーション文書は必須です。ないと、仕様に合わないEPUBになります。

epub:typeは、必ず付ける必要がありますか?

toc navには必要ですが、本文のsectionなどに付けるかどうかは、任意です。付けると、構造が分かりやすくなります。

EPUB 2のtoc.ncxは、もう要りませんか?

EPUB 3.3の仕様では、NCXは旧来の機能とされ、必須ではありません。ただし、KDPのヘルプには、論理的な目次として、NCXまたはEPUB 3のnavが挙げられています。

参考リンク

情報は変わることがあります。最新の内容は、各公式サイトで確認してください。

Word原稿を、そのままKindle本に

会員登録(無料)のあと、Wordの原稿をアップロードしてテンプレートを選ぶだけです。

変換する