[5] [CODE(HTMLe)@en[[[html]]]] [[要素]]の 
[DFN[[CODE(HTMLa)@en[[[manifest]]]]]] [[属性]]は、[[キャッシュマニフェスト]]の
[[URL]] を指定するものです [SRC[>>4]]。

* 代替

[17] 現在では [[AppCache]] より [[Service Workers]] を使うのが好ましいと考えられています。

* 仕様書

[REFS[
- [4] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2014-08-06 23:12:09 +09:00]] 版) <http://www.whatwg.org/specs/web-apps/current-work/#attr-html-manifest>
]REFS]

* 文脈

[8] この[[属性]]は [CODE(HTMLe)@en[[[html]]]] [[要素]]に指定できます。

[9] [[根要素]]以外の [CODE(HTMLe)@en[[[html]]]] [[要素]]に指定することは特に禁止はされていませんが、
意味を持ちません。

* 構文

[6] [[属性値]]は、 [[valid non-empty URL potentially surrounded by spaces]]
でなければ[['''なりません''']] [SRC[>>4]]。

;; [7] [CODE(HTMLe)@en[[[base]]]] [[要素]]より前に現れますから、
[[相対URL]]の場合、 [CODE(HTMLe)@en[[[base]]]] [[要素]]を考慮しない[[文書の基底URL]]
に対して[[解決]]されます。

* IDL 属性

[10] [[スクリプト]]からこの[[属性]]を変更しても意味がないため、
[[反映]]する[[IDL属性]]は用意されていません。

* 処理

[11] この[[属性]]は、文書の読み込み中に [[HTML構文解析器]]や
[[XML構文解析器]]から[[応用キャッシュ選択アルゴリズム]]が呼ばれることによって処理されます。

;; [[application cache download process]] でも参照されることがあります。

[12] この[[属性]]は[[構文解析]]の時点で参照されるだけで、
なおかつ当該[[要素]]が[[スクリプト]]からアクセスできるよりも前なので、
[[スクリプト]]による一切の変更は影響を持ちません。

[15] [[サービスワーカー]]が使われている時は、そちらが優先されます。

* 例

[1]

[PRE(HTML invalid example code)[
<html><html manifest=myapplication.manifest>
]PRE]

のような[[不適合]]な [[HTML]] [[文書]]では、
2つ目の [CODE(HTMLe)@en[[[html]]]] [[開始タグ]]の [CODE(HTMLa)@en[[[manifest]]]]
[[属性]]も [[DOM]] 上の [CODE(HTMLe)@en[[[html]]]] [CODE(DOMi)@en[[[Element]]]]
[[節点]]の [[DOM属性]]になりますが、実際に[[マニフェスト]]として処理は''されません''。

;; [[マニフェスト]]としての処理は最初の [CODE(HTMLe)@en[[[html]]]] [[開始タグ]]の時点で行われます。

([[名無しさん]])

[2]
>>1 と同じ理由で、
[PRE(HTML bad illegal example code)[
aa<html manifest=app.manifest>
]PRE]

のように[[開始タグ]]の前に[[文字列]]や他の[[タグ]]がある場合も [CODE(HTMLa)@en[[[manifest]]]]
[[属性]]の処理は行われません。

;; [3] ここでいう処理というのは[[応用キャッシュ選択算法]]の実行のことです。

* 関連

[20] [[Web App Manifest]] とは無関係です。

* 歴史

[13] [CITE@en[Manifest for web application]]
( ([TIME[2015-02-11 04:49:18 +09:00]] 版))
<http://www.w3.org/TR/2015/WD-appmanifest-20150212/>

[14] [CITE@en[Integrate Fetch into HTML · whatwg/html@7c5555a]]
([TIME[2015-09-18 19:40:18 +09:00]] 版)
<https://github.com/whatwg/html/commit/7c5555a16f2920c02244c10756bb2f1a11e87a22>

[16] [CITE@en[Bypass appcache in favor of a service worker · whatwg/html@8d239dd]] ([TIME[2015-10-07 00:01:50 +09:00]] 版) <https://github.com/whatwg/html/commit/8d239ddca97d70312b5c341c540cf06c316bbd81>

[18] [CITE@en[URLs are parsed and produce records · whatwg/html@30bc255]]
([TIME[2016-02-14 23:06:28 +09:00]] 版)
<https://github.com/whatwg/html/commit/30bc2557105ad62881ec9670f253febbc9761b44>

[19] [CITE@en[Editorial: synchronize with the DOM Standard · whatwg/html@21c6ec7]]
([TIME[2016-03-20 18:16:57 +09:00]] 版)
<https://github.com/whatwg/html/commit/21c6ec77594eb89b836d4872222f5916910967fd>

[21] [CITE@en[Align Fetch's destination concept with changes in Fetch]]
([[sideshowbarker]]著, [TIME[2016-07-05 02:46:14 +09:00]])
<https://github.com/whatwg/html/commit/5e8f96a85d182d36c177db0d6fdde58b4ded86d4>

[22] [CITE@en[Editorial: Add removal note at <html manifest> definition]]
([[sideshowbarker]]著, [TIME[2016-12-15 01:01:39 +09:00]])
<https://github.com/whatwg/html/commit/60e19b690c75c71740be28dc2fe16f25d8841c99>