<meta>: メタデータ要素
===============

**`<meta>`** は HTML の要素で、メタデータを表します。これは、他のメタ関連要素 (`<base>`, `<link>`, `<script>`, `<style>`, `<title>`) で表すことができないものを表します。

|  |  |
| --- | --- |
| コンテンツカテゴリー | メタデータコンテンツ。 `itemprop` 属性がある場合はフローコンテンツ、記述コンテンツ。 |
| 許可されている内容 | なし。これは空要素です。 |
| タグの省略 | 空要素であるため開始タグは必須であり、終了タグは置いてはいけません。 |
| 許可されている親要素 | * `<meta charset>`, `<meta http-equiv>`: `<head>` 要素。`http-equiv` がエンコーディング宣言ではない場合は、 `<head>` 要素内にある `<noscript>` 要素の内部にも配置できます。
* `<meta name>`: メタデータコンテンツを受け入れるすべての要素。
* `<meta itemprop>`: メタデータコンテンツまたはフローコンテンツを受け入れるすべての要素。
 |
| 許可されている ARIA ロール | 対応するロールなし |
| 許可されている ARIA ロール | 許可されている `role` なし |
| DOM インターフェイス | `HTMLMetaElement` |

`<meta>` 要素で提供されるメタデータの型は、以下のいずれかになります。

* `name` 属性が設定されている場合、`<meta>` 要素は *文書レベルメタデータ* を提供し、ページ全体に適用されます。
* `http-equiv` 属性が設定されている場合、 `<meta>` 要素は *プラグマディレクティブ* であり、同様の名前の HTTP ヘッダーによって与えられるものと同等の情報を提供します。
* `charset` 属性が設定されている場合、 `<meta>` 要素は *文字セット宣言* であり、文書がどの文字エンコーディングでエンコードされているかを指定します。
* `itemprop` 属性が設定されている場合、`<meta>` 要素は *ユーザー定義のメタデータ* を提供します。
属性
--

この要素にはグローバル属性があります。

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

`charset`

この属性は、文書の文字エンコーディングを宣言します。この属性が存在する場合、その値は大文字小文字の区別なく "`utf-8`" という ASCII 文字列と一致する必要があります。UTF-8 が HTML5 文書で唯一の有効なエンコーディングだからです。文字エンコーディングを宣言する `<meta>` 要素は、文書の最初の 1024 バイトの中に完全に収まっている必要があります。

`content`

この属性は状況に応じて、`http-equiv` 属性または `name` 属性に関連付けられた値を持ちます。

`http-equiv`

プラグマディレクティブを定義します。属性名が `http-equiv(alent)` なのは、利用できる値のすべてが特定の HTTP ヘッダーの名前だからです。

* `content-security-policy`
 この値により、ページ作者がページのコンテンツポリシーを定義できます。いくつかの例外を除き、ポリシーはサーバーオリジンやスクリプトのエンドポイントの指定に関与します。これは、クロスサイトスクリプティング攻撃の対策になります。
* `content-type`
 文書の MIME タイプを宣言するもので、後に文字エンコーディングの定義が続きます。指定された場合、 `content` 属性には "`text/html; charset=utf-8`" 設定しなければなりません。これは `<meta>` 要素に `charset` 属性を指定した場合と同じであり、文書内の位置の制約も同様になります。 **メモ:** `text/html`で提供される文書でのみ使用することができます - XML MIME型で提供される文書では使用できません。
* `default-style`

既定の CSS スタイルシートセットの名前を設定します。

* `x-ua-compatible`
 指定された場合、 `content` 属性は "`IE=edge`" という値を持つ必要があります。ユーザーエージェントはこのプラグマを無視することが要求されます。
* `refresh` これは以下のことを指定する指示です。
    + `content` 属性に正の整数が 1 つだけ含まれている場合は、ページを再読み込みするまでの秒数。
    + `content` 属性に正の整数と、その後に文字列 '`;url=`' と有効な URL がある場合は、別のページにリダイレクトするまでの秒数。
**警告:**

`refresh` の値で設定されたページは、時間間隔が短すぎになるという危険性があります。画面の内側から読み上げるような支援技術を利用している人は、自動的にリダイレクトされる前にページの内容を読み、理解することができないかもしれません。また、弱視の人にとっても、突然に予告なくページ内容が更新されると、混乱させる可能性があります。

    + MDN WCAG を理解する、ガイドライン 2.2 の説明
    + MDN WCAG を理解する、ガイドライン 3.1 の説明
    + Understanding Success Criterion 2.2.1 | W3C Understanding WCAG 2.0
    + Understanding Success Criterion 2.2.4 | W3C Understanding WCAG 2.0
    + Understanding Success Criterion 3.2.5 | W3C Understanding WCAG 2.0

`name`

`name` 属性と `content` 属性を一緒に使用すると、文書のメタデータを名前と値のペアで提供することができます。 `name` 属性はメタデータの名前、 `content` 属性がその値を指定します。

HTML 仕様書で定義されている標準的なメタデータ名のセットについては、標準メタデータ名を参照してください。

例
-


```html
<meta charset="utf-8" />

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

仕様書
---

| Specification |
| --- |
| HTML Standard # the-meta-element |

ブラウザーの互換性
---------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

関連情報
----

* 標準メタデータ名
* 学習: `<meta>`
* viewport メタタグ