[25] 活性書式付け要素のリストは、 HTML構文解析器において開始タグと終了タグが正常に入れ子関係になっていない時に、 木構造を保ちつつ著者の意図したレンダリングを実現するために書式付け要素を開き直したりするためのリストです。 AAA と共にHTML構文解析器の歴史的暗部の一つです。
[16] 活性書式付け要素のリストは、 >>1 HTML構文解析器を構成するリストの1つです。
[19] このリストには、 要素やマーカーと呼ばれる目印が push により追加されたり、 pop によって除去されたりします。初期状態ではこのリストは空です。
[21] 要素は、多妻ノアの方舟 (>>8) によって末尾以外から除去されたり、 clear によって一度に複数個除去されたりすることもあります。 AAA によっても除去されることがあります。再構築によって他の要素に置き換えられることもあります。
[3] HTML構文解析器における要素の分類の1つである書式付け >>2 は、 活性書式付け要素のリストに追加され得る要素を表しています。
[8] 活性書式付け要素のリストに新たに要素が追加 (push onto the list of active formatting elements) される際、ノアの方舟条項によるチェックが行われます >>1。
[9] すなわち、新たに追加する要素と同じものが既に3つ活性書式付け要素のリストに含まれている (マーカーがある場合、そのマーカー以後に3つ含まれている) 場合には、 最古の要素をリストから削除します >>1。
[10] ここで同じ要素であるとは、各要素の元となった字句のタグ名と属性、 それに名前空間が等しいことをいいます。属性が同じであるとは、 属性名と属性値と名前空間が等しいことをいいます。 一方のみに設定された属性があると等しくありません。 >>1
[22] 手順6で rewind に戻る例
<!DOCTYPE HTML><p><b><i><u></p> <p>X
[26] Editorial: button doesn't insert a marker, template does (#1036) · whatwg/html@f66348e ( 版) <https://github.com/whatwg/html/commit/f66348ee863408c1888b0e455bf93317ae632954>