dom
dom copied to clipboard
Composed tree infrastructure
The DOM Standard defines terminology for trees at https://dom.spec.whatwg.org/#trees, it defines terminology for crossing the shadow tree boundary at https://dom.spec.whatwg.org/#interface-shadowroot, but it doesn't define terminology around a tree that is composed of the light and shadow trees. It only does so indirectly for events.
Initially I thought this to be an adequate setup as CSS would take care of that, but it turns out other features also care about the composed tree, such as https://github.com/whatwg/html/issues/3821 (title attribute) and https://github.com/whatwg/html/issues/3699 (bidi; likely anyway). I suspect we'll need it for focus too.
And this would likely make things easier for CSS as well to define the flat tree.
(And for clarity, my understanding is such that a composed tree includes unassigned nodes (e.g., fallback), whereas a flat tree does not.)
cc @tabatkins @whatwg/components