グローバル属性は、すべての HTML 要素で共通の属性です。すべての要素で使用できますが、要素によっては効果がないこともあります。

グローバル属性は、標準仕様で明示されていないものを含むすべての HTML 要素で指定することができます。つまり、その要素を使用することで文書が HTML5 に準拠しなくなるような標準外の要素でも、これらの属性を受け入れなければなりません。例えば <foo> は正当な HTML 要素ではありませんが、 HTML5 準拠のブラウザーは <foo hidden>...</foo> とマークアップされたコンテンツを非表示にします。

基本的な HTML グローバル属性に加えて、以下のグローバル属性も存在します。

  • xml:lang 及び xml:base。これらは XHTML 仕様から継承したもので非推奨ですが、互換性のために維持されています。
  • アクセシビリティを向上するために使用する、複数の aria-* 属性。
  • イベントハンドラー属性: onabort, onautocomplete, onautocompleteerror, onblur, oncancel, oncanplay, oncanplaythrough, onchange, onclick, onclose, oncontextmenu, oncuechange, ondblclick, ondrag, ondragend, ondragenter, ondragexit, ondragleave, ondragover, ondragstart, ondrop, ondurationchange, onemptied, onended, onerror, onfocus, oninput, oninvalid, onkeydown, onkeypress, onkeyup, onload, onloadeddata, onloadedmetadata, onloadstart, onmousedown, onmouseenter, onmouseleave, onmousemove, onmouseout, onmouseover, onmouseup, onmousewheel, onpause, onplay, onplaying, onprogress, onratechange, onreset, onresize, onscroll, onseeked, onseeking, onselect, onshow, onsort, onstalled, onsubmit, onsuspend, ontimeupdate, ontoggle, onvolumechange, onwaiting

グローバル属性の一覧

accesskey
カレント要素用のキーボードショートカットを生成するためのヒントを与えます。この属性は文字を空白区切りで並べたリストで構成されます。ブラウザーは、コンピューターのキーボードレイアウトに存在する最初の文字を使用します。
autocapitalize
ユーザーによって入力/編集されたとき、入力文字列の先頭大文字化が自動的に行われるかどうか、どのように行われるかを制御します。以下の値を指定することができます。
  • off または none: 自動的な大文字化は適用されません(すべての文字は既定で小文字です)。
  • on または sentences: 各文の最初の文字を既定で大文字にします。それ以外の文字は既定で小文字です。
  • words:各語の最初の文字を既定で大文字にします。それ以外の文字は既定で小文字です。
  • characters: すべての文字は既定で大文字になります。
class
要素のクラスを空白区切りで並べたリストです。クラスは CSS の クラスセレクター や JavaScript の Document.getElementsByClassName() メソッドといった関数により、特定の要素を選択したり特定の要素にアクセスしたりすることを可能にします。
contenteditable
ユーザーによる要素の編集が可能かを示す列挙型属性です。可能である場合、ブラウザーは要素のウィジェットを編集可能なものに変更します。この属性では、以下の値のひとつを使用しなければなりません:
  • true または 空文字列: 要素が編集可能であることを示す
  • false: 要素は編集不可であることを示す
contextmenu
当該要素のコンテキストメニューとして使用する <menu>id を指定します。
data-*
カスタムデータ属性と呼ばれるこれらの属性は、HTML とスクリプトによって使用されるであろう HTML の DOM 表現との間で、固有の情報を交換できるようにします。すべてのカスタムデータは、属性を設定した要素の HTMLElement インターフェイスを通して使用できます。HTMLElement.dataset プロパティでデータにアクセスできます。
dir
要素のテキストの書字方向を示す列挙型属性です。以下の値を使用できます:
  • ltr: left to right を表し、左から右へ記述する言語 (日本語、英語など) に対して使用します。
  • rtl: right to left を表し、右から左へ記述する言語 (アラビア語など) に対して使用します。
  • auto: ユーザーエージェントに決定させます。書字方向が明確な文字が見つかるまで要素内の文字をパースして、その方向を要素全体に適用する初歩的なアルゴリズムを使用します。
draggable
Drag and Drop API を使用して要素をドラッグすることができるかを示す列挙型属性です。以下の値を使用できます:
  • true: 要素がドラッグ可能であることを示す
  • false: 要素はドラッグ不可であることを示す
dropzone
Drag and Drop API を使用して要素上にどのようなコンテンツをドロップできるかを示す列挙型属性です。以下の値を使用できます:
  • copy: ドロップにより、ドロップした要素のコピーを生成することを示す
  • move: ドロップされた要素は新しい場所に移動されることを示す
  • link: ドラッグしたデータへのリンクを生成する
