LGTM2 (since we are catching up, our documentation requirements are lowered)
/Daniel On 2026-07-01 16:39, Yoav Weiss (@Shopify) wrote:
I'd appreciate an explainer (even an inline one) that explains what this does and how we expect developers to use it.On Monday, June 29, 2026 at 11:24:59 PM UTC+2 Chris Harrelson wrote: LGTM1 On Fri, Jun 26, 2026 at 5:34 AM Chromestatus <[email protected] <mailto:[email protected]>> wrote: *Contact emails* [email protected] *Specification* https://html.spec.whatwg.org/#attr-template-shadowrootslotassignment <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 <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EDOM%3EShadowDOM%22> *Web Feature ID* declarative-shadow-dom <https://webstatus.dev/features/declarative-shadow-dom> *Motivation* slotAssignment is fixed at shadow root creation, so components using manual slot assignment could not adopt declarative shadow DOM. The gap was raised in https://github.com/WICG/webcomponents/issues/967 <https://github.com/WICG/webcomponents/issues/967> and specified in the HTML Standard via https://github.com/whatwg/html/pull/12267 <https://github.com/whatwg/html/pull/12267> . Both Gecko and WebKit have implemented the attribute, so shipping in Chromium completes cross-engine support. This feature is opt-in and the default ("named") is unchanged. *Initial public proposal* /No information provided/ *Search tags* shadow <http:///features#tags:shadow>, DOM <http:///features#tags:DOM>, slot <http:///features#tags:slot> *TAG review* /No information provided/ *TAG review status* Not applicable *Goals for experimentation* None *Risks* *Interoperability and Compatibility* Low risk. The new behavior is opt-in: it only applies when a page explicitly sets shadowrootslotassignment="manual", and the default ("named") matches current behavior, so existing content is unaffected. The attribute is specified in the HTML Standard (merged via https://github.com/whatwg/html/pull/12267 <https://github.com/whatwg/html/pull/12267>, originally raised in https://github.com/WICG/webcomponents/issues/967 <https://github.com/WICG/webcomponents/issues/967>) and both Gecko and WebKit have already implemented it, so shipping in Chromium completes cross-engine support. The change is guarded by the ShadowRootSlotAssignment feature flag: currently experimental, aiming to enable it by default from M151 and then retained as a kill switch (expected to be removed around M153). /Gecko/: Shipped/Shipping (https://bugzilla.mozilla.org/show_bug.cgi?id=2023824 <https://bugzilla.mozilla.org/show_bug.cgi?id=2023824>) /WebKit/: Shipped/Shipping (https://bugs.webkit.org/show_bug.cgi?id=310090 <https://bugs.webkit.org/show_bug.cgi?id=310090>) https://github.com/WebKit/standards-positions/issues/631 <https://github.com/WebKit/standards-positions/issues/631> /Web developers/: Positive (https://github.com/WICG/webcomponents/issues/967 <https://github.com/WICG/webcomponents/issues/967>) /Other signals/: https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement/shadowRootSlotAssignment <https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement/shadowRootSlotAssignment> *WebView application risks* Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications? The new behavior is opt-in, the default behavior remains unchanged, and pages that do not use the attribute are unaffected. *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 *Is this feature fully tested by web-platform-tests <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?* 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-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.html> https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment-serialization.html <https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment-serialization.html> *Flag name on about://flags* /No information provided/ *Finch feature name* ShadowRootSlotAssignment *Rollout plan* Will ship enabled for all users *Requires code in //chrome?* False *Tracking bug* https://issues.chromium.org/issues/493315747 <https://issues.chromium.org/issues/493315747> *Estimated milestones* Shipping on desktop 151 Shipping on Android 151 Shipping on WebView 151 *Anticipated spec changes* Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way). /No information provided/ *Link to entry on the Chrome Platform Status* https://chromestatus.com/feature/5178682139344896?gate=6073478714359808 <https://chromestatus.com/feature/5178682139344896?gate=6073478714359808> This intent message was generated by Chrome Platform Status <https://chromestatus.com>.-- You received this message because you are subscribed to theGoogle Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected] <mailto:[email protected]>. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a3e71b6.cff415cc.dde5e.00b1.GAE%40google.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a3e71b6.cff415cc.dde5e.00b1.GAE%40google.com?utm_medium=email&utm_source=footer>. --You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/74d68ddb-b43e-4f45-a484-38e996711d27n%40chromium.org <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/74d68ddb-b43e-4f45-a484-38e996711d27n%40chromium.org?utm_medium=email&utm_source=footer>.
-- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/d1f74a8f-47af-4463-bf88-92c3debf5ac2%40gmail.com.
