Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Suggest adding a firesHoverEvents property or some way to detect that in active input device supports hover? #39

Open
mattrq opened this issue Apr 26, 2022 · 0 comments

Comments

@mattrq
Copy link

mattrq commented Apr 26, 2022

Suggests that a firesHoverEvents boolean is added to allow accurate handling of different pointer-based input devices.
There are a number of benefits that this allows for by allowing to changing the behaviour based on the support for hover for user interaction and better accessibility handling.

The current methods to detect hover support are not always accurate:

  1. Using CSS media queries: The cross-browser support and reliability of those are mixed. A negative query may indicate no support for the query or the current device doesn't support hover.
  2. The PointerEvent.pointerType can help by making assumptions for "mouse" (hover supported) and "touch" (hover unsupported), however "pen" may or may not support hover depending on the type of pen in-use.
  3. Assuming that fireTouchEvents===true means that hover is unsupported. However, this is not officially documented and unclear if it is an accurate assumption.

Example scenarios:

  • Laptop with touchscreen, mouse and trackpad.
  • Laptop with a touchscreen with pen support, mouse and trackpad.
  • Computer with a mouse and then digitizer tablet/pen (e.g. Wacom pen tablets) added after page load.
  • Laptop with mouse and trackpad but hover disabled for accessibility.
  • Tablet with mouse added.

Additionally, clarification on which events are intended for which capabilities?
e.g. (Not accurate)

Event On Event Handler firesHoverEvents TRUE firesHoverEvents FALSE firesTouchEvents TRUE firesTouchEvents FALSE
pointerover onpointerover    
pointerenter onpointerenter
pointerdown onpointerdown
pointermove onpointermove ✓ While down ✓ While down
pointerup onpointerup
pointercancel onpointercancel
pointerout onpointerout    
pointerleave onpointerleave
@mattrq mattrq changed the title Suggest adding a firesHoverEvents property? Suggest adding a firesHoverEvents property or some way to detect that in active input device supports hover? Apr 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant