- From: Vincent Scheib <scheib@google.com>
- Date: Thu, 4 Dec 2014 10:29:23 -0800
- To: timeless <timeless@gmail.com>
- Cc: Webapps WG <public-webapps@w3.org>
- Message-ID: <CAK-EfXk31EsW8Tz6+TjtM1B2En5CWLrbCQ5-tbH6uUNNe3Lx8g@mail.gmail.com>
Thank you for the detailed comments, I will incorporate and reply back. On Tue, Dec 2, 2014 at 6:43 PM, timeless <timeless@gmail.com> wrote: > 1. w3c is en-us > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#abstract > > modelling -> modeling > > 2. Xlib > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#h3_why-bundle-all-functionality-hiding-cursor-providing-mouse-deltas-instead-of-using-css-to-hide-the-cursor-always-providing-delta-values-and-offering-an-api-to-restrict-the-cursor-movement-to-a-portion-of-the-web-page > > > Direct APIs do not exist on all platforms (Win, Mac, Linux) to bound the > cursor to a specific rectangle, and prototypes have not yet been developed > to demonstrate building that behavior by e.g. invisible windows with xlib > or manual cursor movement on Mac. > > "Xlib - Wikipedia, the free encyclopedia" -- > http://en.wikipedia.org/wiki/Xlib > > Also note that "Mac" is not a proper term, it could be "Mac OS (X)", > "Macintosh ..." or "macs". > > 3. Mouse capture > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#introduction > > > Pointer Lock is related to Mouse Capture [MDN-SETCAPTURE]. > > should https://www.w3.org/Bugs/Public/show_bug.cgi?id=14600 be noted? > > MS should probably be referenced: > http://msdn.microsoft.com/en-us/library/ie/ms536742%28v=vs.85%29.aspx > since it's their fault... > > 4. a11y/i18n > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#dfn-engagement-gesture > > > An event generated by the user agent as a result of user interaction > intended to interact with the page. e.g. click, but not mousemove. > > Engagement gestures are any events included in the definition of being > allowed to show a popup with the addition of keypress and keyup. > > "shift", or "control+shift" and similar things are often used to trigger > an assistive technology, or an IME / language switch. > > > https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/access_stickykeys_settings.mspx?mfr=true > > > turn StickyKeys on or off by by pressing the SHIFT key five times > > > http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/langbar_keystroke_shortcuts.mspx?mfr=true > > > Switch between languages or keyboard layouts CTRL+SHIFT or left ALT+SHIFT > > http://support.microsoft.com/kb/97738 > > > When you press the APOSTROPHE (') key, QUOTATION MARK (") key, ACCENT > GRAVE (`) key, TILDE (~) key, ACCENT CIRCUMFLEX key, or CARET (^) key, > nothing appears on the screen until you press the a second key. If you > press one of the letters designated as eligible to receive an accent mark, > the accented version of the letter appears. If you press an ineligible key, > two separate characters appear. In other words, the US-International > keyboard layout dynamic-link library (DLL) automatically accents letters > that customarily receive an accent but does not automatically accent > letters that do not customarily receive an accent. > > While it's nice to allow for "keys" to trigger a lock, "keys" that may > eventually be handled by something outside the UA should probably not be > eligible for this. > > 5. must > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#pointerlockchange-and-pointerlockerror-events > > > Two events are used to communicate pointer lock state change or an error > in changing state. They are named pointerlockchange and pointerlockerror. > If pointer lock is entered or exited for any reason a pointerlockchange > event must be sent. > > If I press ctrl-w/cmd-w (close window/tab), is the UA required to send > these events? > > If an iframe has pointerlock, and its parent removes the iframe from the > dom, is the UA required to send these events? > If an iframe has pointerlock, and its parent changes the iframe's document > url to another page, is the UA required to send these events? > > > 6. and > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#widl-Element-requestPointerLock-void > > > (for example: mousemove, mousedown, mouseup, click, wheel) > > (for example: mouseover, mouseout, drag, drop). > > Please use "and" -- you do elsewhere: > > > clientX, clientY, screenX, and screenY > > 7. movement/focus > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#widl-Element-requestPointerLock-void > > > Movement and button presses of the mouse must not cause the window to > lose focus. > > Suppose I'm using Windows w/ a standard 104 key keyboard: > http://en.wikipedia.org/wiki/Computer_keyboard#mediaviewer/File:Qwerty.svg > > If I press a system key (the Windows key), or a system key equivalent > stroke (ctrl+esc), I expect the application to lose focus. > > http://developer.android.com/design/media/whats_new_nav_bar.png > > If I press the home key on an Android device, I expect the window to lose > focus. > > If a user is on a system where there is no hardware home button, but there > is a gesture which enables interacting with the system, the UA shouldn't be > out of compliance. > > see Fast Quick Settings Access -- > http://blogs.blackberry.com/2014/05/planned-new-features/ > > 8. comma comma > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#attributes > > > onpointerlockchange of type EventHandler, , nullable > > the extra comma here is not helpful. > > > onpointerlockerror of type EventHandler, , nullable > > the extra comma here is not helpful. > > > pointerLockElement of type Element, readonly , nullable > > the extra space before the comma here is not helpful. > > 9. if pointer lock state is currently unlocked? > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#widl-Document-exitPointerLock-void > > > Initiates an exit from pointer lock state if currently locked to a > target in this document, and sends a pointerlockchange event when the lock > state has been exited. > > 10. please spell out screenY > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#widl-Document-exitPointerLock-void > > > (the same location that is reported in screenX/Y when the pointer is > locked). > > 11. Long bounds > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#attributes-1 > > > All motion data must be delivered via mousemove events such that > > between any two mouse events earlierEvent and currentEvent the value of > currentEvent.screenX-earlierEvent.screenX > > is equivalent to the sum of all movementX values received on mousemove > events after earlierEvent. > > webidl: The long type is a signed integer type that has values in the > range [−2147483648, 2147483647]. > > Suppose I have a computer with a lot of time on its hand. > > Steps: > T1. trigger a page with pointerlock triggering code > T2. pointerlock triggers > T3. computer moves the mouse 100 pixels (x direction only, the computer is > very precise) > T4. computer goes to step T3 (this may take ~21,474,800 steps depending on > screen position... -- but as I said, the computer has time on its hands) > > Eventually, I believe that one of screenX or movementX will hit an end of > the `long` range. Will the "equivalent" statement above still apply? > > 12. valid? > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#attributes-1 > > > movementX/Y must be valid regardless of pointer lock state. > > what does "valid" mean? > > 13. a > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#requirements > > > A default unlock gesture must always be available that will exit pointer > lock. > > I'm not sure what a default unlock gesture looks like, but please see 7 > for at least some examples where I suspect platforms will have multiple > gestures where the application will lose focus. I'd like to ensure that the > text understands this and makes it clear to implementers and consumers. > > 14. exit due to events > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#requirements > > > Pointer lock must not be exited when fullscreen [FULLSCREEN] is entered > or exited unless the pointer > > is required to enable interaction with the user agent graphical user > interface > > or the default unlock gesture was used to exit both fullscreen and > pointer lock. > > I'm using a laptop, it's running Windows 8. It isn't connected to a > charging source (and hasn't been for 7 hours). I use a UA w/ > PointerLock+FullScreen w/ a web page that takes pointer lock and full > screen. My system needs to tell me that I'm going to run out of power. It > does so. > > I'm using a corporate laptop. It has a screen saver with a short timeout > (IT...). I trigger the same app w/ the same full screen+pointer lock and > then get coffee. When I get back, my system has taken focus and sent it to > the screen saver. > > I'm using a phone. It has a phone. I trigger the same app w/ the same full > screen+pointer lock and I receive a phone call. I need to be able to answer > the phone call. > > I believe that the language I've quoted violates all three of the UCs I've > described. > > 15. give your examples ids > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#synthetic-cursor-interaction-with-html-dom-ui > > > EXAMPLE 1 > > 16. missing ; > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#synthetic-cursor-interaction-with-html-dom-ui > > > var ee = document.createEvent("MouseEvents"); > > > var target = document.elementFromPoint(x, y) > > > > if (e._isSynthetic) > > return; > > > if (target) > > target.dispatchEvent(ee) > > 17. undocumented > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#security > > > Changing to new tabs, windows, or any other action that causes a page to > lose focus will exit pointer lock. > > I can't find this in the spec > > 18. Sentences start with capital letters > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#why-not-merge-with-mouse-capture-setcapture > > > Mouse Capture [MDN-SETCAPTURE] handles low security risk mouse event > target lock for the duration of a mouse drag gesture. > > pointer lock removes the concept of the cursor and directs all events to > a given target. > > ^ this is the beginning of a sentence... > > > They are related, but different. > > 19. Brands > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#why-bundle-all-functionality-hiding-cursor-providing-mouse-deltas-instead-of-using-css-to-hide-the-cursor-always-providing-delta-values-and-offering-an-api-to-restrict-the-cursor-movement-to-a-portion-of-the-web-page > > > Direct APIs do not exist on all platforms (Win, Mac, Linux) > > Please spell out Windows and Mac OS X. > > > to bound the cursor to a specific rectangle, and prototypes have not yet > been developed to demonstrate building that behavior by e.g. > > invisible windows with xlib > > See earlier comment about Xlib > > > or manual cursor movement on Mac. Unaccelerated Delta values have been > proposed to be accessed by reading raw Human Interface Device (HID) data. > > E.g. WM_INPUT messages on windows, and USB device APIs on Mac / Linux. > > Note that this Windows should be Windows, not to be confused with the > earlier windows which was not! > And again, Mac OS X (or Macintosh, if you want to be inaccurate). > > 20. reference for "invisible windows" > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#why-bundle-all-functionality-hiding-cursor-providing-mouse-deltas-instead-of-using-css-to-hide-the-cursor-always-providing-delta-values-and-offering-an-api-to-restrict-the-cursor-movement-to-a-portion-of-the-web-page > > > e.g. invisible windows with xlib > > Please reference: > http://tronche.com/gui/x/xlib/window/attributes/ > or something. > > 21. references > > > https://dvcs.w3.org/hg/pointerlock/raw-file/ea789b4e5b82/index.html#high-resolution-deltas-high-frequency-updates > > > "Why bundle all functionality (hiding cursor, providing mouse deltas) > instead of using CSS to hide the cursor, always providing delta values, and > offering an API to restrict the cursor movement to a portion of the web > page?" above. > > Please save those of us with screen readers the pain of trying to find > above. You appear to have anchors for this target, please use them. > > > > 22. Accessibility > > > users are expected to have already configured the full system of > hardware input and operating system > > options resulting in a comfortable control the system mouse cursor. > > If I'm using a Screen Reader. What should happen? > > The screen reader I normally use rarely sends mouse move events. It tends > to only send mouse click events. It also spends a lot of time focusing > things. Because the user wants to know what they are. (As far as the user > is concerned, if the item can't be partially focused, it doesn't exist.) > > Note: The screen reader's click on something will almost certainly be a > valid "Engagement gesture" unless modifications are made to the > specification.
Received on Thursday, 4 December 2014 18:30:22 UTC