palpable content

触知可能内容

[8] 触知可能内容 (palpable content) は、空白でない文字列や、“実体”があると言えるような要素を含む分類です。内容モデルフロー内容語句内容であるような要素は、最低1つは触知可能内容であることが求められています。言い換えると、そのような要素は、実質的に空と言える状態になってはいけません。

[9] 例えば p 要素内容モデル語句内容ですから、この規定が適用されます。 p 要素内容が空であったり、空白文字しかなかったり、 br 要素script 要素しかなかったりすると、これらはいずれも触知可能内容ではありませんから、不適切です。

仕様書

一覧

[14] 触知可能内容の一覧は >>7 にあります。

[15] 機械可読の一覧データは https://raw.github.com/manakai/data-web-defs/master/data/elements.json に含まれています。

[19] 要素間空白以外のテキストは、触知可能内容です。

[20] 自律カスタム要素は、触知可能内容です。

文書の適合性

[10] 内容モデルフロー内容語句内容を認めている要素内容には最低でも1つは触知可能内容であり hidden 属性が指定されていないものが含まれているべきです >>7

[11] ただしこれは完全な要求ではなく、するべきあるというレベルの要件となっており、 従わない正当な理由がある場合には満たさなくても良いこととされています。これは、 この要件が満たされず要素が空となるのも正当たる場合が多々あるからです >>7

[12] 例えば、あとからスクリプトによって埋められる予定の要素や、 雛形の一部として使われていてあるページでは使われるものの別のページでは使われないような要素は、 空であっても良いでしょう >>7

[16] del 要素触知可能内容ではありませんから、例えば td 要素の内容が del 要素しかない場合、この要件に違反してしまいます。 しかし、こまの内容がすべて削除されたことを表したい時、他に方法がなく、 また文書の構造として不自然とは思えませんから、触知可能内容を含まない正当な理由と言えると考えられます。

[13] 適合性検査器はこの要件を満たさない要素を探す手段を提供することが勧められています (encouraged) >>7

歴史

[4] HTML5 は初期から significant inline content として空白でない文字列や埋め込み内容ブロック水準要素に含まれることを要求していました。

[5] その後要件は緩和され、「significant inline content」という用語は使われなくなりましたが、同様の要件は残っていました (>>2)。

[6] 2011年になって改めて整理され、触診可能内容が含まれないといけないという現在の要件になりました。

[17] Web Applications 1.0 r8000 Integrate <template> into HTML. ( ( 版)) http://html5.org/tools/web-apps-tracker?from=7999&to=8000

[18] Clarify what "palpable content" is · whatwg/html@d5c748a ( 版) https://github.com/whatwg/html/commit/d5c748a16c984d18eb039bbd885a519c96a90b26

[21] 22697 – API to detect palpable content, so you can tell in an editor if a paragraph is empty () https://www.w3.org/Bugs/Public/show_bug.cgi?id=22697