Sooraj MV is correct that actions are recommended to only be executed on mouse up, however simply opening the Select Input is an action that can be reversed and recovered from, by moving the mouse away and releasing.*
Looking at the success criteria of the WCAG guideline, it states that one or more of the following have to be satisfied:
- The down-event of the pointer is not used to execute any part of the function.
Abort or Undo
- Completion of the function is on the up-event, and a mechanism is available to abort the function before completion or to undo the
function after completion.
- The up-event reverses any outcome of the preceding down-event.
- Completing the function on the down-event is essential.
I would argue that opening the Select form control on mouse-down and having it close on mouse-up outside the control satisfies 'Abort or Undo' (if completion is defined as the selection of an option, though debatable) and 'Up Reversal' (as the mouse-up reverses the opening of the control's options without forcing selection).
One benefit of it opening on mouse-down is that in the one interaction (mouse down, move, mouse up), you can select an option, as I've visualised here:
You perceive it to be quicker not only because there's immediate feedback closer to the first part of the interaction (mouse-down), but because it actually is quicker to achieve your goal of making a selection.
I could not find any reference to the 'correct' behaviour. I would have expected it referenced in W3C Forms / Select, or Microsoft Combo Boxes documentation pages.
You may want to factor in whether the application is used by expert users who will become very familiar with the interface and benefit from any potential accelerators (typically business portals, service oriented web apps), or more-so by new users who wouldn't take advantage of that accelerator (typically ecommerce websites).
If the component has everything else going for it, create a basic prototype using it, and see how the difference in interaction design impacts users, if at all.
As an aside, the trouble with web components is that they are often consistent within their design system / component library, but don't adopt the conventions of the ecosystem they exist in (browser / operating system).
* This behaviour is seen on Chrome / Mac, I can't attest as to why different browser and OS combinations may work differently.
mousedownalready, but before doing that, I need to make sure if it really does, and not just for me.