META要素の記述順に制約があることを知った

レンダリングエンジン指定のMETA要素の記述について、実は、記述の順番に制約があることがわかったのでメモしておく。

レンダリングエンジンの指定方法には以下の2つがある。

  • 各ページにMETA要素として記述
  • HTTPレスポンスヘッダに記述

上記META要素の記述順に制約がある旨、MSDNのサイトに記載されているので、以下に引用する。

次の HTML META タグを各 Web ページの HEAD 要素に指定します (TITLE タグまたは META タグ以外のタグの前)。

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7"/>
現在のサイトを解決する方法 | Microsoft Docs

上記によると、レンダリングエンジン指定のMETA要素については、TITLE要素内で下記要素を除く全ての要素より前に記述しなければならない。

  • TITLE要素
  • META要素

実際、LINK要素を前に記述した場合、レンダリングエンジンの指定は適用されなかった。
なぜ上記の順序制約があるのかと調べていたところ、下記のサイトに辿り着いた。

上記サイトを要約すると、以下となる。

なるほど、メタ的な設定であれ、HTMLツリー内にある以上は上から順次評価されるということか。
・・・これ以上は何も言うまい。