This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 24783 - non-normative examples for event sequences to be added to end of 11.2
Summary: non-normative examples for event sequences to be added to end of 11.2
Status: RESOLVED FIXED
Alias: None
Product: PointerEventsWG
Classification: Unclassified
Component: Pointer Events specification (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Jacob Rossi [MSFT]
QA Contact: Pointer Events Bugzilla list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-02-24 13:18 UTC by Patrick H. Lauke
Modified: 2014-03-04 02:03 UTC (History)
1 user (show)

See Also:


Attachments
HTML version of proposed note (2.09 KB, text/html)
2014-02-24 13:18 UTC, Patrick H. Lauke
Details

Description Patrick H. Lauke 2014-02-24 13:18:58 UTC
Created attachment 1439 [details]
HTML version of proposed note

As per the discussion on the list, I'd propose this additional non-normative example note at the end of 11.2 to better illustrate the kind of event sequence authors can expect to get for touchscreen taps (as Rick said, probably the most complex case that may cause the most confusion).

Attached as HTML, but for ease:

Example

This section is non-normative.

Based on the outlined algorithm, a tap with a single finger (meaning this is a primary pointer) on a touchscreen will produce the following series of pointer events and compatibility mouse events (also listing the click event, to clarify that this is fired at the very end of sequence):

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 mousedown
7 gotpointercapture
8 (zero or more pointermove and mousemove events, depending on movement of the finger during the tap)
9 pointerup
10 mouseup
11 lostpointercapture
12 pointerout
13 mouseout
14 mouseleave
15 click.

If compatibility mouse events are being suppressed by cancelling the pointerdown event, the sequence of event for the same action will be:

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 gotpointercapture
7 (zero or more pointermove events, depending on movement of the finger during the tap)
8 pointerup
9 lostpointercapture
10 pointerout
11 mouseout
12 mouseleave
13 click
Comment 1 Patrick H. Lauke 2014-02-24 13:32:07 UTC
oops, typos:

"fired at the very end of sequence" > "fired at the very end of the sequence"

" the sequence of event for the same action will be" > " the sequence of events for the same action will be"
Comment 2 Jacob Rossi [MSFT] 2014-02-28 23:52:39 UTC
Here's my proposed text:

"The activation of an element (click) would typically produce the following sequence:

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 mousedown
7 (zero or more pointermove and mousemove events, depending on movement of the pointer)
8 pointerup
9 mouseup
10 click
11 pointerout
12 mouseout
13 mouseleave

If, however, the pointerdown event is cancelled during this interaction then the sequence of events is:

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 (zero or more pointermove events, depending on movement of the pointer)
7 pointerup
8 click
9 pointerout
10 mouseout
11 mouseleave"

Let me know if you think this is accurate and I'll drop it in the spec.
Comment 3 Patrick H. Lauke 2014-03-01 08:01:20 UTC
If we could retain a little bit of the intro text (which mentions that this is a primary pointer), and soften the para before the second list to say "would" rather than "is" to match the one before the first list, I think we're good with the following:

Example

This section is non-normative.

The activation of an element (click) with a single finger or stylus (meaning this is a primary pointer) would typically produce the following event sequence:

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 mousedown
7 (zero or more pointermove and mousemove events, depending on movement of the pointer)
8 pointerup
9 mouseup
10 click
11 pointerout
12 mouseout
13 mouseleave

If, however, the pointerdown event is cancelled during this interaction then the sequence of events would be:

1 mousemove
2 pointerover
3 mouseover
4 mouseenter
5 pointerdown
6 (zero or more pointermove events, depending on movement of the pointer)
7 pointerup
8 click
9 pointerout
10 mouseout
11 mouseleave
Comment 4 Jacob Rossi [MSFT] 2014-03-04 02:03:51 UTC
Changed as suggested and discussed:

https://dvcs.w3.org/hg/pointerevents/rev/0fc30a2b5dfe