[1] [[HTML]] における[DFN[[RUBYB[大域属性]@en[global attribute]]]]は、
[[HTML名前空間]]に属するあらゆる[[要素]]で定義されている[[属性]]です。

* 文脈

[6] すべての[[HTML要素]]で使うことができます。[[カスタム要素]]でも使えます。

;; [7] 理論上は[[廃止]]された[[要素]]で使うこともできます。 (ただし[[廃止]]された[[要素]]を使うこと自体が禁止されています。)

[19] 
機械的にすべての[[HTML要素]]で使えることになっているので、
意味がなかったり、矛盾していたりすることもあります。

[EG[
[20] 例えば [CODE(HTMLe)@en[template]] [[要素]]に [CODE[hidden]]
[[属性]]を指定してもしなくても、何も変わりません。
]EG]

* 大域属性の一覧

[FIG(list)[ [2] [[大域属性]]
- [CODE[enterkeyhint]]

,[CODE(HTMLa)@en[[[active]]]],削除 → [CODE(HTMLa)@en[[[irrelevant]]]] [DEL@en[([[WHATWG]] [[WD]])]],[[Web Applications 1.0]]
,[CODE(HTMLa)@en[[[area]]]]
,[CODE(HTMLa)@en[[[class]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[disabled]]]],非標準,[[WinIE]]
,[CODE(HTMLa)@en[[[contenteditable]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[contextmenu]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[data-*]]]]
,[CODE(HTMLa)@en[[[dir]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[draggable]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[hidden]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[id]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[irrelevant]]]],削除 → [CODE(HTMLa)@en[[[hidden]]]] [DEL@en[([[WHATWG]] [[WD]])]],[[HTML 5]]
,[CODE(HTMLa)@en[[[lang]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[language]]]],非標準,[[WinIE]]
,[CODE(HTMLa)@en[[[ng-*]]]]
,[CODE(HTMLa)@en[[[on[VAR[*]]]]]]
,[CODE(HTMLa)@en[[[ref]]]],削除 [DEL@en[([[WHATWG]] [[WD]])]],[[HTML 5]]
,[CODE(HTMLa)@en[[[registrationmark]]]],削除 [DEL@en[([[WHATWG]] [[WD]])]],[[HTML 5]]
,[CODE(HTMLa)@en[[[runat]]]],非標準,[[WinIE]]
,[CODE(HTMLa)@en[[[style]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[tabindex]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[title]]]],[[WHATWG]] [[WD]],[[HTML 5]]
,[CODE(HTMLa)@en[[[repeat]]]],[[WHATWG]] [[WD]],[[Web Forms 2.0]]

[HISTORY[
- [CODE[moz-actionhint]]
- [CODE(HTMLa)@en[ad-[VAR[*]]]]
- [CODE(HTMLa)@en[dropzone]]
- [CODE(HTMLa)@en[has][has=""]]
- [CODE(HTMLa)@en[i-amp-[VAR[*]]]]
- [CODE[inputmode-action]]
- [CODE[inputmodeaction]]
- [CODE(HTMLa)@en[on][on=""]]
- [CODE(HTMLa)@en[repeat]]
- [CODE(HTMLa)@en[repeat-max]]
- [CODE(HTMLa)@en[repeat-min]]
- [CODE(HTMLa)@en[repeat-template]]
- [CODE(HTMLa)@en[template][template=""]]
- [CODE(HTMLa)@en[v]]
- [CODE(HTMLa)@en[webkitdropzone]]
- [CODE(XMLa)@en[xml:lang]]
- [CODE(XMLa)@en[xmlns]]
]HISTORY]
]FIG]

[11] 他に、[[HTML要素]]以外も含めたすべての[[要素]]で使える[[超大域属性]]もあります。

* HTML に変換される言語における独自の属性

[21] [[HTMLの属性]]ではありませんが、 [[HTMLに変換されることを前提とした言語]]における
[[HTML]] 類似の構文には、独自に[[属性]]が用意されていることがあります。

[22] 例えば [[Markdown]] の[[方言]]の中には、 [[HTML要素]]に変換されるものに
[CODE[markdown][markdown=""]] [[属性]]を指定できるものがあります。

* 関連

[4] [[XML名前空間]]では[[名前空間]]に所属する[[属性]]のことを「[[大域属性]]」
と呼んでいますが、それと [[HTML]] における[[大域属性]]は関係がありません。

