利用者界面事象

UI イベント

仕様書

入力装置関係のイベントと API

[27] イベントAPI:

[28] 利用者インターフェイス操作:

[51] 利用者の操作に起因することを表す概念:

[35] 操作は、プラットフォーム次第で、物理的な装置に由来することもあれば、 ソフトウェアによってエミュレートされている (ソフトウェアキーボードアクセス可能性機能など。) こともあります。 あるいは、 WebDriver のような Webブラウザー操作機能に由来することもあります。

著者による利用者操作の妨害

[31] 著者スクリプトにより次のようなイベント既定動作取消するなどの方法で、 利用者の操作が妨害されることがあります。 Webブラウザーは、そのような妨害を受けずに利用者の操作を受け付ける方法を用意するべきです。

[32] 著者は、こうした利用者の通常の閲覧操作に介入するべきではありません。

[49] Pointer Lock利用者の妨害に使われる危険性がありますが、 できるだけ有害にならないよう、ある程度は配慮されています。

[50] DropboxWebサイトは、マウス操作 (選択など)、 キーボード操作 (Ctrl + 何かのキーボードショートカットなど)、 文脈メニューなど Webブラウザーのあらゆる標準的な操作を取り消しし、 独自の UI の実装に当てています。おそらくネイティブアプリケーションの使い勝手に合わせるためなのでしょうが、 Webアプリケーションとしては当たり前の操作ができずに逆に使いにくいです。 例えばファイル名コピーもできません。

[54] 他にも利用者の操作を妨害する方法はあります。例えば利用者の意思に反したスクロール著者スクリプトが強制するかもしれません。 Webブラウザーがそうした状況を判定して抑制するのは難しいかもしれません。

UIEvent インターフェイス (DOM)

仕様書

状態

[36] Event の共通の状態に加えて:

実際の指示装置由来かどうか
ハイパーリンク接尾辞の決定に使われます。 trusted と同義なのかどうかは定かではありません。 それに加えて鍵盤操作による擬似クリックを除外する意図もありそうです。

歴史

[17] 利用者界面イベント。外部機器 (マウス, 鍵盤等) による利用者の動作により発生する。 (Document Object Model Events <http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-overview-terminology>)

[1] 【DOM】外部機器 (マウス, 鍵盤等) による利用者の動作により発生する事象。UI Event。

[2] DOM2 UI Events がその最初の仕様。ただし DOM0on* 属性/特性がその祖先に当たる。 (直接的には互換性はないが、 仕様策定上矛盾がないようには配慮されている。ちなみに、 on* 属性群の直接の子孫に当たるのが XMLEvent。つまり、事象の振る舞いとしての定義は DOM へ、記述方法としてのマークは XML Event が後継規格。)

[3] DOM 2 が WinIE でなかなか実装されないのは Netscape の提案に大幅に基づいているからだという噂があるが、 UI 事象の部は特に Netscape の影響が強い。 M$ は 永遠に実装しない気だろうか?

旧 UI イベント仕様書

[5] UI Events ( ( 版)) <https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm>

[10] UI Events ( ( 版)) <http://www.w3.org/TR/2013/WD-uievents-20130725/>

[11] IRC logs: freenode / #whatwg / 20131024 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20131024>

[12] UI Events ( ( 版)) <http://www.w3.org/TR/2013/WD-uievents-20131105/>

[13] UI Events ( (Anne van Kesteren 著, 版)) <http://lists.w3.org/Archives/Public/www-dom/2014JanMar/0064.html>

[14] Re: Pointer Events spec and UIEvents reference ( (Кошмарчик 著, 版)) <http://lists.w3.org/Archives/Public/public-pointer-events/2014AprJun/0033.html>

[15] Web input brainstorming face-to-face notes ( (Rick Byers 著, 版)) <http://lists.w3.org/Archives/Public/www-style/2014Jul/0050.html>

[16] IRC logs: freenode / #whatwg / 20140729 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20140729>

[18] IRC logs: freenode / #whatwg / 20121128 ( ( 版)) <http://krijnhoetmer.nl/irc-logs/whatwg/20121128#l-1719>

[19] Web Applications 1.0 r8697 Make sure places that use UIEvent define .detail and .view ( ( 版)) <http://html5.org/r/8697>

[20] RE: "DOM4 Events" name (was: RE: ReSpec BiblioDB Entry for DOM Level 4 Events) ( (Travis Leithead 著, 版)) <http://lists.w3.org/Archives/Public/www-dom/2013JanMar/0025.html>

D3E との統合

[21] Re: CfC: publish WG Note of UI Events; deadline November 14 ( (Anne van Kesteren 著, 版)) <http://lists.w3.org/Archives/Public/public-webapps/2014OctDec/0344.html>

[4] [UIEvents] telecon minutes 10 March 2015 (Travis Leithead 著, 版) <https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0776.html>

