画面の向き

W3C 作業草案

この文書の詳細
このバージョン:
https://www.w3.org/TR/2026/WD-screen-orientation-20260806/
最新の公開バージョン:
https://www.w3.org/TR/screen-orientation/
最新の編集者草案:
https://w3c.github.io/screen-orientation/
履歴:
https://www.w3.org/standards/history/screen-orientation/
コミット履歴
テストスイート:
https://wpt.live/screen-orientation/
編集者:
Marcos Cáceres (Apple Inc.)
Léonie Watson (TetraLogical)
元編集者:
Mounir Lamouri (Google Inc.)
Johanna Herman (招待専門家)
フィードバック:
GitHub w3c/screen-orientation (プルリクエスト, 新しいイシュー, 未解決のイシュー)
ブラウザーの対応状況:
caniuse.com

概要

Screen Orientation 仕様は、デバイスの画面の向きの種類と角度を標準化し、 そのロックおよびロック解除の手段を提供する。この仕様で定義される API は、デバイスの画面の向きの現在の種類と角度を公開し、変更時にイベントを ディスパッチする。これにより、CSS と連携しながら、複数の画面の向きに対して Web アプリケーションがプログラム的にユーザー体験を適応できる。この API は、 ユーザーがデバイスを物理的に回転させても、画面の向き自体は変更させたくない コンピューターゲームなどのアプリケーションに特に有用である。API は、特定の ロック前条件 が満たされている場合にのみ、 画面の向きのロックを許可する。

この文書のステータス

このセクションは、本書が公開された時点でのステータスを説明します。現在の W3C の出版物一覧や、この技術レポートの最新版は、 W3C 標準および草案一覧 で確認できます。

本書は作業中の文書です。

本書は Web Applications Working Group によって、 勧告プロセス を用いて ワーキングドラフトとして公開されました。

ワーキングドラフトとしての公開は、W3C およびその会員による支持を意味するものではありません。

本書はドラフト文書であり、今後いつでも他の文書によって更新、差し替え、または廃止される可能性があります。進行中の作業以外のものとして本書を引用することは適切ではありません。

本書は W3C 特許ポリシーのもとで活動するグループによって作成されました。 W3C は、 グループの成果物に関連して提出された特許開示の公開リスト を管理しています。そのページには特許の開示方法も記載されています。ある者が必須特許請求項を含むと信じる特許を実際に知っている場合、 必須請求項 を含むと信じる場合は、 W3C特許ポリシー第6節 に従ってその情報を開示しなければなりません。

本書は 2025年8月18日 W3C プロセス文書 に従って管理されています。

1. 使用例

このセクションは規範的ではありません。

この例では、「Lock」ボタンを選択するとフルスクリーンへの移行を要求し、その後、画面を反対の向きにロックします。 「Unlock」ボタンを選択すると画面のロックが解除されます。

1: 特定の向きにロックし解除する
<script>
function updateLockButton() {
  const lockButton = document.getElementById("button");
  const newOrientation = getOppositeOrientation();
  lockButton.textContent = `Lock to ${newOrientation}`;
}

function getOppositeOrientation() {
  return screen
    .orientation
    .type
    .startsWith("portrait") ? "landscape" : "portrait";
}

async function rotate(lockButton) {
  if (!document.fullscreenElement) {
    await document.documentElement.requestFullscreen();
  }
  const newOrientation = getOppositeOrientation();
  await screen.orientation.lock(newOrientation);
  updateLockButton(lockButton);
}

screen.orientation.addEventListener("change", updateLockButton);

window.addEventListener("load", updateLockButton);
</script>

<button onclick="rotate(this)" id="button">
  ロックする...
</button>
<button onclick="screen.orientation.unlock()">
  アンロック
</button>

2. 概念

画面の向きをロックするとは、OrientationLockType orientation に対して、ユーザーが画面を特定の 画面の向き にしか回転できないようにすることを意味します。他の向きへの回転が制限される場合もあります。画面を回転できる向きは、ユーザーエージェント、ユーザーの設定、オペレーティングシステムの慣例、または画面自体によって決まります。例えば、 横向き にロックすると、ユーザーは画面を 横向き(主) やシステムが許せば 横向き(副) に回転できますが、 縦向き(副) には向きません。

画面の向きをアンロックするとは、エンドユーザーが、システムが許す任意の 画面の向き に自由に画面を回転できるようにすることを意味します。

2.1 画面の向きの種類

画面は、以下のいずれかの 画面の向き であるか、ロック されることがあります。

任意
画面は、デバイスのオペレーティングシステムまたはエンドユーザーによって許可された 任意の向きにユーザーが回転できます。
デフォルト(ロック解除済み)
画面がロック解除されているときのデバイスのデフォルトの動作 (すなわち、アクティブな向きのロックnullである場合)です。この 向きは、デバイスのオペレーティングシステム、ユーザーエージェント、 エンドユーザーの制御によって決定されるか、場合によっては インストール済みウェブアプリケーションによって設定されます。たとえば、 画面の 向きのロックが解除され、ユーザーがデバイスを回転させた場合、一部の デバイスでは、向きの変更がportrait-primarylandscape-primary、およびlandscape-secondaryに 制限され、 portrait-secondaryには変更できないことがあります。
横向き
画面のアスペクト比は、幅が高さより大きいものです。
自然
デバイスのディスプレイにおいて向きの角度を測定する基準となる 向きであり、ユーザーエージェント、ユーザー、 オペレーティングシステム、または画面自体によって決定されます。たとえば、 コンピューターモニターの基準となる向きは通常 landscape-primaryである一方、携帯 電話の基準となる向きは通常portrait-primaryです。
注記

ユーザーエージェントが自然な向きを決定する方法は 実装定義であり、プラットフォームによって異なります。一部のユーザーエージェントは、 デバイスクラスごとに固定された向きを使用します(たとえば、 ハンドセットではportrait-primarylandscape-primaryは タブレット、デスクトップ、およびテレビで使用されます)が、画面の 物理的な寸法とデフォルトの回転から導出するものもあります。正方形または折りたたみ式の 画面など、明確な直立方向を持たないデバイスでは、そのため自然な向きがユーザーエージェント間で 異なる場合があります。

縦向き
画面のアスペクト比は、高さが幅より大きいものです。
プライマリー
縦向き または横向きのいずれかにおける、デバイスの画面の自然な向きです。
セカンダリー
縦向きまたは横向きにおける、 デバイスの画面のプライマリーの向きとは反対の向きです。

2.2 現在の画面の向きの種類と角度

出力デバイスの画面には、次の概念が関連付けられています:

アクティブな向きロック
画面がロックされている画面の向きOrientationLockTypeとして表される)、またはアンロック時はnull
現在の向きの角度
画面が自然な向きから反時計回りに回転している角度(度)。この角度は画面の向き値リストから導出されます。
現在の向きタイプ
画面の画面の向きOrientationTypeとして表される)。

以下の画面の向きの値リストは、異なる 自然な向きを持つ画面について、各画面の向きの種類に 関連付けられる角度を標準化します:

自然な向きが縦向きである画面の場合:
自然な向きが横向きである画面の場合:

3. Document インターフェースへの拡張

3.1 内部スロット

Document インターフェイスは、次の内部スロットで拡張されます:

内部スロット 説明
[[orientationPendingPromise]] null または Promise のいずれかです。 Promise が割り当てられている場合、そのプロミスは画面の向きをロックするリクエストを表します。

4. Screen インターフェースへの拡張

WebIDLpartial interface Screen {
  [SameObject] readonly attribute ScreenOrientation orientation;
};

Window オブジェクトには、関連付けられた ScreenOrientationがあり、これは Screenorientation オブジェクト(すなわち ScreenOrientation インスタンス、window.screen.orientation)です。

5. ScreenOrientation インターフェース

WebIDL[Exposed=Window]
interface ScreenOrientation : EventTarget {
  Promise<undefined> lock(OrientationLockType orientation);
  undefined unlock();
  readonly attribute OrientationType type;
  readonly attribute unsigned short angle;
  attribute EventHandler onchange;
};

5.1 内部スロット

内部スロット 説明
[[angle]] 画面の最後に認識された現在の向きの角度(度単位)を、 unsigned short として 画面の向き値リストから導出して表します。
[[initialType]] 現在の向きタイプを、閲覧コンテキストが作成された時点での値として表します。
[[type]] 画面の最後に認識された現在の向きタイプOrientationType 列挙値として表します。

5.2 lock() メソッド

ロック前条件 は、画面の向きのロックを許可する前に ユーザーエージェントMAY 課すことができる任意の要件である。 一般的なロック前条件には、ドキュメントがフルスクリーンモードであること、またはインストール済みのウェブアプリケーションの一部であることなどが含まれる。具体例は 10. Web Application Manifest との相互作用 および 9. Fullscreen API との相互作用 を参照。

lock() メソッドが OrientationLockType orientation を指定して呼び出されたとき、ユーザーエージェントMUST 次の手順を実行する。

  1. document を、this関連グローバルオブジェクト関連付けられた Document とする。
  2. 共通の安全性チェックdocument に対して実行する。例外スロー された場合は、その例外で 拒否されたプロミス を返し、これらの手順を中止する。
  3. もし ユーザーエージェント が画面の向きを orientation にロックすることをサポートしていない場合は、 拒否されたプロミス( "NotSupportedError" DOMException)を返し、これらの手順を中止する。
  4. もし ユーザーエージェント が、画面の向きを ロック するために document とその関連する 閲覧コンテキストロック前条件 を満たすことを要求し、 その条件が満たされていない場合は、"NotAllowedError" DOMException拒否されたプロミス を返し、これらの手順を中止する。
  5. もし document[[orientationPendingPromise]]null でない場合、現在のロックのプロミスを拒否して無効化するdocument に対して "AbortError" で)。
  6. document[[orientationPendingPromise]]新しいプロミス に設定する。
  7. 向きロックを適用するorientationdocument に適用する。
  8. document[[orientationPendingPromise]] を返す。

5.3 unlock() メソッド

unlock() メソッドが呼び出されたとき、ユーザーエージェントMUST 次の手順を実行しなければなりません:

  1. documentthis関連グローバルオブジェクト関連付けられた Document を代入します。
  2. document共通安全性チェック を実行します。例外スロー された場合、その例外を再スローし、これらの手順を中止します。
  3. screen の アクティブな向きロックnull の場合、 undefined を返します。
  4. document[[orientationPendingPromise]]null でない場合、現在のロックプロミスを却下しnullにするdocument で "AbortError" で実行します。
  5. 向きロックを適用nulldocument で実行します。
: なぜ unlock() は Promise を返さないのか?

unlock() は Promise を返しません。なぜなら、これは デフォルトの画面の向き にロックすることと同義ですが、 ユーザーエージェント がその向きを知っている場合と知らない場合があるためです。そのため、ユーザーエージェント は新たな向きがどうなるか、あるいは実際に変化するかどうかすら予測できません。

5.4 共通の安全チェック

共通安全性チェックは、Document document に対して次の手順を実行します。

  1. もし documentユーザーの注目を受けているトップレベルのトラバーサブルの完全にアクティブな子孫 でない場合、スロー する "InvalidStateError" DOMException
  2. もし documentサンドボックス化された画面の向きロック閲覧コンテキスト・フラグ が設定されている場合、 スロー する "SecurityError" DOMException
  3. もし document可視性状態 が "hidden" の場合、スロー する "SecurityError" DOMException

5.5 type 属性

取得時、type 属性は this[[type]] を返します。

5.6 angle 属性

取得時、angle 属性は this[[angle]] を返します。

: angle の値は何を表すか?

5.7 onchange イベントハンドラ属性

onchange 属性は、イベントハンドラIDL属性です。 onchange イベントハンドラに対応し、 そのイベントハンドラのイベント型change です。

6. OrientationLockType 列挙型

WebIDLenum OrientationLockType {
  "any",
  "natural",
  "landscape",
  "portrait",
  "portrait-primary",
  "portrait-secondary",
  "landscape-primary",
  "landscape-secondary"
};

OrientationLockType 列挙型は、画面が潜在的に ロック され得る画面の向きを表します。

: 向きのサポート

7. OrientationType 列挙型

WebIDLenum OrientationType {
  "portrait-primary",
  "portrait-secondary",
  "landscape-primary",
  "landscape-secondary"
};

OrientationType 列挙値は、画面の現在の向きの種類を表すために使用されます。

8. アルゴリズム

8.1 ScreenOrientation オブジェクトの初期化

閲覧コンテキスト context が作成されるとき、ユーザーエージェントMUST 以下を実行しなければなりません:

  1. screenOrientationcontext関連付けられた ScreenOrientation にします。
  2. screenOrientation[[initialType]] 内部スロットを、画面の 現在の向きの種類 に初期化します。
  3. screenOrientation[[type]] 内部スロットを、画面の 現在の向きの種類 に初期化します。
  4. screenOrientation[[angle]] 内部スロットを、画面の 現在の向きの角度 に初期化します。

