スペックからわかるように、フレージングコンテンツが期待される場所ではボタン要素を使用できます。そして、nav要素のコンテンツモデルはフローコンテンツです。では、なぜ次のマークアップが有効なのですか?
<nav>
<button class="prev"></button>
<button class="next"></button>
</nav>
スペックからわかるように、フレージングコンテンツが期待される場所ではボタン要素を使用できます。そして、nav要素のコンテンツモデルはフローコンテンツです。では、なぜ次のマークアップが有効なのですか?
<nav>
<button class="prev"></button>
<button class="next"></button>
</nav>
フローコンテンツにはフレージングコンテンツが含まれているため、定義には明示的にbutton
要素が含まれます。
HTML 4(およびHTML 2でも)では、「厳密な」バージョンでは、テキストレベルのコンテンツをブロックレベルのコンテナーでラップする必要があり、「テキストレベル」はフレージングコンテンツとほぼ同じ意味です。しかし、HTML5にはそのような要件はありません。