Select boxes shouldn't submit on change

Some sites will submit the form when the user selects an option in a select box (or drop down menu) onchange. The idea is that removing the button declutters the interface and saves users an extra click. First, minimal does not mean simple, second stop counting clicks and third, read on.

Unfortunately, some browsers will fire the onchange event as the user presses Down. As a user moves from the first to the second option, for example, the form will submit before the user had a chance to move further down the list. To my knowledge, this happens in a plethora of Windows browsers including Chrome, Opera, Internet Explorer 9 and below.

Screen reader users can struggle too. This is because the act of reading an option, selects it, causing the form to submit. This means users can never get past the first option. Navigating users automatically can also be disorientating as users don't expect a form control to do this.

This is hardly surprising given that links are for navigation and forms are for inputting data. Not only is using a select box for navigation materially dishonest, but it also fails Web Content Accessibility Guidelines Success Criteria 3.2.2 which says:

Changing the setting of any user interface component does not automatically cause a change of context

Designing for inclusion means not excluding users based on their interaction and browser preferences. In this case, it also means giving users control and not over-automating an interface.

Reducing clicks and decluttering an interface may be the result of a well-designed experience, but they should not be objectives in and of themselves.

Every form—even if it only contains a single select box—should have a submit button.