Contact emails
felip...@igalia.com
Specification
https://html.spec.whatwg.org/#attr-template-shadowrootslotassignment
Summary
Adds the shadowrootslotassignment attribute to the <template> element, allowing declarative shadow roots to use manual slot assignment. Until now this option was only available imperatively, via attachShadow({slotAssignment: "manual"}), so components that rely on manual assignment could not create their shadow roots declaratively. The attribute accepts "named" (the default, preserving current behavior) and "manual", and is reflected by the shadowRootSlotAssignment property on HTMLTemplateElement.
Blink component
Blink>DOM>ShadowDOM
Web Feature ID
declarative-shadow-dom
Risks
Debuggability
No new DevTools work required. The attribute is visible in the Elements panel like the other shadowroot* attributes, and the resulting shadow root's mode is already exposed via ShadowRoot.slotAssignment.
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Yes
https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-repeats-slot-assignment.html
https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment.html
https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment-serialization.html
Tracking bug
https://issues.chromium.org/issues/493315747
Estimated milestones
| Shipping on desktop | 151 |
| Shipping on Android | 151 |
| Shipping on WebView | 151 |
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5203283359694848