HTML5

タグ(要素)

META 要素

 編集:2022.09.14 by T.A.

メタ データを表す。

この要素を使用できる文脈

charset 属性が存在する場合、または要素の http-equiv の属性がエンコード宣言状態にある場合: HEAD 要素内。

http-equiv 属性が存在するが、エンコード宣言状態でない場合: HEAD 要素内。

http-equiv 属性が存在するが、エンコード宣言状態でない場合: HEAD 要素の子である NOSCRIPT 要素内。

name 属性が存在する場合: メタ データ内容が期待される場所。

itemprop 属性が存在する場合: メタ データ内容が期待される場所。

itemprop 属性が存在する場合: フレージング内容が期待される場所。

内容モデル

なし

text/htmlにおけるタグ省略

終了タグなし。

内容属性
解説

TITLEBASELINKSTYLESCRIPT 要素を用いて表現できない様々な種類のメタ データを表す。

META 要素は、name 属性をもつ文書レベルのメタ データ、http-equiv 属性を持つプラグマ ディレクティブ、および charset 属性をもつ HTML 文書が文字列形式にシリアライズされる(たとえば、ネットワーク上の伝送、またはディスク ストレージ)場合、ファイルの文字エンコーディング宣言を表すことができる。

name、http-equiv、charset、itemprop 属性のうちの 1 つを正確に指定しなければならない。

name、http-equiv、itemprop のいずれかが指定される場合、content 属性も指定しなければならない。そうでなければ、省略されなければならない。

文書ごとに charset 属性をもつ複数の META 要素があってはならない。

META 要素が name 属性を持つ場合、文書のメタ データを設定する。文書のメタ データは、名前と値のペアの観点から表される。META 要素の name 属性が名前を与え、同じ要素の content 属性が値を与える。名前はメタ データのどの側面を設定するかを指定する。妥当な名前とその値の意味は、以下で説明する。

META 要素が content 属性を持たない場合、メタ データの名前と値のペアの値部分は、空文字列である。


name属性

name

http-equiv属性

プラグマ ディレクティブ。列挙属性。

以下の表は、この属性に対して定義されたキーワードを列挙する。キーワードとともにその行の最初のセルに与えられた状態は、これらキーワードが対応する状態を与える。

キーワード 状態
content-language 廃止→HTML 要素の lang 属性で指定
content-type エンコーディング宣言。廃止→META 要素の charset 属性を使用
default-style デフォルト スタイル
refresh リフレッシュ
x-ua-compatible X-UA-Compatible
content-security-policy Content security policy
set-cookie 廃止→ HTTP ヘッダーの Set-Cookie を使用してください
content-type
エンコーディング宣言:(http-equiv="content-type")

エンコーディング宣言状態は、charset 属性の設定の単なる代替形式である。これは文字エンコーディング宣言である。

エンコーディング宣言状態の http-equiv 属性をもつ META 要素に対して、content 属性は、リテラルに文字列 "text/html;"、その後に任意の数の ASCII 空白文字が任意で続き、その後にリテラルに文字列 "charset=charset=utf-8" が続くものからなる文字列と ASCII 大文字・小文字不区別で一致する値を持たなければならない。

文書は、エンコーディング宣言状態の http-equiv 属性をもつMETA要素と、charset属性の存在するMETA要素の両方を含んではならない。

エンコーディング宣言状態は HTML 文書で使用されてもよいが、その状態の http-equiv 属性をもつ要素は XML 文書で使用されてはならない。

default-style
デフォルト スタイル:

このプラグマは、CSS スタイルシート セットの名前を設定する。

refresh
リフレッシュ:

このプラグマは、時限式のリダイレクトとして動作する。

Document オブジェクトは、宣言的にリフレッシュに関連付けられている(真偽値)。最初は false である。

リフレッシュ状態の http-equiv 属性をもつ META 要素に対して、content 属性はいずれかからなる値を持たなければならない:

x-ua-compatible
X-UA-Compatible:

実際問題として、このプラグマは、仕様により密接に従うように Internet Explorer に勧める。

X-UA-Compatible 状態における http-equiv 属性をもつ META 要素の場合、content 属性は、文字列 "IE=edge" に一致する ASCII 大文字・小文字不区別である値を持たなければならない。

ユーザー エージェントは、このプラグマを無視することが要求される。

content-security-policy
Content security policy:

このプラグマは Document の Content Security Policy を実施する。[CSP]

コンテンツ セキュリティ ポリシー状態で http-equiv 属性をもつ META 要素の場合、content 属性は妥当なコンテンツ セキュリティ ポリシーからなる値を持たなければならないが、任意の report-uri、frame-ancestors、または sandbox ディレクティブを含めてはならない。content 属性で指定されるコンテンツセキュリティポリシーは、現在の文書上に実施される。[CSP]

ページは、次のようなポリシーを使用して、インラインの JavaScript の実行を防止するだけでなく、すべてのプラグイン内容をブロックすることにより、クロス サイト スクリプティング攻撃のリスクを軽減することを選択するかもしれない。
<META http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'">

一度に文書で特定の状態をもつ複数の META 要素が存在してはならない。

Set-Cookie
(http-equiv="set-cookie")

ユーザー エージェントは、このプラグマを無視することが要求される。

content属性

要素の値。指定に応じた値。

charset属性

文字エンコーディング宣言。

文書で使用される文字エンコーディングを指定する。これは、文字エンコーディング宣言である。属性が存在する場合、その値は "utf-8" に一致する ASCII 大文字・小文字不区別でなければならない。


テスト