tl; dr
htmlを生成する広く使用されているいくつかのプログラムは、ブラウザーが適切に段落を閉じると仮定して、閉じているタグではなく、開く段落タグのみを生成します。
一見すると、ブラウザが段落を適切に閉じるという仮定は正しくないと思われます。私の解釈は正しいですか?より一般的には、この種の決定にはどのようなトレードオフが関係していますか?
moinmoinソースコードを参照すると、次のコード行が目を引きました。
# We only open those tags and let the browser auto-close them:
_auto_closing_tags = set(['p'])
(ソース)
実装の残りの部分を読んだ後、確かに、moinmoinがそのページの1つに対してhtmlコードを生成するとき、適切な場合は段落開始タグを正しく生成すると同時に、段落終了タグ(簡単に実行できるにもかかわらず)。
私の特定の、かなり珍しいユースケースでは、この動作は正しくありません。バグレポートを送信したり、動作を変更したりしたいと思います。ただし、この設計上の決定は思慮深く行われたようです。私はこれが一般的に正しい動作であるかどうかを知ることができるほど、HTML標準またはさまざまなブラウザ実装の複雑さに精通していないため、この動作を修正/変更する本能は見当違い。
このコードは、ブラウザの実装について有効な仮定を立てていますか?生成されたhtmlは有効ですか?より一般的には、ここで見落としているトレードオフは何ですか?