v151 · html · web components · covered on mdn
Declarative shadow DOM: shadowrootslotassignment attribute
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.
this feature is documented on MDN
MDN's reference covers the reflecting property in full — values (named/manual), the relationship to attachShadow({slotAssignment}), examples, specifications, and browser compatibility — and the <template> element reference documents the content attribute itself. gendn doesn't duplicate that here.
Why gendn doesn't duplicate MDN: this site exists for Chrome features that have no MDN reference yet. When MDN covers a feature completely, the honest page is a pointer to the canonical reference plus the shipping metadata MDN doesn't track — duplicated prose would only drift out of sync.
quick reference
| The change | Declarative shadow DOM (<template shadowrootmode>) gains the shadowrootslotassignment content attribute, bringing manual slot assignment (slotAssignment: "manual", where nodes are distributed only via slot.assign()) to server-rendered shadow roots with no JavaScript required at creation time |
|---|---|
| Values | named (default — current behavior, slots matched by slot/slot="" names) · manual (nodes assigned imperatively via HTMLSlotElement.assign()) |
| Chrome status | Enabled by default in Chrome 151 (the milestone listing is authoritative, verified 2026-07-28) |
| Spec | HTML Standard — the shadowrootslotassignment attribute |
| MDN | HTMLTemplateElement.shadowRootSlotAssignment · <template> element · HTMLSlotElement.assign() |
| Vendor positions | Firefox and Safari standards positions recorded on the ChromeStatus entry |
| ChromeStatus | 5178682139344896 — Declarative shadow DOM: shadowrootslotassignment attribute |
| Interactive demos | Chrome Platform Showcase — this feature (HEAD-checked 200, 2026-07-28) |