DOMツリー

文書木 (DOM)

[18] 文書節点木を、文書木 (document tree) といいます >>17

[1] CSS選択子では文書から構築される木構造のことを文書木 (document tree) と呼んでいます。 CSS継承選択子一致などの操作はこの文書木に対して定義されています。

仕様書

呼称

[2] 文書木のことを DOM木、 (固有名詞ではなく一般名詞の) DOM と呼ぶことがあります。

[3] CSS における木構造は必ずしも DOM を使って実装する必要はありませんが、 現実に Webブラウザーに実装される以上 DOMCSS文書木は同一ないし非常に近い関係にある構造体として保持する必要があり、 あまり厳密に区別されません。

節点木

[12] 節点属するを、 節点木 (node tree) といいます >>11

[16] 主たるである光木と、付随する影木などがあります。

XBL 時代の影木

[4] XBL影木を定義しています。

[5] 選択子一致継承などに関して、 XBL1 では影木は本来の文書木と透過的に接続されているものとみなされ、 XBL2 では束縛ごとに指定できます。影木にまたがる選択子一致に関しては複雑な規則があります。

[8] 擬似クラス擬似要素影木の影響を受けないことになっていましたが、 :target::selection::first-line::first-letter::before::after:lang() あたりとの相互作用がどうなるのかは気になるところです。

WebVTT

[10] WebVTT に対して選択子が適用される場合、WebVTT中間節点オブジェクトなどから構成される仮想的な文書木が想定されることになっています >>9

DOM 操作

[13] 文書木に対する変更操作を、一般にDOM操作などといいます。

[14] 次のような操作があります。

[21] 影木に関する操作も含めるかもしれません。

[15] こうした操作の発生源については、変異を参照。

関連

[20] 文書木中とは、文書またはその子孫であることをいいます。

歴史

[22] ブラウザのしくみ: データ構造とアルゴリズムと雰囲気で理解する DOM と Shadow DOM — hayato.io () <https://hayato.io/2017/dom/>

[23] Modernizing the DOM tree in Microsoft Edge - Microsoft Edge Dev BlogMicrosoft Edge Dev Blog () <https://blogs.windows.com/msedgedev/2017/04/19/modernizing-dom-tree-microsoft-edge/>

[24] A node doesn't have an associated tree (annevk著, ) <https://github.com/whatwg/dom/commit/06dae6577f55af9ef2ff8228ac1a8a60b9f68cb3>

[25] "node's tree" seems to be an undefined concept · Issue #526 · whatwg/dom () <https://github.com/whatwg/dom/issues/526>

[26] A node doesn't have an associated tree by annevk · Pull Request #599 · whatwg/dom () <https://github.com/whatwg/dom/pull/599>