Web Components
Web Components（ウェブコンポーネンツ）はHTML要素をコンポーネント化する技術群の総称、またそれらを用いて作成されたコンポーネントである。
従来用いられていた「1つの巨大HTML、全体に適用されるCSS」を「再利用可能なコンポーネント群の組み合わせ」で実現するため、カスタム要素・Template要素・ShadowDOMを主要な技術要素として開発された。Web標準であり、すべての主要ブラウザでサポートされている。
背景
従来のHTMLは1つのHTMLファイルで構成され、スタイルを提供するCSSはHTML全体へ適用されていた。このHTMLは別のHTMLでは再利用できず、また巨大なHTMLに対するCSSはコーディングを難しくしていた。ゆえに、プログラミング言語における関数やクラスのように、再利用可能なまとまり（コンポーネント）を実現する仕組みが求められていた。
attriute-propertyリフレクション
HTMLの要素において、attributes（content attributes）とproperty（IDL attributes）は必ずしも値がリンクしない（HTML要素 § AttributeとProperty）。Web Componentsにおいていわゆるreflectionを可能にするには、そのための仕組みが必要になる。attributesはすべて文字列と定義されており、またpropertyは暗示的に静的型を持つため、propertyの型を事前に定義しattributesへのアクセス時に適切な型変換（文字列化、定義された型へのparse）をおこなうのが基本的な仕組みになる。