[15] [DFN[[CODE[binding]]]] / [DFN[[CODE[-moz-binding]]]]
は、[[要素]]に適用されるべき [[XBL]] [[束縛]]を指定する
[[CSSプロパティー]]でした。


* XBL1

[12] [[Gecko]] は [[CSS]] から [[XBL1]] を[[束縛]]するために
[CODE(CSS)@en[-moz-binding]] [[プロパティー]]を使っていました。

[23] [[Mozilla]] や [[Firefox]] は実際に[[利用者エージェントスタイルシート]]で
[[HTML]] や [[XUL]] の一部の[[要素]]で [CODE[-moz-binding]] を使っていました。
[[著者]]も[[束縛]]を [CODE[-moz-binding]] で指定可能でした。

* XBL2

[24] [[XBL2]] でも[[束縛]]を [[CSS]] により指定するために
[CODE[binding]] [[プロパティー]]が規定されていました。

[17] [CITE@en-US[Behavioral Extensions to CSS]]
( ([TIME[2010-09-03 10:05:52 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/css-module.html#the-binding-property>

[18] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#the-binding-element>

[19] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#attachment-using-ltbinding-elementgt>

[4] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#attachment-using-css>

[5] [CITE@en-US[XBL 2.0]]
( ([TIME[2012-05-03 02:23:03 +09:00]] 版))
<http://dev.w3.org/2006/xbl2/Overview.html#the-htmlbindingelement-interface>

[6] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#the-binding>

[7] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#binding>

[8] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#attachment4>

[9] [CITE@en-US[XML Binding Language (XBL) 2.0]]
( ([TIME[2007-03-16 22:20:16 +09:00]] 版))
<http://www.w3.org/TR/2007/CR-xbl-20070316/#attachment0>

[10] [CITE@en-US[Behavioral Extensions to CSS]]
( ([TIME[2014-10-11 04:45:55 +09:00]] 版))
<http://www.w3.org/TR/2014/NOTE-becss-20141014/>

[20] [CITE[HTML Standard]] は[[フォームコントロール]]など特殊な動作の[[要素]]の挙動のために[[利用者エージェントスタイルシート]]の規定で
[CODE[binding]] を使っていました。ただし [CITE[HTML Standard]]
の独自の構文で、直接実装されることを想定したものではなく概念的なものを説明するためとされていました。

;; [21] [[Hixie]] の構想で将来的に既存[[フォームコントロール]]を[[束縛]]により
[[explain]] できる構文を先取りして使っていたのでしょう。

[11] [CITE@en[Bug 27376 – http://www.w3.org/TR/becss/ is dead so things relying on it might need to be reworked]]
( ([TIME[2014-11-22 16:56:48 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=27376>

;; [13] [[BECSS]] も参照。

[14] [CITE@en[Remove the concept of CSS Bindings]]
([[annevk]]著, [TIME[2016-07-08 02:00:41 +09:00]])
<https://github.com/whatwg/html/commit/6c96beabfa41d6d28ab23633966b82c5cdb9fd94>

* セキュリティー

[22] [[CSS]] を通じて [[JavaScript]] コードを指定可能なものなので、
[[サニタイザー]]の類では注意が必要とされていました。

* メモ

[1] Q: [CODE(CSS)[-moz-binding: XBL]] を指定したのに、うまく動きません。

[2] A: >>1 [[XML]] として [[Mozilla]] が [[XBL]] ファイルを認識していない可能性があります。
[[HTTP]] の場合は[[媒体型]]が [[application/xml]], local の場合は[[拡張子]]が
[CODE[.xml]] になっているか確認しましょう。
([CODE[.xml]] ってなんかやだなと思って [CODE[.xbl]] にしても、 XML
だと思ってくれないので注意。)
- [3] A: >>1 今の Mozilla の実装では、[[文書要素]] ([[根要素]]) や [CODE(CSS)[[[display]]: none]] の要素に束縛を指定してもうまく動きません。 (仕様か不具合か不明。) その他にも、相性か何かで上手く動かないことがあります。まだ枯れてない機能だから仕方ないですが、早いところ何とかなって欲しいです。

[16] [CITE[Bug 3935 – mozilla-native pseudo classes and properties should be marked as such '''['''SELECT''']''']]
([TIME[2010-07-04 21:17:45 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=3935>

