2

I have annotated the image below with 4 colored rectangles indicating possible cursor click points.

Which is the best pixel location to use when deciding which pixel the user intended to click?

Close-up of mouse clicking on a square

My thoughts are as follows.

Brown
A good choice, as it is indicated by the strong vertical line of high-contrast white pixels along the left of the cursor, and the cursor itself does not obscure the item being clicked.

Red
A fair choice that reflects actual tactile experience in that the item being clicked is underneath the tip of the cursor, similar to a button being pushed must be under the tip of a finger

Yellow
An okay choice, as it is indicated by the diagonal white line following the right side of the cursor

Teal
A poor choice, but it is directly next to Red while not obscuring the selection

Which pixel is actually used by modern operating systems? Why?

1 Answer 1

9

The default Windows cursor (white with black outline) uses the red pixel as its hotspot.

The default Mac cursor (black with white outline) uses the topmost pixel of the black arrow as its hotspot. Two down, and one to the right of the red pixel.

As far as user intentions go, they are going to expect the cursor to act the same everywhere and not suddenly select a different pixel than they are used to when in your app.

If pixel-perfect precision is required, you need to use a different style of cursor such as a crosshair. You should also consider if the user intent is actually selecting a specific pixel, or selecting a division between included and excluded pixels which is actually between the pixels. The latter case might warrant some kind of magnifier to clearly show the cursor being between the pixels. http://scubabunny.net/insidioussquid/portfolio/Interactive/PowerMagnifier.html

2
  • +1 for crosshair (or suitable alternative) when precision is required. Jun 18, 2014 at 17:23
  • It is good to point out that in both Windows and Mac, it is the topmost black pixel in the cursor that is used.
    – Cory Klein
    Jun 19, 2014 at 14:27

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.