2 Common infrastructure
HTMLのあらゆる用途を指している
並列処理
イベントループについては以下もみてねとのこと
https://html.spec.whatwg.org/#event-loop-for-spec-authors
そもそもここはParallel Queueなどの仕組みによってレースコンディションなどを起こさないようになっているよといのが書かれていると理解した
リソース
ユーザーエージェントが外部のリソースをデコードできる実装を備えているかどうかをサポートされていると言う
PNG画像とかで画像にアニメーションが入っていたとしてもピクセルデータをデコードできればサポートされている
メタデータぁらムービーファイルを判別できても、使用されている圧縮形式がサポートされていなかればサポートされた形式とはいえない
CSSのスタイルシートについて
@importも含めてサポートされていると暫定的に定義している
しかし本来であればこの使用はCSS WGで行うべきこと
Define which subresources block the DOM load event · Issue #1088 · w3c/csswg-drafts · GitHub
サブリソースの定義がまだどうするか続いているっぽい
DOMツリー
基本的にユーザーエージェントはDOMを変更してはいけない
HTML要素には特定のHTMLの要素を挿入したり、変更したり、削除したりができる
insertedNode、removedNode、oldParent
ここの章はDOMの章をみた方がいいrkasu.icon
プラグイン
オブジェクトのレンダリングはするけどDOMの変更はできないよ
サードパーティとかを安易に使うと脆弱性もあるので注意してね
PDFビュワーとかが一例としてある
これはプラグインだけどユーザーエージェントとは別で起動するPDFのアプリはプラグインとしては定義しない
だからブラウザ標準のものはこのプラグインの定義に入るけど、普通にnpmのライブラリとかで使ったビュワーはこの定義からは外れる
文字エンコーディング
これは別で仕様書読まないといけない
適合クラス
それぞれの立場(ブラウザベンダー、ツール開発者、Web開発者)が何を実装・遵守すべきかが書かれている
基本適合するHTMLをちゃんと書こうねってことだと理解
でも不適合でもブラウザでは動作するよ
ここで書く仕様に飛べるURLがあったけど一旦先に進みたいので飛ばす
日付ライブラリでこのドキュメント以外の仕様で書かれたサードパーティライブラリがあったら要注意
ブール値
trueとかfalseとかは書けない。falseを表すには属性そのものを省略する
code:html
<label><input type=checkbox checked name=cheese disabled> Cheese</label>
<label><input type=checkbox checked=checked name=cheese disabled=disabled> Cheese</label>
<label><input type='checkbox' checked name=cheese disabled=""> Cheese</label>
キーワードが列挙されている場合
属性が欠落している場合に欠損値デフォルトというのがあるのでそれを返す
空文字を設定できる
数値(Number)のアルゴリズムはおもにこのあたりに書いてある
日付
ISO 8601ライブラリは、日付と時刻を全く同じ方法で解析するとは限りません。
当たり前だけど年と月日情報は関連しているけど別々に取得できる
時間も同じ
タイムゾーン
この形式では、タイムゾーンオフセットを-23:59から+23:59まで設定できます。現在、実際のタイムゾーンのオフセット範囲は-12:00から+14:00で、タイムゾーンオフセットの分数は常に00、30、または45のいずれかです。しかし、タイムゾーンは政治的なボールとして扱われ、非常に気まぐれな政策決定の対象となるため、この状態が永遠に維持されるという保証はありません。
日付といっても色々ある(それはそう)
レガシーカラー
fontタグとか現在廃止になっているもの
URL
CORS設定属性
anonymous
匿名
use-credentials
資格情報を使用
リファラーポリシー属性
リンク対応をまずみる
次にリファラーポリシー属性をみる
meta属性の存在を確認して
最後にリファラーポリシーHTTPヘッダーをみる
遅延属性
ブロッキング属性
フェッチ優先度
#HTML #HTMLスペック