/
616.txt
171 lines (131 loc) · 8.12 KB
/
616.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
[17] 利用者界面イベント。外部機器 ([[マウス]], [[鍵盤]]等) による利用者の動作により発生する。 (''Document Object Model Events'' <http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-overview-terminology>)
* 旧 UI イベント仕様書
[5] [CITE@en[UI Events]]
( ([TIME[2013-02-10 17:04:08 +09:00]] 版))
<https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm>
** 歴史
[REFS[
-[6] [CITE@en[Re: "DOM4 Events" name (was: RE: ReSpec BiblioDB Entry for DOM Level 4 Events)]]
( ([[Anne van Kesteren]] 著, [TIME[2013-01-08 03:57:19 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-dom/2013JanMar/0022.html>
-[7] [CITE@en[Re: ReSpec BiblioDB Entry for DOM Level 4 Events]]
( ([[Anne van Kesteren]] 著, [TIME[2013-01-05 20:55:32 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-dom/2013JanMar/0002.html>
]REFS]
* [CODE(DOMi)@en[UIEvent]] インターフェイス (DOM)
** 仕様書
[REFS[
- [9] [CITE@en-US[Document Object Model (DOM) Level 3 Events Specification]] ([TIME[2012-10-25 23:58:38 +09:00]] 版) <http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-UIEvent>
- [8] [CITE@en[UI Events]] ([TIME[2013-05-08 13:22:50 +09:00]] 版) <https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm#constructor-uievent>
]REFS]
* 入力装置関係のイベントと API
[27] [[イベント]]や [[API]]:
[FIG(short list)[
- [CODE(DOMi)@en[[[MouseEvent]]]]
- [[Touch Events]]
- [[Pointer Events]]
- [[Gesture Events]]
- [[Mouse gesture events]]
- [CODE(DOMi)@en[[[KeyboardEvent]]]]
- [CODE(DOMi)@en[[[TextEvent]]]]
- [CODE(DOMi)@en[[[FocusEvent]]]], [CODE(HTMLa)@en[[[tabindex]]]], [CODE(CSS)@en[[[nav-*]]]]
- [CODE(HTMLa)@en[[[accesskey]]]], [CODE(CSS)@en[[[key-equivalent]]]]
- [[IndieUI]]
- [CODE(DOMa)@en[[[wiiremote]]]]
- [[IME API]]
- [CODE(HTMLa)@en[[[inputmode]]]]
- [CODE(CSS)@en[[[ime-mode]]]]
]FIG]
[28] [[利用者インターフェイス]]操作:
[FIG(short list)[
- [[鍵盤操作 (Webブラウザー)]]
- [[マウス操作 (Webブラウザー)]]
-- [[クリック]]
-- [[ドラッグアンドドロップ]]
-- [[マウスジェスチャー]]
]FIG]
* 著者による利用者操作の妨害
[31] [[著者]]の[[スクリプト]]により次のような[[イベント]]の[[既定動作]]を[[取消]]するなどの方法で、
[[利用者]]の操作が妨害されることがあります。
[[Webブラウザー]]は、そのような妨害を受けずに[[利用者]]の操作を受け付ける方法を用意するべきです。
[FIG(list)[
- [CODE(DOMe)@en[[[contextmenu]]]] [[イベント]] - [[Webブラウザー]]の[[文脈メニュー]]の表示を妨害する
- [CODE(DOMe)@en[[[copy]]]] [[イベント]]、[CODE(DOMe)@en[[[cut]]]] [[イベント]]、
[CODE(DOMe)@en[[[paste]]]] [[イベント]] - [[クリップボード]]操作を拒絶する
- [CODE(DOMe)@en[[[select]]]] [[イベント]]、[CODE(DOMe)@en[[[selectstart]]]] [[イベント]]、[CODE(DOMe)@en[[[drag]]]] [[イベント]]、[CODE(DOMe)@en[[[dragstart]]]] [[イベント]] - [[選択]]操作を妨害する
- [[キーボードイベント]] - [[再読込]]、[[戻る]]などの操作を妨害する
- [[キーボードイベント]] [KBD[[KBD[[[Ctrl]]]] + [KBD[[[F]]]]]] - [[検索]]を (低品質に) 独自実装する
- [CODE(HTML)@en[[[<meta name=viewport>]]]] - [[拡大]]・[[縮小]]操作を拒絶する
- [CODE(CSS)@en[[[scrollbar-[VAR[*]]]]]] - [[スクロールバー]]を細くして[[利用者]]が操作しづらくする
- [CODE(CSS)@en[[[overflow]]: [[hidden]]]] - [[スクロール]]を拒絶する
- [CODE(DOMe)@en[[[pushState]]]]: [[履歴]]操作を妨害する
]FIG]
[32] [[著者]]は、こうした[[利用者]]の通常の閲覧操作に介入するべきではありません。
* メモ
[1] 【DOM】[[外部機器]] ([[マウス]], [[鍵盤]]等)
による[[利用者]]の動作により発生する[[事象]]。UI Event。
[2] [[DOM2]] UI Events がその最初の仕様。ただし [[DOM0]] の [[on*]]
属性/特性がその祖先に当たる。 (直接的には互換性はないが、
仕様策定上矛盾がないようには配慮されている。[WEAK[ちなみに、 on* 属性群の直接の子孫に当たるのが [[XMLEvent]]。つまり、事象の振る舞いとしての定義は DOM へ、記述方法としてのマークは XML Event が後継規格。]])
[3] DOM 2 が [[WinIE]] でなかなか実装されないのは [[Netscape]]
の提案に大幅に基づいているからだという噂があるが、 UI 事象の部は特に
Netscape の影響が強い。 M$ は 永遠に実装しない気だろうか?
[10] [CITE@en[UI Events]]
( ([TIME[2013-07-25 05:49:20 +09:00]] 版))
<http://www.w3.org/TR/2013/WD-uievents-20130725/>
[11] [CITE[IRC logs: freenode / #whatwg / 20131024]]
( ([TIME[2013-10-26 18:11:45 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20131024>
[12] [CITE@en[UI Events]]
( ([TIME[2013-11-05 13:57:17 +09:00]] 版))
<http://www.w3.org/TR/2013/WD-uievents-20131105/>
[13] [CITE@en[UI Events]]
( ([[Anne van Kesteren]] 著, [TIME[2014-02-04 22:30:44 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-dom/2014JanMar/0064.html>
[14] [CITE@en[Re: Pointer Events spec and UIEvents reference]]
( ([[Кошмарчик]] 著, [TIME[2014-04-19 02:34:55 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-pointer-events/2014AprJun/0033.html>
[15] [CITE@en[Web input brainstorming face-to-face notes]]
( ([[Rick Byers]] 著, [TIME[2014-07-03 22:51:48 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-style/2014Jul/0050.html>
[16] [CITE[IRC logs: freenode / #whatwg / 20140729]]
( ([TIME[2014-07-30 09:45:34 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140729>
[18] [CITE[IRC logs: freenode / #whatwg / 20121128]]
( ([TIME[2012-12-09 02:18:35 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20121128#l-1719>
[19] [CITE@en[Web Applications 1.0 r8697 Make sure places that use UIEvent define .detail and .view]]
( ([TIME[2014-08-02 07:04:00 +09:00]] 版))
<http://html5.org/r/8697>
[20] [CITE@en[RE: "DOM4 Events" name (was: RE: ReSpec BiblioDB Entry for DOM Level 4 Events)]]
( ([[Travis Leithead]] 著, [TIME[2013-01-08 04:48:50 +09:00]] 版))
<http://lists.w3.org/Archives/Public/www-dom/2013JanMar/0025.html>
[21] [CITE@en[Re: CfC: publish WG Note of UI Events; deadline November 14]]
( ([[Anne van Kesteren]] 著, [TIME[2014-11-08 00:36:03 +09:00]] 版))
<http://lists.w3.org/Archives/Public/public-webapps/2014OctDec/0344.html>
[4] [CITE@en[''''''[''''''UIEvents'''''']'''''' telecon minutes 10 March 2015]]
([[Travis Leithead]] 著, [TIME[2015-03-11 10:03:54 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0776.html>
[22] [CITE@en[Re: CfC: publish WG Note of UI Events; deadline November 14]]
([[Arthur Barstow]] 著, [TIME[2015-03-12 22:23:52 +09:00]] 版)
<https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0786.html>
[23] [CITE@en[UI Events (Keyboard Extension)]]
([TIME[2015-03-12 01:03:08 +09:00]] 版)
<http://jay.w3.org/~plehegar/uievents-ext.html>
[24] [CITE@en-US[UI Events Specification (formerly DOM Level 3 Events)]]
([TIME[2015-03-12 06:17:38 +09:00]] 版)
<http://jay.w3.org/~plehegar/uievents.html>
[25] [CITE@en-US[UI Events (formerly DOM Level 3 Events)]]
( ([TIME[2015-03-19 05:12:23 +09:00]] 版))
<http://www.w3.org/TR/2015/WD-uievents-20150319/>
[26] <http://www.w3.org/TR/DOM-Level-3-Events/> も >>25 を指すようになりました。
[TIME[2015-03-20T01:50:20.500Z]]
[29] [CITE@en-US[UI Events (formerly DOM Level 3 Events)]]
( ([TIME[2015-04-25 02:33:53 +09:00]] 版))
<http://www.w3.org/TR/2015/WD-uievents-20150428/>
[30] [CITE@en[Update D3Events reference to UI Events · whatwg/html@9cbeb03]]
([TIME[2015-09-03 14:36:16 +09:00]] 版)
<https://github.com/whatwg/html/commit/9cbeb03959c06541651fcf2a8c3a00a665b79d26>
[33] [CITE@en[Fix #19: Remove majority of "DOM Event Architecture" section · w3c/uievents@6cb42db]]
([TIME[2016-03-08 18:11:37 +09:00]] 版)
<https://github.com/w3c/uievents/commit/6cb42db4054c5502d28c3f53c6ae64da5e475747>