--- title: ': 文書レベルメタデータ要素' slug: Web/HTML/Element/meta tags: - HTML - HTML マイクロデータ - HTML 文書メタデータ - 'HTML:フローコンテンツ' - 'HTML:メタデータコンテンツ' - 'HTML:記述コンテンツ' - Reference - ウェブ - メタデータ - リファレンス - 文書 - 要素 translation_of: Web/HTML/Element/meta ---
{{HTMLRef}}

HTML の <meta> 要素は、他のメタ関連要素 ({{HTMLElement("base")}}, {{HTMLElement("link")}}, {{HTMLElement("script")}}, {{HTMLElement("style")}}, {{HTMLElement("title")}}) で表すことができない任意の{{Glossary("Metadata","メタデータ")}}を提示します。

コンテンツカテゴリ メタデータコンテンツ。 {{htmlattrxref("itemprop")}} 属性がある場合はフローコンテンツおよび記述コンテンツ
許可されている内容 なし。これは{{Glossary("empty element", "空要素")}}です。
タグの省略 空要素であるため開始タグは必須であり、終了タグは置いてはいけません。
許可されている親要素 <meta charset> および <meta http-equiv>: {{HTMLElement("head")}} 要素。{{htmlattrxref("http-equiv", "meta")}} がエンコーディング宣言ではない場合は、{{HTMLElement("head")}} 要素内にある {{HTMLElement("noscript")}} 要素の内部にも配置できます。
許可されている ARIA ロール なし
DOM インターフェイス {{domxref("HTMLMetaElement")}}

属性

この要素はグローバル属性を持ちます。

メモ: {{htmlattrxref("name", "meta")}} 属性は {{HTMLElement("meta")}} 要素において特別な意味を持ちます。また、 {{htmlattrxref("itemprop")}} 属性は、 <meta> 要素にすでに {{htmlattrxref("name", "meta")}}, {{htmlattrxref("http-equiv", "meta")}}, {{htmlattrxref("charset", "meta")}} のいずれかがある場合は設定してはいけません。

{{htmlattrdef("charset")}}
この属性は、ページで使用している文字エンコーディングを宣言します。この属性は 文字エンコーディングの標準 IANA MIME name のひとつであることが必要です。標準仕様では特定の文字エンコーディングを要求していませんが、以下の推奨事項があります。

メモ: ASCII と互換性がないエンコーディングとは、8ビットのコードポイント 0x20 から 0x7E が Unicode のコードポイント 0x0020 から 0x007E に対応していないエンコーディングです。

  • CESU-8, UTF-7, BOCU-1, SCSU を使用してはいけません。これらのエンコーディングでクロスサイトスクリプティング攻撃が実証されています。
  • UTF-32 を使用すべきではありません。これは、 HTML5 のエンコーディングアルゴリズムで UTF-16 と区別できないものがあるからです。
メモ:
  • 文字化けやセキュリティホールの発生を避けるため、宣言した文字エンコーディングはページを保存した文字エンコーディングと一致しなければなりません。
  • エンコーディングを宣言する {{HTMLElement("meta")}} 要素は {{HTMLElement("head")}} 要素の内部かつ HTML の始めから 1024 バイト以内に配置しなければなりません。これは、ページの文字集合を選択するまでに始めの部分しか確認しないブラウザーがあるためです。
  • この {{HTMLElement("meta")}} 要素はブラウザーが提供する、ページの ページの文字セットを判断するアルゴリズム の一部でしかありません。特に、HTTP の {{HTTPHeader("Content-Type")}} ヘッダーや{{Glossary("Byte-Order Mark","バイトオーダーマーク")}}はこの要素より優先します。
  • この属性を使用して文字エンコーディングを定義することを強く推奨します。ページで文字エンコーディングを定義しない場合は UTF-7 fallback cross-scripting technique のような、ページの利用者を攻撃するクロスサイトスクリプティング手法が実現する可能性があります。
  • charset 属性を持つ {{HTMLElement("meta")}} 要素は、 HTML5 より前の <meta http-equiv="Content-Type" content="text/html; charset=IANAcharset"> (IANAcharset は、同様の {{htmlattrxref("charset", "meta")}} 属性の値に対応します) と同義です。この構文はまだ許容されていますが、今後は推奨されません。
{{htmlattrdef("content")}}
この属性は状況に応じて、{{htmlattrxref("http-equiv", "meta")}} 属性または {{htmlattrxref("name", "meta")}} 属性に関連付けられた値を持ちます。
{{htmlattrdef("http-equiv")}}
プラグマディレクティブを定義します。属性名が http-equiv(alent) なのは、利用できる値のすべてが特定の HTTP ヘッダーの名前だからです。
{{htmlattrdef("name")}}

この属性は、文書レベルのメタデータの名前を定義します。 {{htmlattrxref("itemprop")}}, {{htmlattrxref("http-equiv", "meta")}}, {{htmlattrxref("charset", "meta")}} 属性のいずれかが設定されている場合は設定するべきではありません。

このメタデータの名前は、 {{htmlattrxref("content", "meta")}} 属性が持つ値と関連づけられます。 name 属性で使用できる値には以下のものがあります。

この属性では、 WHATWG Wiki の MetaExtensions ページで定義されている拡張リストの値も使用できます。まだ正式には承諾されていませんが、一般的に使用される名前があります。

{{htmlattrdef("scheme")}} {{obsolete_inline}}
この属性は、メタデータを説明するスキーマを定義します。スキーマは、フォーマットなど {{htmlattrxref("content", "meta")}} の値を正しく解釈するように導くコンテキストです。

メモ: この属性は廃止されたため使用しないでください。実際の使用例がなかったため、代替策はありません。

メモ

属性の組み合わせに応じて、メタデータの種類は以下のいずれかになります。

<meta charset="utf-8">

<!-- 3秒後にページをリダイレクト -->
<meta http-equiv="refresh" content="3;url=https://www.mozilla.org">

アクセシビリティの考慮事項

コンテンツの更新

refresh の値が設定されたページには、時間が短すぎるというリスクがあります。読み上げソフトのような支援技術を使用して操作している人は、全文を読むことができず、自動的にリダイレクトされる前のページの内容を理解できない可能性があります。いきなりで予告なしのページコンテンツの更新は、弱視の人々を惑わせる可能性もあります。

ビューポートの拡大縮小

user-scalable の値を no に設定してズーム機能を無効にすると、弱視の人々がページのコンテンツを読んだり理解したりすることを妨げます。

仕様書

仕様書 状態 備考
{{SpecName('Referrer Policy', '#referrer-policy-delivery-meta', '<meta name="referrer">')}} {{Spec2('Referrer Policy')}} <meta name="referrer"> の値やセマンティクスを定義
{{SpecName('HTML WHATWG', 'semantics.html#the-meta-element', '<meta>')}} {{Spec2('HTML WHATWG')}} itemprop 属性を追加
{{SpecName('HTML5 W3C', 'document-metadata.html#the-meta-element', '<meta>')}} {{Spec2('HTML5 W3C')}} charset 属性を追加
{{SpecName('HTML4.01', 'struct/global.html#h-7.4.4.2', '<meta>')}} {{Spec2('HTML4.01')}}

ブラウザーの互換性

以下の情報は MDN の Github (https://github.com/mdn/browser-compat-data) から取得したものです。

{{Compat("html.elements.meta")}}

関連情報