通常、これらの設計上の決定はどの仕様にも文書化されておらず、たまたま公開されているか、仕様の作成者自身によって説明されているワーキング グループのディスカッション アーカイブからのみ収集できます。ただし、この特定のケースでは、HTML 3.2は次のように述べています。
リテラル テキスト (要素など) 内を除いてPRE
、HTML は空白文字の連続したシーケンスを単一の空白文字 (ASCII 10 進数 32) と同等に扱います。これらの規則により、作成者はマークアップされたテキストを直接編集する際にかなりの柔軟性を得ることができます。HTML の将来の改訂では、関連付けられたスタイル シートで定義されたタブ ルールに関して、水平タブ文字 (ASCII 10 進数 9) の解釈が可能になる可能性があることに注意してください。
もちろん、今日見られる動作は、HTML 3.2 で指定されたものよりもはるかに複雑ですが、その理由はまだ当てはまると思います。この柔軟性が役立つ例の 1 つは、ハードラップしてインデントする予定の長い段落がある場合です。
<H1>Lorem ipsum</H1>
<P>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Fastidii oportere
consulatu no quo. Vix saepe labores an, pri illud mentitum et, ex suas quas
duo. Sit utinam volutpat ea, id vis cibo meis dolorum, eam docendi
accommodare voluptatibus no. Id quaeque electram vim, ut sed singulis
neglegentur, ne graece alterum has. Simul partiendo quaerendum et his.
空白が折りたたまれていない場合、インデントのためにテキストがハードラップされた異常に大きなギャップのある段落になってしまいます。
この設計上の決定の背後に何らかの理由を示唆する HTML 仕様は他にありません。特にHTML 4は折りたたみ動作のみを記述しており、HTML5 と Living 仕様はどちらも CSS に従っており、これも何も説明していません。HTML の以前のバージョンにも説明は含まれていませんが、次の抜粋はHTML 2.0のサンプル スニペットに表示されます。
<OL>
...
<UL COMPACT>
...
<LI> Whitespace may be used to assist in reading the
HTML source.
</UL>
...
</OL>