Re: minimum target size for mouse

On 21/04/2016 17:17, David MacDonald wrote:
>
>         The feeling of the the mobile task force is that our touch size
>         SC should include a minimum size for a pointer/mouse target in
>         addition to touch. We're not sure what that minimum should be,
>         whether it should be the same 44px as the touch or smaller. It
>         was the end of the call so were were not able to flesh this out
>         sufficiently... Os I'm creating a discussion here. If there is
>         momentum I'll set up a WIKI page.

As theoretically a mouse pointer has an "active" surface of 1px x 1px, 
it comes down to defining a minimum size that is "reasonable" enough to 
ensure that somebody who doesn't have a very steady hand can still hit 
the activation targets comfortably without the need to be absolutely 
pixel-perfect in their mouse positioning, and (relating to the other SC 
relating to accidental activation/ability to bail out of an activation) 
a size that is reasonably big to also accommodate slight movement of the 
mouse during the mouse button down / mouse button up movement (i.e. big 
enough that a user even with slightly shaky/unsteady hands can go 
through the down/up click movement without accidentally moving the 
pointer back out of the click target area).

How much a mouse moves, in terms of CSS pixels, will depend on the type 
of mouse (for instance, there are "high-dpi" mice that potentially move 
very far in terms of CSS pixels for very little actual physical movement 
of the mouse) and the OS/UA settings (e.g. mouse sensitivity, mouse 
acceleration)...so once again, we have a moving target (no pun 
intended). But, if pressed to pull a figure out of a hat, I'd start 
around at least 15px x 15px, maybe even 20px x 20px.

> There is some discussion about
>         how would the author know the what is activating the control on
>         responsive sites that share icons for touch AND pointer. The
>         current wording is.

There is currently no way to know "a priori" what input type a user will 
be using. And there are multi-input devices (such as Surface) that have 
both touchscreen and mouse/trackpad input.

There are CSS Media Queries 4 Interaction Media Features, but these can 
be quite flawed / lead to incorrect assumptions (see 
https://dev.opera.com/articles/media-features/).

One possible technique is to use libraries such as what-input 
https://github.com/ten1seven/what-input which at least let you 
programmatically determine what input a user is using right now, but 
these obviously only work once the user started an interaction (they 
started to put their finger on the touchscreen, they moved the mouse) at 
which point you probably don't want to change the size of controls on 
the fly / under their feet/finger/mouse pointer.

Long story short: in the responsive site scenario, you'd design for the 
least accurate/coarsest input type, that being touch.

(and I'm not the only one who's been saying that for a while - for 
instance, this from Josh Clark's "Designing for touch": "ASSUME EVERY 
SCREEN IS A
TOUCHSCREEN (AND THEN S OME)" 
https://abookapart.com/products/designing-for-touch)

P


>         2.5.4 Target Size: A touch target
>         <https://w3c.github.io/Mobile-A11y-Extension/#def-touch-target> is
>         at least 44px by 44px of the visible display at the default
>         viewport size. (Level AA)
>
> What about this amendment, If it's an ok construct, then what value
> should be for the pointer minimum size.
>
>
>         2.5.4 Target Size: A touch target
>         <https://w3c.github.io/Mobile-A11y-Extension/#def-touch-target> is
>         at least 44px by 44px and the pointer/mouse target is at least
>         <x pixels> by <y pixels> of the visible display at the default
>         viewport size. (Level AA)
>


-- 
Patrick H. Lauke

www.splintered.co.uk | https://github.com/patrickhlauke
http://flickr.com/photos/redux/ | http://redux.deviantart.com
twitter: @patrick_h_lauke | skype: patrick_h_lauke

Received on Thursday, 21 April 2016 20:01:47 UTC