Re: [pointerevents] Move elements of `pointerId` informative note to normative text (#411)

The major part of this PR is covered by WPTs.  The few remaining points seem hard to test: most are optional, others need multiple top-level browsing contexts (needs discussion).  Below is a dump of the `pointerId` [section](https://w3c.github.io/pointerevents/#ref-for-dom-pointerevent-pointerid-1) with my comments:

> User agents MAY reserve a generic pointerId value of 0 or 1 for the primary mouse pointer.

Optional, hence untestable.

> The pointerId value of -1 MUST be reserved and used to indicate events that were generated by something other than a pointing device.

Covered in `*_is_a_pointerevent.html`.

> For any other pointers, user agents are free to implement different strategies and approaches in how they assign a pointerId value. However, all active pointers in the top-level browsing context must be unique, and the identifier MUST NOT be influenced by any other top-level browsing context (i.e. one top-level browsing context cannot assume that the pointerId of a pointer will be the same when the pointer moves outside of the browsing context and into another top-level browsing context).

Is there a way to have multiple top-level browsing contexts in a WPT?

> The user agent MAY recycle previously retired values for pointerId from previous active pointers, or it MAY always reuse the same pointerId for a particular pointing device (for instance, to uniquely identify particular pen/stylus inputs from a specific user in a multi-user collaborative application).

Optional, hence untestable.

> However, in the latter case, to minimize the chance of fingerprinting and tracking across different pages or domains, the pointerId MUST only be associated explicitly with that particular pointing device for the lifetime of the page / session, and a new randomized pointerId MUST be chosen the next time that particular pointing device is used again in a new session.

We can simulate a touch pointer crossing an `iframe` boundary multiple times and can swap `iframe` content during this interaction.  But this is complicated, and the MUST here is conditional!

-- 
GitHub Notification of comment by mustaqahmed
Please view or discuss this issue at https://github.com/w3c/pointerevents/pull/411#issuecomment-1680783280 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Wednesday, 16 August 2023 15:01:27 UTC