From d869f596d27e7d9a3658366f20ad587f2eb682ec Mon Sep 17 00:00:00 2001 From: Anne van Kesteren Date: Sat, 18 Jul 2026 09:39:15 +0200 Subject: [PATCH] Order shadow root concepts consistently Match DOM's order for the template IDL, attributes, parser, and "attach a shadow root" call site: mode, delegates focus, serializable, slot assignment, clonable, custom element registry. Reorders IDL members, observable via property enumeration. --- source | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/source b/source index 98aa9b6135b..a926f4c2c48 100644 --- a/source +++ b/source @@ -69166,9 +69166,9 @@ not-slash = %x0000-002E / %x0030-10FFFF
Global attributes
shadowrootmode
shadowrootdelegatesfocus
+
shadowrootserializable
shadowrootslotassignment
shadowrootclonable
-
shadowrootserializable
shadowrootcustomelementregistry
Accessibility considerations:
@@ -69185,9 +69185,9 @@ interface HTMLTemplateElement : HTMLElement { readonly attribute DocumentFragment content; [CEReactions] attribute DOMString shadowRootMode; [CEReactions, Reflect] attribute boolean shadowRootDelegatesFocus; + [CEReactions, Reflect] attribute boolean shadowRootSerializable; [CEReactions] attribute DOMString shadowRootSlotAssignment; [CEReactions, Reflect] attribute boolean shadowRootClonable; - [CEReactions, Reflect] attribute boolean shadowRootSerializable; [CEReactions, Reflect] attribute DOMString shadowRootCustomElementRegistry; }; @@ -69229,6 +69229,10 @@ interface HTMLTemplateElement : HTMLElement { data-x="attr-template-shadowrootdelegatesfocus">shadowrootdelegatesfocus content attribute is a boolean attribute.

+

The shadowrootserializable content + attribute is a boolean attribute.

+

The shadowrootslotassignment content attribute is an enumerated attribute with the following keywords and states:

@@ -69259,10 +69263,6 @@ interface HTMLTemplateElement : HTMLElement { data-x="attr-template-shadowrootclonable">shadowrootclonable content attribute is a boolean attribute.

-

The shadowrootserializable content - attribute is a boolean attribute.

-

The shadowrootcustomelementregistry content attribute is a boolean attribute.

@@ -145504,6 +145504,14 @@ document.body.appendChild(text);
  • Let mode be templateStartTag's shadowrootmode attribute's value.

  • +
  • Let delegatesFocus be true if templateStartTag has a shadowrootdelegatesfocus attribute; + otherwise false.

  • + +
  • Let serializable be true if templateStartTag has a shadowrootserializable attribute; + otherwise false.

  • +
  • Let slotAssignment be "named".

  • If templateStartTag's shadowrootclonable attribute; otherwise false.

  • -
  • Let serializable be true if templateStartTag has a shadowrootserializable attribute; - otherwise false.

  • - -
  • Let delegatesFocus be true if templateStartTag has a shadowrootdelegatesfocus attribute; - otherwise false.

  • -
  • If declarativeShadowHostElement is a shadow host, then insert an element at the adjusted insertion location with template.

  • @@ -145538,8 +145538,8 @@ document.body.appendChild(text);
  • Attach a shadow root with - declarativeShadowHostElement, mode, clonable, - serializable, delegatesFocus, slotAssignment, and + declarativeShadowHostElement, mode, delegatesFocus, + serializable, slotAssignment, clonable, and registry.

    If an exception is thrown, then catch it and: