-
Notifications
You must be signed in to change notification settings - Fork 4
/
540.txt
297 lines (227 loc) · 13.7 KB
/
540.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
[24] [DFN[vendor prefix]] は、 [[CSS]]、[[DOM]]、[[HTML]] などで[[事業者]]依存の独自拡張機能に[[事業者]]名を[[接頭辞]]として付与するものです。
[EG[
[49] [[CSS]] の [CODE[opacity]] [[プロパティー]]は、長らく、
[CODE[-webkit-opacity]]、 [CODE[-moz-opacity]]、[CODE[-khtml-opacity]]
といった[[事業者接頭辞]]付きで実装されていました。
]EG]
[45] 実験的な新機能を導入するときに、将来標準化された際との互換性の問題や、
他の事業者や他の機能が標準化された際との衝突の問題を回避する策として
00年代に用いられるようになりました。
[46] ところが次第に一般の[[著者]]が[[事業者接頭辞]]付きの機能を普通に使うようになりました。
特定の [[Webブラウザー]]が使っている[[事業者接頭辞]]付き機能のみを用いていて他の
[[Webブラウザー]]では正しく機能しない [[Webページ]]が作られたり、
いろいろな [[Webブラウザー]]に対応させるためにあらゆる (存在しないものも含めた)
[[事業者接頭辞]]と機能名の組み合わせを列挙した[[スタイルシート]]を書くのが流行ったりしました。
自動的に各[[事業者接頭辞]]との組み合わせを列挙した形に「展開」するツールが作られたりもしました。
[47] 結局[[事業者接頭辞]]付きの機能自体を[[標準化]]せざるを得ない状況に陥りました
([[Compatibility Standard]])。[[著者]]が[[事業者接頭辞]]付きと無しの両方で機械的に同じ値を指定するようになったため、
将来標準化された際の互換性の問題を回避するとの当初の目的も達成できなくなりました。
[[著者]]も [[Webブラウザー]]の開発者も[[標準化]]の担当者も、
手間と互換性の制約ばかりが増えて何のメリットもない最悪な結末でした。
[48] 10年代前半にこうした問題点が明らかになってきてから、各社は新たに[[事業者接頭辞]]付きで実験機能を提供することをやめ、
他の形を模索するようになりました。
* 仕様書
[REFS[
- [43] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-06-10 18:36:00 +09:00]]) <https://html.spec.whatwg.org/#extensibility-2>
- [44] [CITE@en-GB-x-hixie[HTML Standard]] ([TIME[2016-06-10 18:36:00 +09:00]]) <https://html.spec.whatwg.org/#dom-canvas-getcontext>
]REFS]
* Vendor prefix の一覧
[22]
[FIG(list middle)[
- [CODE(CSS)@en[[[-ah-*]]]] ([[Antenna House]])
- [CODE(CSS)@en[[[-apple-*]]]] ([[Apple]])
- [CODE(CSS)@en[-epub-[VAR[*]]]]
- [CODE(CSS)@en[-fx-[VAR[*]]]]
- [CODE(CSS)@en[[[-ie-*]]]]
- [CODE[-internal-[VAR[*]]]] ([[Blink]])
- [CODE(CSS)@en[[[-khtml-*]]]] ([[KHTML]])
- [CODE(CSS)@en[[[-konq-*]]]] ([[Konqueror]])
- [CODE(CSS)@en[[[-manakai-*]]]] ([[manakai]])
- [CODE(CSS)@en[[[mixi-*]]]] ([[mixi]])
- [CODE(CSS)@en[[[-moz-*]]]] ([[Mozilla]])
- [CODE(CSS)@en[[[-ms-*]]]] ([[IE]])
- [CODE(CSS)@en[[[mso-*]]]] ([[Microsoft Office]])
- [CODE(CSS)@en[[[-o-*]]]] ([[Opera]])
- [CODE(CSS)@en[[[-oxy-*]]]] ([[Oxygen]])
- [CODE(CSS)@en[[[-webkit-*]]]] ([[WebKit]])
- [CODE(CSS)@en[-x-[VAR[*]]]]
- [CODE(CSS)@en[-xv-[VAR[*]]]] ([[Opera]])
]FIG]
* 標準化
[54] [[vendor prefix]] 付きの機能の一部は、その後[[標準化]]せざるを得なくなりました。
[FIG(list)[
- [CITE@en[Compatibility Standard]]
- [CITE@en[DOM Standard]]
-- [[dispatch]] ([[遺物イベント型]])
]FIG]
* 文脈
[50] かつては [CODE(DOMa)@en[visibilityState]] でも認められていましたが、
削除されました。
* 関連
[25] [[IETF]] は[[MIME型]]の [CODE(MIME)@en[[[vnd.*]]]] ([[vendor tree]]) などのように [[vendor prefix]]
と類似した構文を定義しています。
[26] [[X-*]] も参照。
* 歴史
[1] [CITE@en[Syntax and basic data types]]
( ([TIME[2011-04-16 03:28:12 +09:00]] 版))
<http://www.w3.org/TR/CSS21/syndata.html#vendor-keywords>
[2] [CITE@en[Cascading Style Sheets (CSS) Snapshot 2007]]
( ([TIME[2011-05-12 23:25:26 +09:00]] 版))
<http://www.w3.org/TR/2011/NOTE-css-beijing-20110512/#experimental>
[3] [CITE@en[Cascading Style Sheets (CSS) Snapshot 2010]]
( ([TIME[2011-05-12 23:24:12 +09:00]] 版))
<http://www.w3.org/TR/2011/NOTE-css-2010-20110512/#experimental>
[4] [CITE[IRC logs: freenode / #whatwg / 20110608]]
( ([TIME[2011-06-11 01:00:34 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20110608>
[5] [CITE@en[CSS vendor prefixes, again... - <Glazblog/>]]
( ([[glazou]] 著, [TIME[2011-11-09 21:39:35 +09:00]] 版))
<http://www.glazman.org/weblog/dotclear/index.php?post/2011/11/05/CSS-vendor-prefixes-again>
[6] [CITE@en[CSS vendor extension issues]]
( ([[Karl Dubost]] 著, [TIME[2011-11-09 04:13:57 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-archive/2011Nov/0009.html>
[7] [CITE[IRC logs: freenode / #whatwg / 20111111]]
( ([TIME[2011-11-12 00:43:00 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20111111>
[8] [CITE[IRC logs: freenode / #whatwg / 20111115]]
( ([TIME[2011-11-16 23:10:22 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20111115>
[9] [CITE@en[Vendor Prefixes Are Hurting the Web]]
( ([[Henri Sivonen]] 著, [TIME[2011-11-16 20:46:00 +09:00]] 版))
<http://hsivonen.iki.fi/vendor-prefixes/>
[10] [CITE@en[CSS Vendor Prefixes ''''''[''''''CSS Working Group Wiki'''''']'''''']]
( ([TIME[2011-11-16 23:58:22 +09:00]] 版))
<http://wiki.csswg.org/spec/vendor-prefixes>
[11] [CITE[IRC logs: freenode / #whatwg / 20120209]]
( ([TIME[2012-02-11 19:27:31 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120209>
[12] [CITE[IRC logs: freenode / #whatwg / 20120221]]
( ([TIME[2012-02-22 23:27:39 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120221#l-210>
[13] [CITE[IRC logs: freenode / #whatwg / 20120502]]
( ([TIME[2012-05-06 21:45:58 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120502>
[14] [CITE@en[Proposition to change the prefixing policy]]
( ([[Florian Rivoal]] 著, [TIME[2012-05-05 02:26:17 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-style/2012May/0125.html>
[15] [CITE[IRC logs: freenode / #whatwg / 20120713]]
( ([TIME[2012-07-21 01:41:48 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20120713#l-1035>
[16] [CITE@en[接頭辞外しと-webkit-サポート - fragmentary]]
( ([TIME[2012-08-14 02:06:20 +09:00]] 版))
<http://myakura.hatenablog.com/entry/2012/08/14/020029>
[17] [CITE[prefixes are out of fashion · cc1e3c1 · whatwg/xhr]]
( ([TIME[2012-09-16 06:58:00 +09:00]] 版))
<https://github.com/whatwg/xhr/commit/cc1e3c1f57c9e28974f0ab58c3c7fe6c70de4d59>
[18] [CITE@en[Re: pointerLock vendor prefixes, shims and usability]]
( ([[Boris Zbarsky]] 著, [TIME[2012-12-25 06:41:00 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webapps/2012OctDec/0731.html>
[19] [CITE@en[CSS WG Blog – Minutes San Diego F2F August 2012: Experimental Features Policy]]
( ([TIME[2013-04-04 02:02:48 +09:00]] 版))
<http://www.w3.org/blog/CSS/2012/08/30/resolutions-53/>
[20] [CITE[Developer FAQ - The Chromium Projects]]
( ([TIME[2013-04-04 01:08:00 +09:00]] 版))
<http://www.chromium.org/blink/developer-faq>
[21] [CITE@en[Page Visibility]]
( ([TIME[2013-05-20 23:01:23 +09:00]] 版))
<https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PageVisibility/Overview.html#sec-vendor-prefix>
[27] [CITE[Source Map Revision 3 Proposal - Google ドライブ]]
( ([TIME[2013-12-14 09:33:42 +09:00]] 版))
<https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit?pli=1#>
[28] [CITE@en[User Timing]]
( ([TIME[2013-12-16 22:17:37 +09:00]] 版))
<https://dvcs.w3.org/hg/webperf/raw-file/default/specs/UserTiming/Overview.html#vendor-prefixes>
[29] [CITE@en[Performance Timeline]]
( ([TIME[2013-12-16 22:27:38 +09:00]] 版))
<https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html#sec-vendor-extensions>
[30] ( ([TIME[2014-03-20 05:35:04 +09:00]] 版))
<http://peter.sh/data/vendor-prefixed-css.php>
[31] [CITE@en[Re: List of all CSS unprefixed properties]]
( ([[Daniel Glazman]] 著, [TIME[2014-03-19 15:58:34 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-style/2014Mar/0438.html>
[32] [CITE[IRC logs: freenode / #whatwg / 20140820]]
( ([TIME[2014-08-21 02:22:51 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140820#l-664>
[33] [CITE@en[WebDriver]]
( ([TIME[2014-11-07 11:13:51 +09:00]] 版))
<https://dvcs.w3.org/hg/webdriver/raw-file/default/webdriver-spec.html#h3_vendor-specific-extensions>
[34] [CITE@en[RFC 6749 - The OAuth 2.0 Authorization Framework]]
([TIME[2014-12-15 14:15:35 +09:00]] 版)
<http://tools.ietf.org/html/rfc6749#section-8.2>
[35] [CITE@en[1107378 – rewrite certain -webkit- prefixed CSS (ultimately for sites on a "fixlist", via bug 1132743)]]
([TIME[2015-02-27 17:33:34 +09:00]] 版)
<https://bugzilla.mozilla.org/show_bug.cgi?id=1107378>
[36] [CITE[JavaScript - click()やload()で追加したcssにベンダープレフィックスをつける - Qiita]]
( ([TIME[2015-03-01 14:26:41 +09:00]] 版))
<http://qiita.com/SeijiNishiwaki/items/31d8870420be756a1492>
[37] [[vendor prefix]] の弊害極まって >>36 みたいなわけのわからないテクニックが必要になっている...
[38] [CITE@en[Spec Element.webkitMatchesSelector() · Issue #3 · whatwg/compat]]
([TIME[2015-10-20 15:09:44 +09:00]] 版)
<https://github.com/whatwg/compat/issues/3>
[39] [CITE@en[Fixes #18. Spec -webkit-text-size-adjust. · whatwg/compat@9ca9281]]
([TIME[2016-01-01 11:17:38 +09:00]] 版)
<https://github.com/whatwg/compat/commit/9ca9281367491d4e0e4b2afb6a61012b38ab9f68>
[40] [CITE@en[''''''[''''''css-2015'''''']'''''' Pre-CR Unprefixed Features]]
([[fantasai]] 著, [TIME[2016-03-22 10:05:27 +09:00]] 版)
<https://lists.w3.org/Archives/Public/www-style/2016Mar/0303.html>
[41] [CITE[Updating Our Prefixing Policy | WebKit]]
([TIME[2016-04-26 23:07:22 +09:00]] 版)
<https://webkit.org/blog/6131/updating-our-prefixing-policy/>
[42] [CITE@en[Consider adding Document.fullscreen property · Issue #38 · whatwg/fullscreen]]
( ([TIME[2016-05-04 14:46:33 +09:00]]))
<https://github.com/whatwg/fullscreen/issues/38>
[51] [CITE@en[WebDriver]]
([TIME[2016-07-22 07:24:31 +09:00]])
<https://w3c.github.io/webdriver/webdriver-spec.html#dfn-extension-prefix>
[52] [CITE@en['''['''cssom''']''' Include vendor-prefixed properties in "supported CSS property"]]
([[zcorpan]]著, [TIME[2016-08-11 17:17:01 +09:00]])
<https://github.com/w3c/csswg-drafts/commit/e2f369bdd8569e7e34910fe8dbaf2aa2920bdaa2>
[53] [CITE@en[Suggest browser specific extension in Protocol Extensions. (#326)]]
([[shs96c]]著, [TIME[2016-09-08 19:49:40 +09:00]])
<https://github.com/w3c/webdriver/commit/324b0724a1257ef9342b4482a8bb9defe8ef6f7c>
[FIG(quote)[
[FIGCAPTION[
[55] [CITE[ARIB TR-B39]]
([TIME[2016-07-25 17:01:00 +09:00]])
<http://www.arib.or.jp/english/html/overview/doc/4-TR-B39v1_0-1p4.pdf#page=276>
]FIGCAPTION]
> 10.6.17 ベンダープレフィックス
> 10.6.17.1 種類
> 表 10-28 に示すベンダプレフィックスを運用する。それぞれの対応可否は受信機の商品企画とし、
> 対応しない項目については画面提示に影響を与えないこと。
> 表 10-28 ベンダープレフィックス一覧
> ベンダープレフィックス プロパティ・値
> webkit -webkit
> o -o
> ms -ms
> moz -moz-
> 10.6.17.2 ベンダープレフィックスを付与すべきプロパティ
> ベンダープレフィックスを付与すべきプロパティを表 10-29 に示す。ベンダープレフィックスを
> 付与するか否かは、受信機の対応状況に合わせて判断してもよい。
> 10.6.17.3 ベンダープレフィックスを付与すべき値
> ベンダープレフィックスを付与すべき値を表 10-30 に示す。ベンダープレフィックスを付与する
> か否かは、受信機の対応状況に合わせて判断してもよい。
> 10.6.17.4 ベンダープレフィックスを付与すべきイベント
> ベンダープレフィックスを付与すべきイベントを表 10-31 に示す。ベンダープレフィックスを付
> 与するか否かは、受信機の対応状況に合わせて判断してもよい。
>
]FIG]
[56] [CITE@en[protocol: define extension capabilities (#343)]]
([[andreastt]]著, [TIME[2016-10-06 23:29:33 +09:00]])
<https://github.com/w3c/webdriver/commit/dcc48dcef8c1979b490403e585bc8f580ed5006e>
[57] [CITE@en[Remove old-fashioned vendor-specific extension advice]]
([[annevk]]著, [TIME[2016-10-13 02:28:15 +09:00]])
<https://github.com/whatwg/html/commit/76f88a4015d55273749c34238d250b7bdb1aff62>
[23] [CITE@en[API Deprecations and Removals in Chrome 57 | Web | Google Developers]]
([TIME[2017-02-23 00:20:53 +09:00]])
<https://developers.google.com/web/updates/2017/02/chrome-57-deprecations?utm_source=feed&utm_medium=>
[58] [CITE@en-us[IndieUI: User Context 1.0]]
([TIME[2016-08-19 00:40:59 +09:00]])
<https://w3c.github.io/indie-ui/indie-ui-context.html>
[59] [CITE@en[Generalize protocol extension mechanism (#1177)]]
([[jugglinmike]]著, [TIME[2018-01-06 19:28:51 +09:00]])
<https://github.com/w3c/webdriver/commit/971ab897921b3a84ce5c426fefca5c9b3d2ebff2>
[60] [CITE@en[Generalize protocol extension mechanism by jugglinmike · Pull Request #1177 · w3c/webdriver]]
([TIME[2018-01-07 13:50:15 +09:00]])
<https://github.com/w3c/webdriver/pull/1177>
[61] [CITE@en[Make custom attribute rules consistent with custom element name rules · Issue #2271 · whatwg/html · GitHub]], [TIME[2023-03-29T03:06:10.000Z]] <https://github.com/whatwg/html/issues/2271>