Custom Elements
独自のHTMLタグを作るためのブラウザAPI。customElements.define('my-button', class extends HTMLElement {...})のように登録する。
v1仕様は2018年。将来の標準タグと衝突しないよう、名前にはハイフンを含める必要がある。ライフサイクルはconnectedCallback、disconnectedCallback、attributeChangedCallback、adoptedCallback。2022年にはフォーム関連カスタム要素(Form-Associated Custom Elements)が加わり、<form>のデータに参加し、検証や送信もできるようになった。ポリフィルはあるが、現行のブラウザでは不要である。