Looks like the quote is taken from this article under the heading: What is Heck - is it a DOM Shadow?
The shadow DOM is part of the DOM (but the virtual DOM is a hidden copy of the DOM. Sorry there was confusion with the virtual DOM before!). From a review of this W3 Spec, it can again be seen that the shadow DOM is just a reusable DOM fragment. The browser will see it and display it.
This specification describes a method for combining multiple DOM trees into a single hierarchy and how these trees interact with each other in a document, which improves the layout of the DOM.
This technology has existed since at least 2006, when I started using .innerHTML and templates inside JavaScript to create reusable DOM fragments. This is not a new technology. It is simply documented in 2015 by the W3C as an official specification.
These CSS and pseudo-selector attributes are interesting, which work on the Shadow DOM but are not part of the Real DOM. They are described at the bottom of the Textured Trees section of W3 Spec .
:: shadow pseudo-element
/ deep / combinator, which has been replaced by →> the combinator (or the combiner of the descendants of the piercing shadow)
:: Content pseudo-element
: host pseudo-class and: host () functional pseudo-class
: host context () functional pseudo-class
They kind of add to these selectors, which people sometimes use to create <div> tags using pointers / pointers to other elements on the screen:
::before and ::after
Additional update:
I found more details in Shadow DOM 101 . When viewing "Hello, my name is an example of Bob ... Shell" (about 1/2 way down the page), which is located directly above this text block ...
Now we have reached the separation of content and presentation. Content is in the document; The presentation is in the Shadow DOM. They are automatically synchronized by the browser when the time comes to do something.
... we can check the DOM and see what the DOM DOM looks like. It looks like CSS and HTML can be encapsulated inside the shadow DOM element, which is hidden inside the <div> . See: https://developer.chrome.com/devtools/docs/settings-files/show-shadow-dom.png
The idea seems to be to encapsulate CSS and HTML so that it doesn't go to other areas of the page. Also, do not allow the use of other existing / per page code in order to influence what is inside this encapsulated code. Previous examples of this encapsulation would be hidden <iframe> tags, which were designed to serve ads, but did not allow third-party ad code to break JS on our really interesting web pages.
Here are some more Shadow DOM links: