1. 2 共通インフラ
    1. 2.1 用語
      1. 2.1.1 リソース
      2. 2.1.2 XML互換性
      3. 2.1.3 DOMツリー
      4. 2.1.4 スクリプティング
      5. 2.1.5 プラグイン
      6. 2.1.6 文字エンコーディング
      7. 2.1.7 依存関係
      8. 2.1.8 拡張性
    2. 2.2 文字列の比較
    3. 2.3 ポリシー制御機能

2 共通インフラ

この仕様は、Infraに依存する。[INFRA]

2.1 用語

この仕様は、多くの場合、同じ文脈においてHTMLおよびXMLの属性とIDL属性の両方に言及する。どの属性について言及されているかが不明瞭な場合、HTMLおよびXML属性のコンテンツ属性、およびIDLインターフェイスに定義されるIDL属性として言及される。同様に、用語"プロパティ"は、JavaScriptのオブジェクトプロパティとCSSプロパティの両方に使用される。プロパティが不明瞭の場合、それぞれオブジェクトプロパティおよびCSSプロパティとして修飾される。

一般に、ある機能がHTML構文またはXML構文の一方に当てはまると仕様が言及する場合、他方を含む。機能が2つの言語の1つのみ明確に当てはまる場合、"HTMLに対して…(これはXMLに適用されない)"のように、他方の形式に適用されないことが明示的に示される。

この仕様は、短い静的な文書からリッチなマルチメディアを伴う長いエッセイやレポートだけでなく、本格的な対話型アプリケーションにまで至る、HTMLの任意の用法を表す用語文書を使用する。この用語は、文脈に応じてDocumentオブジェクトおよびその子孫DOMツリー、HTML構文またはXML構文を用いてシリアル化されたバイトストリームの両方を表すために使用される。

DOM構造の文脈において、用語HTML文書およびXML文書は、DOMで定義されるとおりに使用され、Documentオブジェクトが自分自身を見つけることができる2つの異なるモードを表す。[DOM](このような用途は常に定義にハイパーリンクされる。)

バイトストリームの文脈において、用語HTML文書は、text/htmlとして分類されたリソースを指し、用語XML文書は、XML MIMEタイプで分類されるリソースを指す。


簡潔さのために、文書がユーザーに表示される方法を参照するとき、(原文でいう)showndisplayedvisibleのような用語が時に使用されるかもしれない。これらの用語は、視覚メディアを意味するものではない。同等の方法で、他のメディアに適用されると考えなければならない。

2.1.1 リソース

仕様は、ユーザーエージェントが外部リソースのセマンティックスをデコード可能な実装を持つかどうかを参照する場合に用語サポートされるを使用する。フォーマットまたはタイプは、重要なリソースの機能を無視されることなく、実装がそのフォーマットやタイプの外部リソースを処理できる場合はサポートされると言われる。特定のリソースがサポートされるかどうかは、リソースのフォーマットのどの機能が使用されるかに依存するだろう。

たとえば、たとえ実装の知らないうちに、画像がアニメーションデータを含む場合でも、画像のピクセルデータがデコードされレンダリングされるならば、PNG画像はサポートされるフォーマットであると見なされるだろう。

たとえ実装がファイルのメタデータからムービーの寸法を決定可能でも、使用される圧縮形式がサポートされていなかった場合、MPEG-4ビデオファイルはサポートされるフォーマットであるとみなされない。

特にHTTP仕様において、一部の仕様がrepresentationと表されるものは、この仕様でリソースとして表される。[HTTP]

リソースのクリティカルサブリソースは、リソースが正しく処理されるために使用できる状態にしておく必要があるものである。どのリソースがクリティカルかどうかとみなされるかは、リソースのフォーマットを定義する仕様によって定義されない。

CSSsCSSスタイルシートの場合、ここではそれらの重要なサブリソースが、他のインポートされたスタイルシートによって間接的にインポートされたものも含む、@import規則を通してインポートされた他のスタイルシートであることを暫定的に定義する。

この定義は完全に相互運用可能ではない。さらに、一部のユーザーエージェントは、背景画像やウェブフォントなどのリソースを重要なサブリソースとして数え上げているようである。理想的には、CSS Working Groupがこれを定義する。その面での進捗状況を追跡するには、w3c/csswg-drafts issue #1088を参照のこと。

2.1.2 XML互換性

HTMLからXMLへの移行を容易にするため、この仕様に準拠するユーザーエージェントは、少なくともDOMとCSSのために、http://www.w3.org/1999/xhtml名前空間にHTMLで要素を配置する。用語"HTML要素"は、XML文書でさえも、その名前空間内の任意の要素を指す。

他に記載される場合を除き、この仕様で定義または記載されるすべての要素はHTML名前空間("http://www.w3.org/1999/xhtml")であり、この仕様で定義または記載されるすべての属性は名前空間を持たない。

用語要素タイプは、与えられたローカル名と名前空間を持つ要素の集合を参照するために使用される。たとえば、button要素は要素型buttonをもつ要素であり、ローカル名"button"および(上で定義されるように暗黙のうちに)HTML名前空間を持つことを意味する。

属性名がXMLで定義されたName生成物と一致しかつ、U+003A COLON文字(:)を含まない場合、属性名はXML互換であると言われる。[XML]

2.1.3 DOMツリー

ノードが一部の要素または属性が無視されると言われる、または他の値として扱われる、または何か他のものであったかのように扱われる場合、これはDOMになった後の、ノードの処理のみを指す。

新しい値が前の値と異なっている場合のみ、コンテンツ属性は値を変更すると言われる。既に持つ属性値を設定することは変更ではない。

用語は、属性値、Textノード、または文字列で使用された場合、テキストの長さがゼロであることを意味する(つまり、制御文字やU+0020 SPACEすら含まない)。

挿入手順が引数としてAで呼び出される場合かつAの新しい親がBであるので、ノードBノードAは挿入される。同様に、除去手順removedNode引数としてAにかつoldParent引数としてBに呼び出される場合に、ノードBからノードAは除去される

挿入手順が引数としてノードに呼び出されかつノードが現在文書ツリー内に存在する場合、ノードは文書内に挿入される。類似の方法で、除去手順が引数としてノードに呼び出されかつノードがもはや文書ツリー内に存在しない場合、ノードは文書から除去される

挿入手順が引数としてノードに呼び出されかつノードが現在接続される場合、ノードは接続される。類似の方法で、除去手順が引数としてノードに呼び出されかつノードがもはや接続されない場合、ノードは切断される

ノードは、そのノードが接続されており、かつそのノードのシャドウを含むルートブラウジングコンテキストが非nullであるとき、ブラウジングコンテキスト接続である。ノードは、挿入手順が引数として呼び出され、かつノードが今ブラウジングコンテキスト接続である場合に、ブラウジングコンテキスト接続になる。ノードは、除去手順が引数としてノードを呼び出され、かつノードがもはや現在ブラウジングコンテキスト接続でないか、ノードのシャドウを含むルートブラウジングコンテキストがnullとなるかのいずれかの場合、ブラウジングコンテキスト切断になる

2.1.4 スクリプティング

構造体"Fooオブジェクト"は、Fooが実際にインターフェイスである場合、時折より正確な"Fooインターフェイスを実装するオブジェクト"の代わりに使用される。

IDL属性は、その値が(著者のスクリプトなどによって)取得時に取得されると言われ、新しい値が割り当てられるときに設定されると言われる。

DOMオブジェクトがライブであると言われる場合、そのオブジェクトの属性とメソッドは、データのスナップショットではなく、実際の元となるデータを操作する。

2.1.5 プラグイン

用語プラグインは、Documentオブジェクトの属するユーザーエージェントのレンダリングに関与可能な、ユーザーエージェントによって使用されるコンテンツハンドラーの実装定義されたセットを参照するが、Document子ブラウジングコンテキストとして振る舞うことも、任意のNodeオブジェクトを DocumentのDOMに導入することもない。

通常、そのようなコンテンツハンドラーは、第三者によって提供される。もっともユーザーエージェントもまた、プラグインとしてビルトインコンテンツのハンドラーを指定できる。

プラグインの一例は、ユーザーがPDFファイルを操作するときにブラウジングコンテキストでインスタンスを生成されたPDFビューアーであろう。これは、実装されたPDFビューアーコンポーネントがユーザーエージェント自身に実装されたものと同じメーカーかどうかにかかわらず、プラグインとしてカウントされるだろう。しかし、ユーザーエージェント(同じインターフェイスを使用するのではない)とは別に起動するPDFビューアーアプリケーションは、この定義によるプラグインではない。

プラグインはユーザーエージェント固有かつプラットフォーム固有であることが予測されるので、この仕様はプラグインと情報交換するためのメカニズムを定義しない。一部のユーザーエージェントは、NetscapeプラグインAPIのようなプラグイン機構をサポートすることを選ぶかもしれない。他のユーザーエージェントは、リモートコンテンツコンバーターを使用するか、または特定の種類のビルトインサポートを持つかもしれない。実際に、この仕様はユーザーエージェントにプラグインのサポートを一切要求しない。[NPAPI]

sandbox属性のセマンティックスを受け取る場合、プラグインは保護されるだろう。

たとえば、保護されるプラグインは、プラグインがサンドボックス化されるiframe内部でインスタンス化されるときに、そのコンテンツがポップアップを生成することから防ぐだろう。

2.1.6 文字エンコーディング

文字エンコーディング、すなわち曖昧でない箇所で単にエンコーディングは、Encodingで定義されるように、バイトストリームとUnicode文字列との間の変換方法を定義する。エンコーディングは、エンコーディング仕様でエンコーディングの名前およびラベルとして参照される、エンコーディング名および1つ以上のエンコーディングラベルを持つ。[ENCODING]

UTF-16エンコーディングは、UTF-16BEまたはUTF-16LEである。[ENCODING]

ASCII互換エンコーディングは、UTF-16エンコーディングでない任意のエンコーディングである。[ENCODING]

Encodingで定義されないエンコーディングのサポートは禁止されるため、UTF-16エンコーディングは、この仕様がASCII互換エンコーディングでないものとして処理するために必要となる唯一のエンコーディングである。

2.1.7 依存関係

MessageEvent/MessageEvent

Support in all current engines.

Firefox4+Safari4+Chrome1+
Opera?Edge79+
Edge (Legacy)12+Internet Explorer9+
Firefox Android?Safari iOS3+Chrome Android18+WebView Android37+Samsung Internet1.0+Opera Android?

この仕様は、複数の基礎をなす仕様に依存する。

Infra

次の用語はInfra [INFRA]で定義される:

Unicodeおよびエンコーディング

Unicode文字セットは、テキストデータを表すために使用され、Encodingは、文字エンコーディング周りの要件を定義する。[UNICODE]

この仕様は、前述したように、その仕様で定義される用語に基づく用語を導入する

Encoding [ENCODING]で定義される次の用語が使用される:

XMLおよび関連仕様

その構文が名前空間をもつXMLシリアライゼーションを使用するため、XHL構文をサポートする実装は、いくつかのXMLのバージョンと同様に、対応する名前空間の仕様をサポートしなければならない。[XML] [XMLNS]

データマイニングツールおよび、スクリプトを実行、CSSやXPathを評価、または別の方法で任意のコンテンツにDOMの結果を公開することなく、コンテンツに対する操作を実行するユーザーエージェントは、それらのDOMノードの類似体が実際に名前空間文字列を公開することなく、特定の名前空間であることを相応の主張することによって"名前空間をサポート"してもよい。

HTML構文において、名前空間接頭辞および名前空間宣言は、XMLと同一の効果を持たない。たとえば、HTML要素名においてコロンは特別な意味を持たない。


XML名前空間におけるタグ名xml:xml:spaceをもつ属性は、Extensible Markup Language (XML)で定義されている。[XML]

Name生成物は、XMLで定義される。[XML]

この仕様はまた、Associating Style Sheets with XML documentsで定義される、<?xml-stylesheet?>処理命令を参照する。[XMLSSPI]

この仕様はまた、XSLTProcessorインターフェイスとそのtransformToFragment()およびtransformToDocument()メソッドに非規範的に言及する。[XSLTP]

URL

次の用語はURL [URL]で定義される:

多くのスキーマおよびプロトコルはまたこの仕様で参照される:

メディアフラグメント構文Media Fragments URIで定義される。[MEDIAFRAG]

HTTPおよび関連仕様

次の用語はHTTP仕様[HTTP]で定義される:

次の用語はHTTP State Management Mechanism [COOKIES]で定義される:

  • cookie-string
  • receives a set-cookie-string
  • `Cookie`ヘッダー

次の用語はWeb Linking [WEBLINK]で定義される:

次の用語はStructured Field Values for HTTP [STRUCTURED-FIELDS]で定義される:

次の用語はMIME Sniffing [MIMESNIFF]で定義される:

Fetch

次の用語はFetch [FETCH]で定義される:

次の用語は、Referrer Policy仕様[REFERRERPOLICY]で定義される:

次の用語は、Mixed Content [MIX]で定義される:

Paint Timing

次の用語はPaint Timing [PAINTTIMING]で定義される:

Long Tasks

次の用語はLong Tasks [LONGTASKS]で定義される:

Web IDL

Web IDLに記載されるとおりに、この仕様におけるIDL断片は、適合するIDL断片に要求されるとして解釈されなければならない。[WEBIDL]

次の用語はWeb IDLで定義される:

Web IDLはまた、この仕様においてWeb IDL断片で使用される次の型を定義する:

この仕様における用語投げるは、Web IDLで定義されるとおりに使用される。DOMException型および次の例外名はWeb IDLによって定義されかつこの仕様によって使用される:

この仕様が(特別な値Not-a-Numberであるかもしれない)特定の時間を表すDateオブジェクトを作成することをユーザーエージェントに要求する場合、もしあれば、その時刻のミリ秒コンポーネントは整数に切り捨てられなければならず、新しく作成されるDateオブジェクトの時刻値は、結果として生じる切り捨てられる時刻を表さなければならない。

たとえば、2000年1月1日1時より後の100万分の23045秒の時刻、つまり2000-01-01T00:00:00.023045Zが与えられる場合、時刻を表す作成されたDateオブジェクトは、100万分の45秒早い、時刻2000-01-01T00:00:00.023Zを表す作成されたものと同じ時刻を表す。与えられる時刻がNaNである場合、結果は(オブジェクトが特定の時間の瞬間を表さないことを示す)時刻値NaNを表すDateオブジェクトとなる。

JavaScript

この仕様によって記載される言語の一部は、基礎となるスクリプト言語としてJavaScriptのみをサポートする。[JAVASCRIPT]

用語JavaScriptはより広く知られているため、用語"JavaScript"は、公式用語ECMAScriptよりもむしろ、ECMA-262を参照するために使用される。同様に、RFC 4329によれば公式に廃止されたタイプであるにもかかわらず、最も一般的に使用されるタイプであるため、この仕様でJavaScriptを参照するために使用されるMIMEタイプは、text/javascriptである。[RFC4329]

次の用語はJavaScript仕様で定義され、この仕様で使用される:

JavaScriptをサポートするユーザーエージェントは、 import.meta提案も実装しなければならない。そこでは次のような用語が定義されており[JSIMPORTMETA]、この仕様では次のように使用される:

JavaScriptをサポートするユーザーエージェントは、ECMAScript Internationalization APIも実装しなければならない。[JSINTL]

DOM

ドキュメントオブジェクトモデル(DOM)は、文書とそのコンテンツの表現(モデル)である。DOMは単なるAPIではない。HTML実装の適合基準は、DOMに対する操作の観点から、この仕様で定義される。[DOM]

この仕様はDOMの観点で定義され、機能の一部はDOMインターフェイスの拡張機能として定義されるため、実装は、DOMおよびUI Eventsで定義されるイベントをサポートしなければならない。[DOM] [UIEVENTS]

具体的に、次の機能がDOM [DOM]で定義される:

次の機能は、UI Events [UIEVENTS]で定義される:

次の機能は、Touch Events [TOUCH]で定義される:

次の機能は、Pointer Events [POINTEREVENTS]で定義される:

この仕様は、イベントのタイプを参照するために用語名前(name)を使用することがある。たとえば、"clickと名付けられるイベント"または"イベント名がkeypressである場合"などである。イベントのための用語"名前"と"タイプ"は同義語である。

次の機能は、DOM Parsing and Serialization [DOMPARSING]で定義される:

Selectionインターフェイスは、Selection API仕様で定義される。[SELECTION]

ユーザーエージェントは、execCommandで説明される機能を実装することを勧める。[EXECCOMMAND]

Fullscreen API [FULLSCREEN]の次の部分は、ある程度dialog要素のレンダリングを定義するために、かつフルスクリーンAPIがHTMLと対話する方法を定義するために、この仕様から参照される:

High Resolution Timeは、現在の高解像度の時刻DOMHighResTimeStampのtypedefを提供する。[HRT]

File API

この仕様はFile API [FILEAPI]で定義される次の機能を使用する:

Indexed Database API

この仕様は、Indexed Database APIで定義されたcleanup Indexed Database transactionsを使用する。[INDEXEDDB]

Media Source Extensions

次の用語はMedia Source Extensions [MEDIASOURCE]で定義される:

Media Capture and Streams

次の用語はMedia Capture and Streams [MEDIASTREAM]で定義される:

Reporting

次の用語はReporting [REPORTING]で定義される:

XMLHttpRequest

次の機能は、XMLHttpRequest [XHR]で定義される:

Battery Status

次の機能は、Battery Status API [BATTERY]で定義される:

Media Queries

実装は、Media Queriesをサポートしなければならない。<media-condition>機能が定義される。[MQ]

CSSモジュール

全体としてのCSSのサポー​​トはこの仕様の実装に必要とされないが(少なくともウェブブラウザー用に奨励されるが)、一部の機能は、特定のCSS要件の観点で定義される。

この仕様が何かを特定のCSS 文法に従って解析することが要求される場合、エラー処理規則を含め、CSS Syntaxの関連するアルゴリズムに従わなければならない。[CSSSYNTAX]

たとえば、ユーザーエージェントは予期せずスタイルシートの最後を見つけると、開いているすべての構成物を閉じることを要求される。したがって、色値の(閉じ丸括弧の欠損している)文字列"rgb(0,0,0"を解析する場合、閉じ丸括弧はこのエラー処理規則によって暗示され、値は(色'black')を得られる。しかし、(欠損する括弧と欠損する"青"値の両方をもつ類似の構成物"rgb(0,0,"は、開いた構成物を閉じることは実行可能な値をもたらさないため、解析することができない。

To parse a CSS <color> value, given a string input with an optional element element, run these steps:

  1. Let color be the result of parsing input as a CSS <color>. [CSSCOLOR]

  2. If color is failure, then return failure.

  3. If color is 'currentcolor', then:

    1. If element is not given, then set color to opaque black.

    2. Otherwise, set color to the computed value of the 'color' property of element.

  4. Return color.

次の用語および機能は、Cascading Style Sheets (CSS) [CSS]で定義される:

CSS [CSS]はまた、次のボーダープロパティを定義する:

ボーダープロパティ
TopBottomLeftRight
Width'border-top-width''border-bottom-width''border-left-width''border-right-width'
Style'border-top-style''border-bottom-style''border-left-style''border-right-style'
Color'border-top-color''border-bottom-color''border-left-color''border-right-color'

'display'プロパティの基本バージョンはCSSで定義され、プロパティは他のCSSモジュールによって拡張される。[CSS] [CSSRUBY] [CSSTABLE]

次の用語および機能はCSS Logical Properties [CSSLOGICAL]で定義される:

次の用語および機能はCSS Color [CSSCOLOR]で定義される:

次の用語はCSS Images [CSSIMAGES]で定義される:

用語paint sourceは、CSS 'element()'関数と特定のHTML要素との相互作用を定義するためにCSS Images Level 4仕様で定義されるとおりに使用される。[CSSIMAGES4]

次の機能は、CSS Backgrounds and Borders [CSSBG]で定義される:

次の機能は、CSS Box Alignment [CSSALIGN]で定義される:

次の用語および機能はCSS Display [CSSDISPLAY]で定義される:

次の機能は、CSS Flexible Box Layout [CSSFLEXBOX]で定義される:

次の用語および機能はCSS Fonts [CSSFONTS]で定義される:

次の機能は、CSS Grid Layout [CSSGRID]で定義される:

次の用語および機能はCSS Inline Layout [CSSINLINE]で定義される:

次の用語および機能はCSS Intrinsic & Extrinsic Sizing [CSSSIZING]で定義される:

'list-style-type'プロパティは、CSS Lists and Countersで定義される。[CSSLISTS]

次の機能はCSS Overflowで定義される。[CSSOVERFLOW]

次の機能は、CSS Positioned Layout [CSSPOSITION]で定義される:

次の機能は、CSS Multi-column Layoutで定義される。[CSSMULTICOL]

'display'プロパティの'ruby-base'値は、CSS Ruby Layoutで定義される。[CSSRUBY]

次の機能は、CSS Table [CSSTABLE]で定義される:

次の機能は、CSS Text [CSSTEXT]で定義される:

次の機能は、CSS Writing Modes [CSSWM]で定義される:

次の機能は、CSS Basic User Interface仕様[CSSUI]で定義される:

アニメーションを更新してイベントを送信するアルゴリズムは、Web Animationsで定義される。[WEBANIMATIONS].

スクリプトをサポートする実装は、CSS Object Modelをサポートしなければならない。次の機能は、CSSOM仕様[CSSOM] [CSSOMVIEW]で定義される:

次の機能および用語は、CSS Syntax [CSSSYNTAX]で定義される:

次の機能は、Selectors [SELECTORS]で定義される:

次の機能は、CSS Values and Units [CSSVALUES]で定義される:

用語スタイル属性は、CSS Style Attributesで定義される。[CSSATTR]

次の機能は、CSS Cascading and Inheritance [CSSCASCADE]で定義される:

The CanvasRenderingContext2D object's use of fonts depends on the features described in the CSS Fonts and Font Loading specifications, including in particular FontFace objects and the font source concept. [CSSFONTS] [CSSFONTLOAD]

次のインターフェイスおよび用語は、Geometry Interfaces [GEOMETRY]で定義される:

次の用語はCSS Scoping [CSSSCOPING]で定義される:

Intersection Observer

次の用語は、Intersection Observer [INTERSECTIONOBSERVER]で定義される:

WebGL

次のインターフェイスはWebGL仕様[WEBGL]で定義される:

WebVTT

Implementations may support WebVTT as a text track format for subtitles, captions, metadata, etc., for media resources. [WEBVTT]

この仕様で使用される次の用語は、WebVTTで定義される:

WebSocket protocol

次の用語はFetch [FETCH]で定義される:

次の用語はThe WebSocket protocol [WSP]で定義される:

  • the WebSocket connection is established
  • extensions in use
  • subprotocol in use
  • a WebSocket message has been received
  • send a WebSocket Message
  • fail the WebSocket connection
  • close the WebSocket connection
  • start the WebSocket closing handshake
  • the WebSocket closing handshake is started
  • WebSocket接続は閉じられた(おそらくクリーンに
  • the WebSocket connection close code
  • the WebSocket connection close reason
  • Sec-WebSocket-Protocolフィールド
ARIA

role属性は、Accessible Rich Internet Applications (ARIA) [ARIA]で定義されており、次のようなロールがある:

加えて、次のaria-*コンテンツ属性はARIA [ARIA]で定義される:

最後に、次の用語がARIA [ARIA]で定義される:

Content Security Policy

次の用語は、Content Security Policy [CSP]で定義される:

Service Workers

次の用語はService Workers [SW]で定義される:

Secure Contexts

次の用語はSecure Contexts [SECURE-CONTEXTS]で定義される:

Permissions Policy

次の用語は、Permissions Policy仕様[PERMISSIONSPOLICY]で定義される:

Payment Request API

次の機能は、Payment Request API [PAYMENTREQUEST]で定義される:

MathML

全体としてMathMLに対するサポートは、この仕様によって要求されないが(少なくともウェブブラウザーの場合に奨励されるが)、特定の機能は、実装されている一部のMathMLに依存する。[MATHML]

次の機能は、Mathematical Markup Language (MathML)で定義される:

SVG

全体としてSVGに対するサポートは、この仕様によって要求されないが(少なくともウェブブラウザーの場合に奨励されるが)、特定の機能は、実装されている一部のSVGに依存する。

User agents that implement SVG must implement the SVG 2 specification, and not any earlier revisions.

次の機能はSVG 2仕様[SVG]で定義される:

Filter Effects

次の機能はFilter Effects [FILTERS]で定義される:

Worklets

次の機能はWorklets [WORKLETS]で定義される:

Cooperative Scheduling of Background Tasks

次の機能は、Cooperative Scheduling of Background Tasks [REQUESTIDLECALLBACK]で定義される:

Storage

次の用語は、Storage [STORAGE]で定義される:

Web App Manifest

次の機能は、Web App Manifest [MANIFEST]で定義される:


この仕様は、特定のネットワークプロトコル、スタイルシート言語、スクリプト言語、または上記のリストで要求されているもの以外のあらゆるDOM仕様のサポートを要求しない。しかし、この仕様で記載される言語は、スタイル言語としてCSS、スクリプト言語としてJavaScript、およびネットワークプロトコルとしてHTTPに偏っており、そして複数の機能は、これらの言語およびプロトコルが使用されることを前提とする。

同様に、HTTPプロトコルを実装するユーザーエージェントは、HTTP State Management Mechanism (Cookies)を実装しなければならない。[HTTP] [COOKIES]

この仕様は、それぞれの節で文字エンコーディング、画像フォーマット、オーディオフォーマット、およびビデオフォーマットの特定の追加要件があるかもしれない。

2.1.8 拡張性

ユーザーエージェントがこの仕様を拡張するベンダー固有のプロパティを強く推奨しない。そうすることは、特定のユーザーエージェントのユーザーだけが当該のコンテンツにアクセスすることができ、相互運用性を減少させユーザーベースを分断するので、文書はそのような拡張を使用してはならない。


この仕様にベンダー中立の拡張が必要になった場合、この仕様が状況に応じて更新されうる、または拡張仕様がこの仕様の要求を上書きされうるかのいずれかである。この仕様に自分の活動を適用するある人が、そのような拡張仕様の要件を承認することを決定する場合、拡張仕様はこの仕様における適合性要求の目的に適用可能な仕様になる。

誰かが適合するものとして任意のバイトストリームを定義する仕様を記述することができ、そしてランダムなジャンクが準拠していることを主張することができる。しかし、それはそのランダムなジャンクが皆の目的に実際に適合していることを意味しない。他の誰かがその仕様が自分の仕事に適用されないと判断する場合、彼らは、前述のランダムジャンクがそのもので、ジャンクであり、かつ一切適合しないものであると完全に合法的に言うことはできる。適合性に関する限り、特定のコミュニティーで重要なのは、そのコミュニティーが同意するものが適用可能なことである。

2.2 文字列の比較

patterns未満でかつpatternの長さにsを切り捨てが、互いにマッチとしての2つの文字列のままにする場合、文字列のpatternは、文字列s接頭辞一致である。

2.3 ポリシー制御機能

この文書では、次のポリシー制御機能を定義している:

Headers/Feature-Policy/document-domain

Firefox74+SafariNoChrome77+
Opera64+Edge79+
Edge (Legacy)NoInternet ExplorerNo
Firefox Android🔰 65+Safari iOSNoChrome AndroidNoWebView AndroidNoSamsung InternetNoOpera AndroidNo