[22] Re: CfC: publish WG Note of UI Events; deadline November 14 (Arthur Barstow 著, 版) <https://lists.w3.org/Archives/Public/public-webapps/2015JanMar/0786.html>

[23] UI Events (Keyboard Extension) ( 版) <http://jay.w3.org/~plehegar/uievents-ext.html>

[24] UI Events Specification (formerly DOM Level 3 Events) ( 版) <http://jay.w3.org/~plehegar/uievents.html>

[25] UI Events (formerly DOM Level 3 Events) ( ( 版)) <http://www.w3.org/TR/2015/WD-uievents-20150319/>

[26] <http://www.w3.org/TR/DOM-Level-3-Events/>>>25 を指すようになりました。

[29] UI Events (formerly DOM Level 3 Events) ( ( 版)) <http://www.w3.org/TR/2015/WD-uievents-20150428/>

[30] Update D3Events reference to UI Events · whatwg/html@9cbeb03 ( 版) <https://github.com/whatwg/html/commit/9cbeb03959c06541651fcf2a8c3a00a665b79d26>

[33] Fix #19: Remove majority of "DOM Event Architecture" section · w3c/uievents@6cb42db ( 版) <https://github.com/w3c/uievents/commit/6cb42db4054c5502d28c3f53c6ae64da5e475747>

[37] Johnny's net () <http://www.johnnys-net.jp/page?id=text&dataId=1110>

$(document).on("contextmenu",function(){return!1}),$(document).on("keydown",function(){if("undefined"===typeof KEY_ENABLE)return!1}

[38] Infrastructure for actions dispatch and implementation for null and k… (jgraham著, ) <https://github.com/w3c/webdriver/commit/e70ea24e65883b404f2a72166ddaa0d1211905a7>

[39] UI Event Order () <https://rawgit.com/garykac/event-order/master/index.html>

[40] garykac/event-order () <https://github.com/garykac/event-order>

[41] [ui-events] MouseEvent details (Anne van Kesteren著, ) <https://lists.w3.org/Archives/Public/www-dom/2013JanMar/0128.html>

[42] UI Events (Anne van Kesteren著, ) <https://lists.w3.org/Archives/Public/www-dom/2014JanMar/0064.html>

[43] When the events are fired seems strange · Issue #9 · w3c/input-events () <https://github.com/w3c/input-events/issues/9>

[44] Consider pointerup as user gesture by NavidZ · Pull Request #1875 · whatwg/html () <https://github.com/whatwg/html/pull/1875>

[45] Specify the Event Loop integration for various non-deprecated events, incl. hit testing · Issue #23 · w3c/uievents () <https://github.com/w3c/uievents/issues/23>

[46] Lack of interaction event specification · Issue #1927 · whatwg/html () <https://github.com/whatwg/html/issues/1927>

[47] Editorial: major cleanup around firing and dispatching events (annevk著, ) <https://github.com/whatwg/html/commit/8ffbd146d4709057e45dd6cfc81e7a70897050c5>

[48] Align activation behavior with changes to DOM Standard (annevk著, ) <https://github.com/whatwg/html/commit/7beb920ba2e1a71246b81d86005f223a0d7ac8ab>

[52] CFC: Move UI Events KeyboardEvent Code Values to CR · Issue #16 · w3c/uievents-code () <https://github.com/w3c/uievents-code/issues/16>

[53] CFC: Move UI Events KeyboardEvent Key Values to CR · Issue #42 · w3c/uievents-key () <https://github.com/w3c/uievents-key/issues/42>

[55] Re: Update on UI Events specs (Кошмарчик著, ) <https://lists.w3.org/Archives/Public/public-webapps/2017AprJun/0030.html>

[56] Synthetic click activation steps should state whether the event is composed or not · Issue #578 · w3c/webcomponents () <https://github.com/w3c/webcomponents/issues/578>

[57] Fix #159: Add [Exposed] to interfaces (garykac著, ) <https://github.com/w3c/uievents/commit/1078d03d4a3539d16f22cc39dc31afb901f5a44f>

[58] Merge pull request #163 from foolip/patch-1 (garykac著, ) <https://github.com/w3c/uievents/commit/0ebef2d9be3bdbf09288aae25841efe32cf90cec>

[59] Merge pull request #178 from TakayoshiKochi/note (TakayoshiKochi著, ) <https://github.com/w3c/uievents/commit/d507788644c8ed39ad762212c9a27510331fdee3>

[60] Add a note about inheritance of UIEvent. by TakayoshiKochi · Pull Request #178 · w3c/uievents () <https://github.com/w3c/uievents/pull/178>

[61] Define each event type is composed or not, update the spec · Issue #61 · w3c/clipboard-apis () <https://github.com/w3c/clipboard-apis/issues/61>