シャドウパーツ
Webコンポーネントが、内部のどの要素を外部からスタイル指定できるかを明示する仕組み。カプセル化に穴を開けるのではなく、明確な契約として公開する。
シャドウツリーの存在意義は外部のCSSが中に届かないことだが、文字どおりに受け取ると、コンポーネントをデザインに合わせることができなくなる。そのため初期のコンポーネントライブラリは、シャドウDOMを諦めるか、あらゆる属性のためにカスタムプロパティを五十個も公開するかのどちらかだった。解決策は、コンポーネントの作者が内部要素にpart="label"と印を付け、利用側がmy-widget::part(label)と書いて通常どおりスタイルを当てることだ。重要なのは制限で、明示的に公開されたものだけが対象となり、しかも要素全体としてのみ届く。その子要素まで掘り下げて選択することはできない。入れ子のコンポーネントでは、exportparts属性でパーツを外側へ引き継ぐ。