WAI
Status Update
Comments
ka...@google.com <ka...@google.com> #2
Needs-Triage-M123
ka...@google.com <ka...@google.com> #3
Tried to reproduce the issue on reported chrome version #123.0.6312.59 using Linux debian as per steps mention in comment #1
Steps to reproduce :-
==============
1.Launched Google chrome
2.Opened the "data:application/xhtml+xml,<div xmlns="http://www.w3.org/1999/xhtml "><template shadowrootmode="open">OpenDeclarativeShadowDOMsupported</template></div>"
Attaching screencast for reference
Reporter:-Could you please review the attached screenscast and let us know if we missed anything from our endand also requesting to provide a screencast of actual and expected behaviour for better understanding of the issue.
Thanks..!!
Steps to reproduce :-
==============
1.Launched Google chrome
2.Opened the "data:application/xhtml+xml,<div xmlns="
Attaching screencast for reference
Reporter:-Could you please review the attached screenscast and let us know if we missed anything from our endand also requesting to provide a screencast of actual and expected behaviour for better understanding of the issue.
Thanks..!!
mo...@gmail.com <mo...@gmail.com> #4
Hello there,
Thank you for looking into this. It looks like you are reproducing the bug, but I might not have explained the situation very well.
I've attached my own screencast demonstrating the bug which I'll walk through here:
1. Launch Chromium
2. Paste the following into the URL bar (note the XHTML mimetype, making this an XHTML page):
data:application/xhtml+xml,<div xmlns="http://www.w3.org/1999/xhtml "><template shadowrootmode="open">OpenDeclarativeShadowDOMsupported</template></div>
3. See that the page remains blank and in the web inspector the declarative shadow DOM has not been created (the <template> has not be substituted with a shadow-root etc.)
4. Now, to see the expected behaviour, change the mimetype in the URL to plain HTML (i.e. replace `application/xhtml+xml` with `text/html` making the page now a plain HTML page)
5. Notice that page now shows the "OpenDeclarativeShadowDOMsupported" message and the DOM inspector now show a newly created shadow root.
Unless I'm mistaken, what is shown here is that the declarative shadow DOM mechanism will only work for plain HTML pages and not for XHTML pages. As far as I understand, there is no reason that an XHTML page should not be able to make use of the declarative shadow DOM syntax.
Thanks again for your help,
Jonathan
Thank you for looking into this. It looks like you are reproducing the bug, but I might not have explained the situation very well.
I've attached my own screencast demonstrating the bug which I'll walk through here:
1. Launch Chromium
2. Paste the following into the URL bar (note the XHTML mimetype, making this an XHTML page):
data:application/xhtml+xml,<div xmlns="
3. See that the page remains blank and in the web inspector the declarative shadow DOM has not been created (the <template> has not be substituted with a shadow-root etc.)
4. Now, to see the expected behaviour, change the mimetype in the URL to plain HTML (i.e. replace `application/xhtml+xml` with `text/html` making the page now a plain HTML page)
5. Notice that page now shows the "OpenDeclarativeShadowDOMsupported" message and the DOM inspector now show a newly created shadow root.
Unless I'm mistaken, what is shown here is that the declarative shadow DOM mechanism will only work for plain HTML pages and not for XHTML pages. As far as I understand, there is no reason that an XHTML page should not be able to make use of the declarative shadow DOM syntax.
Thanks again for your help,
Jonathan
pe...@google.com <pe...@google.com> #5
Thank you for providing more feedback. Adding the requester to the CC list.
ka...@google.com <ka...@google.com> #6
Able to reproduce this issue on chrome version #123.0.6312.59 using win 10,Mac 14.3.1,Linux debian by following steps as per comment#0
Observed the page remains blank
Reproducible on
=============
125.0.6382.0 - Canary
125.0.6368.2- Dev
124.0.6367.8 - Beta
123.0.6312.59 -Stable
Attached screenshots for reference
The same issue seems to be reproducible from M-112 older versions. Hence, considering it as Non-Regression and marking it as untriaged
Thanks..!!
Observed the page remains blank
Reproducible on
=============
125.0.6382.0 - Canary
125.0.6368.2- Dev
124.0.6367.8 - Beta
123.0.6312.59 -Stable
Attached screenshots for reference
The same issue seems to be reproducible from M-112 older versions. Hence, considering it as Non-Regression and marking it as untriaged
Thanks..!!
ja...@chromium.org <ja...@chromium.org> #7
Mason, is there a plan to support this?
ma...@chromium.org <ma...@chromium.org> #8
So the current spec is here:
which is in the HTML parser spec. As such, the observed behavior is correct - declarative shadow DOM only applies to HTML documents.
If you think this should be expanded, we'd need to do that in an interoperable way, so I'd recommend you open a spec issue to discuss that addition. One issue is that I actually don't know where spec issues for XHTML go. I don't think they belong in the WHATWG repo, but perhaps you could start there and someone will point you in the right direction?
mo...@gmail.com <mo...@gmail.com> #9
I don't believe this is correct, though I think this may be my fault for using somewhat dated terminology.
The spec specifically doesn't use the term XHTML any more, using only "HTML" to refer to the things which are defined via the HTML syntax, the XML Syntax for HTML (what I, sloppily, called XHTML) and defined via the DOM API. Seehttps://html.spec.whatwg.org/multipage/introduction.html#html-vs-xhtml
As such, I believe the spec you linked to applies in this case, even though it talks about HTML. For example it even mentions namespaces (a feature called out as not supported by the HTML syntax in the introduction I linked to).
Would you agree?
The spec specifically doesn't use the term XHTML any more, using only "HTML" to refer to the things which are defined via the HTML syntax, the XML Syntax for HTML (what I, sloppily, called XHTML) and defined via the DOM API. See
As such, I believe the spec you linked to applies in this case, even though it talks about HTML. For example it even mentions namespaces (a feature called out as not supported by the HTML syntax in the introduction I linked to).
Would you agree?
mo...@gmail.com <mo...@gmail.com> #10
...though, hmm... rereading this again, as you say, it seems declarative shadow DOM does seem to be a side effect of HTML-specific parsing, so you're a absolutely right...
Would you concur that this seems like a bit of a design error (or at least a bit wonky?)
Thanks again for the thorough analysis.
Would you concur that this seems like a bit of a design error (or at least a bit wonky?)
Thanks again for the thorough analysis.
mo...@gmail.com <mo...@gmail.com> #11
ma...@chromium.org <ma...@chromium.org> #12
Thanks for opening the issue, sounds like the discussion has already started.
Description
Steps to reproduce the problem
Navigate to the following data URL which defines an XHTML document with a simple declarative shadow DOM.
data:application/xhtml+xml,<div xmlns="http://www.w3.org/1999/xhtml"><template shadowrootmode="open">OpenDeclarativeShadowDOMsupported</template></div>
Problem Description
The displayed page is empty and the developer tools indicate that no shadow DOM has been created and the template element remains.
For reference, here is the exact same snippet as HTML (rather than XHTML):
data:text/html,<div><template shadowrootmode="open">OpenDeclarativeShadowDOMsupported</template></div>
Opening this will show "OpenDeclarativeShadowDOMsupported" with the details shown correctly in the developer tools, by contrast with the XHTML version.
Summary
Declarative shadow DOM does not work for XHTML
Custom Questions
Which component does this fall under?
Blink>DOM
Does this feature work correctly in other browsers?
No - I can reproduce the problem in another browser
Details of interop issue
I've also reported the same bug in Firefox here:https://bugzilla.mozilla.org/show_bug.cgi?id=1887436
I've observed the same issue in a webkit based browser (Epiphany) but not yet reported it.
Additional Data
Category: API
Chrome Channel: Not sure
Regression: N/A