hidden
要素はまだ、あるいはもはや関連性がないことを示す論理属性です。例えば、ログインのプロセスが完了するまで使えない要素を隠すために使用できます。ブラウザーはこのような要素を表示しません。この属性は、表示することが正当であるはずのコンテンツを隠すために使用してはいけません。
id
この属性は、文書全体で一意でなければならない識別子 (ID) を定義します。この属性の用途は、リンク (フラグメント識別子を使用)、スクリプト、スタイル (CSS を使用) で要素を特定することです。
is
標準の HTML 要素が、登録されたカスタム内蔵要素のようにふるまうように指定できます(詳しくはカスタム要素の使用を参照)。

メモ: item* 属性は、 WHATWG HTML Microdata 機能の一部です。

itemid
項目の一意でグローバルな識別子です。
itemprop
項目にプロパティを追加するために使用します。すべての HTML 要素は指定された itemprop 属性を持つことができ、この itemprop は名前と値の組で構成されます。
itemref
itemscope 属性を持つ要素の子孫以外のプロパティは、 itemref を使用して項目に関連付けることができます。これは文書中の他の場所で追加のプロパティがある要素の id (itemid ではない) の一覧を提供します。
itemscope
itemscope は (通常) itemtype とともに、ブロックに含まれている HTML が特定の項目に関するものであることを指定するために機能します。 itemscope は項目を作成し、それに関連付けられる itemtype のスコープを定義します。 itemtype は、項目やそのプロパティの文脈を説明するボキャブラリー (schema.org など) の有効な URL です。
itemtype
データ構造内の itemprop (項目のプロパティ)を定義するために使用する、ボキャブラリーの URL を指定します。 itemscope は、 itemtype で設定したボキャブラリーがデータ構造内でアクティブになるスコープを設定するために使用します。
lang
この属性は要素の言語の定義に関係するもので、編集不可能な要素が記述されている言語、あるいは編集可能な言語に記述されるであろう言語を定義します。タグは、IETF の文書である Tags for Identifying Languages (BCP47) で定義されている形式の値を 1 個持ちます。xml:lang はこの要素より優先します。
slot
shadow DOM のシャドウツリー内のスロットを、要素に割り当てます。slot 属性を持つ要素は、slot 属性の値と一致する name 属性の値を持つ <slot> 要素が生成したスロットに割り当てられます。
spellcheck
要素でスペルミスのチェックを行うかを定義する列挙型属性です。以下の値を指定できます:
  • true: 可能であればその要素でスペルチェックを行うことを示す
  • false: その要素でスペルチェックを行わないことを示す
style
この属性は、要素に適用する CSS スタイル宣言を包含します。なお、スタイルは別のファイルで定義することが推奨されます。この属性と <style> 要素の主な用途は、例えばテストのために、すばやくスタイルを適用できるようにすることです。
tabindex
要素が入力フォーカスを持てる (focusable) 場合に、シーケンシャルなキーボードナビゲーションに参加するか、また参加する場合はどの位置に入るかを示す整数値属性です。さまざまな値をとることができます:
  • 負の数は、要素はフォーカスを持つことが可能であるが順番的なキーボードナビゲーションでは到達できないことを表します。
  • 0 は、要素はフォーカスを持つことが可能であり順番的なキーボードナビゲーションで到達できるが、その相対的な順序はプラットフォームの慣習により定められることを表します。
  • 正の数は、要素はフォーカスを持つことが可能であり順番的なキーボードナビゲーションで到達できることを表します。またその相対的な順序は属性の値で定義され、 tabindex の数値の昇順に従います。複数の要素が同じ tabindex を共有する場合は、その相対的な順序は文書内における要素の相対的な位置に従います。
title
要素に関するアドバイザリー情報を表すテキストを包含します。このような情報は一般的にツールチップとしてユーザーに表示されますが、必ず表示されるとは限りません。
translate
要素の属性値や子孫 Text ノードの値が、ページをローカライズする際に翻訳されるか、あるいは変更せずにおくかを指定する列挙型属性です。以下の値を使用できます:
  • 空文字列または "yes": ページをローカライズする際に翻訳すべきであることを示します。
  • "no": 要素を翻訳しないことを示します。

仕様書

仕様書 状態 備考
HTML Living Standard
Global attributes の定義
現行の標準 最新のスナップショット以降、HTML 5.1itemiditempropitemrefitemscopeitemtype を追加しました。
HTML 5.1
Global attributes の定義
勧告 HTML Living Standard のスナップショット。HTML5spellcheckdraggabledropzone を追加しました。
HTML5
Global attributes の定義
勧告 HTML Living Standard のスナップショット。HTML 4.01 Specification との違いは、グローバル属性という概念を導入して dirlangstyleidclasstabindexaccesskeytitle を真にグローバルな属性にしたことです。
当初は XHTML の一部であった xml:lang を、HTML に組み込みました。
hiddendata-*contextmenucontenteditabletranslate を追加しました。
HTML 4.01 Specification 勧告 グローバル属性は定義していません。後の仕様書でグローバル属性になるいくつかの属性を、要素のサブセットで定義しています。
class および style は、次の要素を除くすべての要素で対応しています。 <base>, <basefont>, <head>, <html>, <meta>, <param>, <script>, <style>, <title>
dir は、次の要素を除くすべての要素で対応しています。 <applet>, <base>, <basefont>, <bdo>, <br>, <frame>, <frameset>, <iframe>, <param>, <script>
id は、次の要素を除くすべての要素で対応しています。 <base>, <head>, <html>, <meta>, <script>, <style>, <title>
lang は、次の要素を除くすべての要素で対応しています。 <applet>, <base>, <basefont>, <br>, <frame>, <frameset>, <iframe>, <param>, and <script>
tabindex は、次の要素のみで対応しています。 <a>, <area>, <button>, <object>, <select>, and <textarea>
accesskey は、次の要素のみで対応しています。 <a>, <area>, <button>, <input>, <label>, <legend> and <textarea>
title は、次の要素を除くすべての要素で対応しています。 <base>, <basefont>, <head>, <html>, <meta>, <param>, <script>, and <title>

ブラウザーの対応

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
accesskey あり あり あり あり あり あり
autocapitalize ? ? ? ? ? ?
class あり あり32 あり あり あり
contextmenu

522 3

あり — 524

なし9 なし

392 6

あり — 397

なし
data-* attributes あり あり あり あり あり あり
dir あり あり あり あり あり あり
dropzone あり — 58 -webkit- なし なし なし なし なし
hidden あり あり あり11 あり あり
id あり あり

32

あり — 328

あり あり あり
is67 なし

599

あり — 5910

なし55 なし
itemid あり あり あり あり あり あり
itemprop あり あり あり あり あり あり
itemref あり あり あり あり あり あり
itemscope あり あり あり あり あり あり
itemtype あり あり あり あり あり あり
lang あり あり あり あり あり あり
slot53 ?

5911

あり — 5912

?4010 -webkit-
spellcheck9 あり あり11 あり あり
style あり あり あり あり あり あり
tabindex あり あり あり あり あり あり
title あり あり あり あり あり あり
translate なし なし なし なし なし なし
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
accesskey あり あり あり あり あり あり あり
autocapitalize ? ? ? ? ? ? ?
class あり あり あり32 あり あり あり
contextmenu あり — 521 あり — 524 なし32 — 565 なし なし あり
data-* attributes あり あり あり あり あり あり あり
dir あり あり あり あり あり あり あり
dropzone あり — 58 -webkit- あり — 58 -webkit- なし なし なし なし あり
hidden4 あり あり あり あり あり あり
id あり あり あり

32

あり — 328

あり あり あり
is6767 なし

599

あり — 5910

55 なし なし
itemid あり あり あり あり あり あり あり
itemprop あり あり あり あり あり あり あり
itemref あり あり あり あり あり あり あり
itemscope あり あり あり あり あり あり あり
itemtype あり あり あり あり あり あり あり
lang あり あり あり あり あり あり あり
slot5353 ?

5911

あり — 5912

4010.16.0
spellcheck4747 あり57379.35.0
style あり あり あり あり あり あり あり
tabindex あり あり あり あり あり あり あり
title あり あり あり あり あり あり あり
translate なし なし なし なし なし なし なし

1. Until version 52 (exclusive): this feature is behind the Enable experimental Web Platform features preference.

2. This was removed from the Enable Experimental Web Platform Features due to a Web compatibility issue. In June 2017, it was removed entirely from the browsers. This is documented in Chromium bug 87553.

3. From version 52: this feature is behind the --enable-blink-features runtime flag (needs to be set to ContextMenu).

4. Until version 52 (exclusive): this feature is behind the Enable experimental Web Platform features preference. To change preferences in Chrome, visit chrome://flags.

5. Support for the contextmenu attribute has been removed from Firefox for Android (See bug 1424252).

6. From version 39: this feature is behind the --enable-blink-features runtime flag (needs to be set to ContextMenu).

7. Until version 39 (exclusive): this feature is behind the Enable experimental Web Platform features preference.

8. id is a true global attribute only since Firefox 32.

9. From version 59: this feature is behind the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

10. Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.customelements.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

11. From version 59: this feature is behind the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

12. Until version 59 (exclusive): this feature is behind the dom.webcomponents.enabled preference (needs to be set to true) and the dom.webcomponents.shadowdom.enabled preference (needs to be set to true). To change preferences in Firefox, visit about:config.

関連情報

  • Element および GlobalEventHandlers インターフェイスで、ほとんどのグローバル属性を調べることができます。

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, yyss, ethertank, shirayuki
最終更新者: mfuji09,