8.2 ドキュメントの現在のロックプロミスを拒否する

手順で、現在のロックプロミスを却下しnullにすることが Document documentDOMString exceptionName で要求された場合、ユーザーエージェントMUST 以下を実行しなければなりません:

  1. アサート: [[orientationPendingPromise]]null でないこと。
  2. promise に、document[[orientationPendingPromise]] を代入します。
  3. グローバルタスクをキューに追加します。DOM操作タスクソース上で document関連グローバルオブジェクトを用い、reject を使い promise を新しい exceptionNameDOMException で拒否します。
  4. document[[orientationPendingPromise]]null に設定します。

8.3 向きのロックを適用する

手順で 向きロックを適用することが OrientationLockType? orientationDocument document に対して要求された場合、 ユーザーエージェントMUST 以下の手順を実行しなければなりません:

  1. document完全にアクティブでなくなった場合(並列に処理している間)、かつ[[orientationPendingPromise]]の 値が nullでない場合、現在の ロックpromiseを却下してnull化する。対象はdocumentであり、 "AbortError"を用いる。
  2. topDocumentdocumentトップレベル・トラバーサブルアクティブな文書とする。
  3. descendantDocs順序 集合とする。この集合は、 topDocument子孫ナビゲーブルアクティブな文書を、存在する場合にツリー 順で並べて構成する。
  4. docについて、 descendantDocs内で次を実行する:
    1. docdocumentである場合、続行する。
    2. doc[[orientationPendingPromise]]nullである場合、続行する。
    3. 現在の ロックpromiseを却下してnull化する。対象はdocであり、 "AbortError"を用いる。
  5. 次の下位手順を並列に実行する:
    1. document完全にアクティブでなくなっており、かつ document[[orientationPendingPromise]] の値が nullでない場合、現在の ロックpromiseを却下してnull化する。対象は documentであり、"AbortError"を用いて、 これらの手順を中止する。
    2. orientationnullである場合、画面の向きのロックを解除する
    3. そうでなければ、画面の向きをロックすることを試みる。ロックする向きは orientationとする。プラットフォームの慣例に応じて、 ビューポートの描画方法を変更し、orientationに合わせる。
    4. 以前に設定されたユーザー 設定、プラットフォームの制限、またはその他の理由によって試行が失敗した場合:
      1. 画面のアクティブな向きのロックnullに設定する。
      2. タスクをキューに入れる。キューにはDOM操作タスク ソースを使用し、 document関連するグローバルオブジェクトを用いて次を実行する:
        1. document[[orientationPendingPromise]]nullでない場合、 現在の ロックpromiseを却下してnull化する。対象は documentであり、"NotSupportedError"を用いる。
        2. これらの手順を中止する。
      注記

      これは、ユーザーが次のような設定を行っている場合に発生し得る。その設定は、 Webアプリケーションによる画面の向きの変更を禁止するものである。または、 ユーザーエージェントではなく基盤となるプラットフォームが、 画面の向きを指定された orientationにロックすることを許可しない場合にも発生し得る。ユーザー設定や プラットフォーム機能の違いは、 フィンガープリンティングに利用される可能性があることに注意されたい。これは、その違いによってロック 失敗の挙動に検出可能なパターンが生じる可能性があるためである。

    5. 画面のアクティブな向きの ロックorientationに設定し、現在の向きの種類 および現在の向きの 角度を更新し、 画面の向きへの変更を反映する。
  6. グローバルタスクをキューに入れる。キューにはDOM操作タスクソースを使用し、 document関連するグローバルオブジェクトを用いて次を実行する:
    1. promisedocument[[orientationPendingPromise]]とする。
      注記
    2. document[[orientationPendingPromise]]nullに設定する。
    3. 画面の 向きの変更手順topDocumentに対して実行する。
    4. promisenullでない場合、解決する対象をpromiseとし、 値を undefinedとする。

8.4 画面の向きの変更

ユーザーエージェントが トップレベル・トラバーサブル の画面の向きが変更されたと判断した場合や、ユーザーが トップレベル閲覧コンテキスト を別の画面に移動した場合は、画面の向き変更ステップトップレベル・トラバーサブルアクティブなドキュメント に対して実行する。

