Q1: First, the convention is to have these on the right, correct? Why
is that?
There are a few reasonable explanations for putting the drop-down arrow on the right (at least in LTR languages):
- Readability: Since LTR text naturally starts on the left, this design gives the drop-down arrow some natural whitespace in most cases, and helps make the entire label/combo-box pair more contiguous (since the text, which answers the question posed by the label, is shown in close proximity to the label when the label is shown in the usual position to the left of the form control).
- Aesthetics: This also ensures a sense of balance; since the text occupies the box on the left, and the drop-down button occupies it on the right. If you stacked both the button and the text from the left, the box width could look unwieldy or otherwise too long if the content text is relatively short. It will also ensure all text in a given form aligns to a single left edge (whether in a text field or a combo box).
- Accessibility: This gives the system the ability (though I'm not sure if it exists in any UI component toolkit I've ever seen) to expand the hit area of the drop-down button slightly in all four dimensions to slightly improve accessibility. It will also make the text insertion point more visible since it will be further away from other controls.
That probably also leads to the last possible explanation; chance, which is simply that it had to be on either the left or right and once it was chosen to be on the right, why unnecessarily change things in subsequent implementations?
I thought putting it to the left in my case might make more sense.
There will be other controls near the left hand side of this dropdown,
and so I thought it would make sense to align the dropdown button
there. This will reduce needing to move the cursor further around the
display to do common actions. In fact, this applies similarly in
another screen of my GUI, in which the left edge is associated most
with actions, and so I'd like all dropdowns to have left-aligned
buttons.
Don't forget, many users don't target with the mouse, and when in doubt, the most predictable solution is to leverage the familiarity that using standard controls breeds.
Q2: So, does this seem reasonable? Or is not breaking the
dropdown-button-on-right-right convention more important?
Microsoft's UX guidelines for combo boxes don't explicitly mention a side for the button at all.
I can say I've used applications that move the scroll bar to the left side of the content pane and that's taken me an inordinate amount of time to adapt to. For that reason, I'd personally err on the side of the standard control in this situation.
It sounds like your main reason to violate the standard is to collect similar controls together. Intuitively, I think I'd find your proposed alteration uncomfortable as a user, but I think it sounds to me like you'll need to make that call based on the surrounding interface (which naturally only you can see). I'd be particularly interested in how you'll reconcile the readability issue with the control's label!