Shadow DOM является всего лишь абстракция для DOM и CSS который не включен в DOM основного документа.
Один пример, где используется Shadow DOM в браузерах. При создании окна <input type="range" />
Chrome (или другой браузер с веб-браузером), вероятно, отобразит веб-компонент слайдера. Хотя этот слайдер не является частью DOM основного документа, браузер использует Shadow DOM, чтобы показать это.
Shadow DOM используется в тяжелых ситуациях, когда презентация может отличаться от кода, в основном для предотвращения утечки CSS в основной компонент. Вы можете найти этот шаблон во многих популярных фреймворках CSS.
Для того, чтобы прикрепить элемент "теневой" вы можете использовать Shadow DOM API, например, так:
var shadow = document.querySelector('#box').attachShadow({
mode: 'open'
});
shadow.innerHTML = '<p>A box in the shadows</p>';
https://developers.google.com/web/fundamentals/getting-started/primers/shadowdom – Andreas
http://stackoverflow.com/documentation/web-component/8239/getting-started-with-web-component/26500/shadow-dom-hello-world#t=201702140841345786364 – Supersharp