画面の向き変更ステップDocument document 用)は以下の通り:

  1. もし documentユーザーの注目を受けているトップレベル・トラバーサブルの完全にアクティブな子孫 でない場合は、これらの手順を中止する。
  2. type および angle を画面の 現在の向きタイプおよび 現在の向き角度 とする。
  3. screenOrientationdocument関連グローバルオブジェクト関連付けられた ScreenOrientation とする。
  4. もし typescreenOrientation[[type]] に等しく、かつ anglescreenOrientation[[angle]] に等しい場合、これらの手順を中止する。
  5. グローバルタスクをキューに追加ユーザー操作タスクソースdocument関連グローバルオブジェクト を渡して)下記を実行:
    1. screenOrientation[[angle]]angleに設定する。
    2. screenOrientation[[type]]typeに設定する。
    3. イベントを発火する。イベント名は"change"、対象は screenOrientationとする。
  6. descendantDocs順序付き集合として、 document子孫ナビゲーブルアクティブなドキュメント(あれば)を木構造順に並べたものとする。
  7. それぞれ docdescendantDocs で反復し、 画面の向き変更ステップdoc で実行する。

8.5 ページの表示状態の変更の処理

[HTML] の「可視状態を更新する」アルゴリズムは、画面の向き変更手順を実行します。

注記

8.6 ドキュメントのアンロードの処理

アンロードドキュメントクリーンアップ手順document で実行されるとき、ユーザーエージェントは MUST 次の手順を実行しなければなりません:

  1. もし documentトップレベル・トラバーサブルアクティブなドキュメント でなければ、これらの手順を中止する。
  2. 画面の向き完全ロック解除ステップdocument に対して実行する。

8.7 向きの完全なロック解除

画面の向きを完全にアンロックする手順 は、Document document に対して次の通りです:

  1. もし document[[orientationPendingPromise]]null でなければ、 現在のロックのプロミスを拒否して無効化するdocument に "AbortError")。
  2. topDocumentdocumentトップレベル・トラバーサブルアクティブなドキュメント とする。
  3. 向きロックを適用するnulltopDocument に適用する。

9. フルスクリーン API との相互作用

ユーザーエージェントは MUSTlock() の利用を シンプルなフルスクリーンドキュメントにのみ制限する ロック前条件 を課さなければならない。 この要件は、画面の向きロック権限に関するユーザーエージェントの挙動の違いによるフィンガープリンティングを防ぐためである。[fullscreen]

document がフルスクリーンを終了する際は、画面の向きを完全にロック解除する手順も実行される。[fullscreen]

10. Web アプリケーションマニフェストとの相互作用

Web Application Manifest 仕様は、ウェブアプリケーションが デフォルトの画面の向きorientation メンバーで設定できるようにします。

ユーザーエージェントは、インストール済みウェブアプリケーションが 「fullscreen」表示モードで提示されることを、ロック前 条件として要求するべきである

11. アクセシビリティに関する考慮事項

ユーザーはデバイスを固定された向きで取り付けていることがあるため(たとえば、 車椅子のアームに取り付けている場合)、開発者がユーザーによるデバイスの回転を想定しており、その回転が 画面の向きをロックする際に必要となる場合、次の点を認識しておく必要がある: それは、 ウェブコンテンツ・アクセシビリティ ガイドライン(WCAG)2.1向きの達成 基準である。この基準で必須とされるのは、コンテンツおよび機能が どのような画面の向きでも利用可能であることである。特定の 向きが必須である場合、Web アプリケーションは、向きに関する要件をユーザーに通知しなければならない。

12. プライバシーおよびセキュリティに関する考慮事項

画面のタイプ角度は、フィンガープリンティングの潜在的な手段となり得ます。以下の緩和策は、端末の保持方法を明かさずユーザーのプライバシーを保護するとともに、 セカンダリの向きタイプや関連する角度がフィンガープリンティングに利用されることも防ぎます。

12.1 イベント配信の制限

ユーザーのプライバシー保護のため、向き変更イベントの配信にはいくつかの制限が課されます:

documentユーザーの注目を受けているトップレベル・トラバーサブルの完全にアクティブな子孫 であることが求められるのは、 向きイベントがシステムレベルで表示され、ユーザーの注目やキーボード入力などを受けられるウィンドウのドキュメントのみがイベントを受けることを保証するためです。 追加の可視性状態チェックは多層防御となります。これらの制限により、バックグラウンドタブ、隠れウィンドウ、最小化アプリケーションがフィンガープリンティング目的で向きデータを取得できなくなります。

12.2 フィンガープリンティング対策

