Widely available すべての主要ブラウザで対応済み。安心して使用可能。

概要

フォーム関連カスタム要素により、カスタム要素がネイティブフォーム要素のように動作し、フォームの送信やバリデーションに参加できます。

対応ブラウザ

デスクトップ

Chrome 77+
Edge 79+
Safari 16.4+
Firefox 98+

モバイル

Chrome Android 77+
Safari iOS 16.4+
Firefox Android 98+

基本構文

HTML
class MyInput extends HTMLElement {
  static formAssociated = true;
  #internals;

  constructor() {
    super();
    this.#internals = this.attachInternals();
  }

  set value(v) {
    this.#internals.setFormValue(v);
  }

  get validity() {
    return this.#internals.validity;
  }
}
customElements.define('my-input', MyInput);

実務での使いどころ

  • Form-associated custom elements の活用

    フォーム関連カスタム要素。カスタム要素をネイティブフォームに統合する機能。

注意点

  • 古いブラウザでは対応していない場合がある。

アクセシビリティ

  • スクリーンリーダーでの読み上げを確認すること。