;; [5] [[HTML名前空間]]の[[属性]] (>>4 の意味での[[大域属性]]) は、[[HTML名前空間]]の項を参照してください。

* 歴史

** 属性集合 [CODE(SGML)[%attrs]] (HTML)

[12] [[HTML]] の[DFN[[[属性集合]] [CODE(SGML)[%attrs]]]]
は、ほぼすべての[[要素型]]で定義されている[[属性]]が含まれているようです。

[13] 仕様書:
[REFS[
- [[HTML 4]]
-- [[厳密DTD]] <IW:HTML4:"sgml/dtd.html#attrs">
-- [[移行用DTD]] <IW:HTML4:"sgml/loosedtd.html#attrs">
-[[XHTML 1.0]]
-- [CSECTION[A.1.1. XHTML-1.0-Strict]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-strict.dtd_attrs>
-- [CSECTION[A.1.2. XHTML-1.0-Transitional]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-transitional.dtd_attrs>
-- [CSECTION[A.1.3. XHTML-1.0-Frameset]]
<http://www.w3.org/TR/2002/REC-xhtml1-20020801/dtds.html#dtdentry_xhtml1-frameset.dtd_attrs>
]REFS]

[14] 属性:
,属性名,属性値,既定値,説明,出典
,[CODE(SGML)[%[[coreattrs]]]],==,==,中核属性,[HTML 4]
,[CODE(SGML)[%[[events]]]],==,==,[[内在事象属性]],[HTML 4]
,[CODE(SGML)[%[[i18n]]]],==,==,言語・文字,[HTML 4]

** 属性集合 [CODE(HTML)@en[Common]]

[15] [[XHTML m12n]] (や [[XHTML2]]) における[[属性集合]] [DFN[[CODE(HTML)@en[[[Common]]]]]]
は、 [[XHTML m12n]] (や [[XHTML2]]) で定義されているほとんどの[[要素]]に共通で使える[[属性]]の[[集合]]を表しています。
これらの[[属性]]は[DFN[[[共通属性]]]]と呼ばれることもあります。

[16] [[HTML4]] における [CODE(SGML)@en[[[%attrs;]]]] に近いですが、厳密な定義は異なります。

[23] [[XHTML m12n]] では、[[共通属性]]は[[大域属性][大域属性 (XML)]]としても用いられることになっていました。

;; [[HTML名前空間]]参照。

[17] [[HTML5]] には「[[大域属性]]」がありますが、これは [[HTML5]]
で定義されていない[[要素]]も含むすべての [[HTML名前空間]]の[[要素]]で共通で利用できるもので、
[[HTML4]] や [[XHTML m12n]] とは定義が異なります。

[18] [CITE@en[XHTML+RDFa 1.1 - Second Edition]]
( ([TIME[2013-08-15 17:11:45 +09:00]] 版))
<http://www.w3.org/TR/2013/REC-xhtml-rdfa-20130822/#s_metaAttributes>

** HTML5 大域属性

[3] [[大域属性]]は、[[HTML4]] における [CODE(SGML)@en[[[%attrs;]]]] や [[XHTML m12n]]
における [CODE(HTML)@en[[[Common]]]] に含まれる[[属性]]と位置付けが似ていますが、
より拡充されており、また、[[HTML4]] や [[XHTML]] では仕様上定義されている[[要素]]に関してのみ存在するのに対し、
[[HTML5]] 以来の「[[大域属性]]」はすべての[[要素]]で存在することが異なります。


[8] [CITE[Packaged Web Apps (Widgets) - Packaging and XML Configuration (Second Edition)]]
( ([TIME[2012-11-22 21:22:20 +09:00]] 版))
<http://w3c.github.com/packed-webapps/packaging/#global-attributes>

[9] [CITE@en[Re: Custom Elements: 'data-' attributes]]
( ([[Ian Hickson]] 著, [TIME[2014-05-08 04:03:34 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webapps/2014AprJun/0329.html>

[10] [CITE@en[The DOM Standard defines the class, id, and slot attributes · whatwg/html@36c9938]]
([TIME[2016-03-24 22:01:17 +09:00]] 版)
<https://github.com/whatwg/html/commit/36c9938b102fecadf6029a248f40aae83ea099d2>