フィンガープリンティングに対抗するために、ユーザーエージェントは特にプライバシー重視の環境(例えばプライベートブラウズモードなど)では、以下の保護策を SHOULD 実装すべきです:

  1. トップレベル・トラバーサブル の存続期間中、画面の自然な向きが [[initialType]] であるかのように動作する。
  2. type ゲッターで返す値は "portrait-primary" または "landscape-primary" に制限される。画面のアスペクト比によってどちらが返されるかが決まる。
  3. もし 現在の向きタイプ[[initialType]] と一致する場合は、 angle ゲッターは 0 を返し、それ以外の場合は 90 を返す。
  4. 画面の向きが変化するときは、 change イベントは 現在の向きタイプportrait から landscape へ、または逆にタイプが変化した場合のみ発火する。

13. 適合性

非規範と明記されたセクションに加えて、この仕様書中のすべての著作ガイドライン、図、例、および注記は非規範です。それ以外の内容はすべて規範となります。

この文書中のキーワード MAYMUST、および SHOULD は、 BCP 14 [RFC2119] [RFC8174] に記載されている通り、ここに示すようにすべて大文字で出現した場合に限り、その意味で解釈されます。

A. IDL インデックス

WebIDLpartial interface Screen {
  [SameObject] readonly attribute ScreenOrientation orientation;
};

[Exposed=Window]
interface ScreenOrientation : EventTarget {
  Promise<undefined> lock(OrientationLockType orientation);
  undefined unlock();
  readonly attribute OrientationType type;
  readonly attribute unsigned short angle;
  attribute EventHandler onchange;
};

enum OrientationLockType {
  "any",
  "natural",
  "landscape",
  "portrait",
  "portrait-primary",
  "portrait-secondary",
  "landscape-primary",
  "landscape-secondary"
};

enum OrientationType {
  "portrait-primary",
  "portrait-secondary",
  "landscape-primary",
  "landscape-secondary"
};

B. 索引

B.1 本仕様で定義された用語

B.2 参照で定義された用語

C. 謝辞

Christophe Dumez、Anne van Kesteren、Chundong Wang、Fuqiao Xue、 および Chaals McCathie Nevile に有益なコメントをいただいたことに感謝します。

本 API の初期設計への貢献に対し、Chris Jones および Jonas Sicking に特に感謝します。

D. 参考文献

D.1 規範的参考文献

[appmanifest]
ウェブアプリケーションマニフェスト. Marcos Caceres; Daniel Murphy; Christian Liebel. W3C. 2026年7月23日. W3C作業草案. URL: https://www.w3.org/TR/appmanifest/
[cssom-view]
CSSOMビュー・モジュール. Simon Fraser; Emilio Cobos Álvarez. W3C. 2025年9月16日. W3C作業草案. URL: https://www.w3.org/TR/cssom-view-1/
[dom]
DOM標準. Anne van Kesteren. WHATWG. 現行標準. URL: https://dom.spec.whatwg.org/
[fullscreen]
Fullscreen API標準. Philip Jägenstedt. WHATWG. 現行標準. URL: https://fullscreen.spec.whatwg.org/
[HTML]
HTML標準. Anne van Kesteren; Domenic Denicola; Dominic Farolino; Ian Hickson; Philip Jägenstedt; Simon Pieters. WHATWG. 現行 標準. URL: https://html.spec.whatwg.org/multipage/
[infra]
Infra標準. Anne van Kesteren; Domenic Denicola. WHATWG. 現行標準. URL: https://infra.spec.whatwg.org/
[RFC2119]
要件レベルを示すためにRFCで使用する キーワード. S. Bradner. IETF. 1997年3月. 現行最良慣行. URL: https://www.rfc-editor.org/info/rfc2119/
[RFC8174]
RFC 2119のキーワードにおける大文字と小文字の 曖昧さ. B. Leiba. IETF. 2017年5月. 現行最良慣行. URL: https://www.rfc-editor.org/info/rfc8174/
[WCAG21]
ウェブコンテンツ・アクセシビリティ・ガイドライン(WCAG) 2.1. Michael Cooper; Andrew Kirkpatrick; Joshue O'Connor; Alastair Campbell. W3C. 2025年5月6日. W3C勧告. URL: https://www.w3.org/TR/WCAG21/
[WEBIDL]
Web IDL標準. Edgar Chen; Timothy Gu. WHATWG. 現行標準. URL: https://webidl.spec.whatwg.org/