On Input
Changing the setting of any user-interface component must not automatically cause a change of context, unless the user has been warned in advance. Selecting a value should not silently navigate, submit, or reflow the page.
What it asks
Changing a setting on a control — picking an option in a <select>, ticking a checkbox, choosing a radio button, editing a text field — must not silently cause a major change of context. If the input genuinely needs to trigger such a change, the page must warn the user before the control is encountered, so the behavior is predictable.
Allowed minor effects (revealing dependent fields, updating a preview) are fine; what’s prohibited is silent navigation, form submission, new windows, or wholesale rearrangement.
How to meet it
- Use a separate submit or apply button after the user selects values, instead of auto-submitting on change.
- For language/country switchers, either warn (“Selecting a language will reload the page”) or require a Go button.
- For filter UIs that update results live, that is acceptable when results appear inline — but if the URL changes or the user is moved elsewhere, treat it as a context change.
- Surface dependent-field reveals smoothly, with appropriate focus management.
- When auto-submit is truly necessary, announce it in instructions near the control or in the field’s accessible description.
Common failures
- Country/language
<select>elements that navigate immediately to a different URL when the value changes. - Filter checkboxes that reload the page on each change with no warning, scrolling the user back to the top.
- Date pickers that submit the surrounding form the moment a date is chosen.
- Toggle switches in admin panels that fire destructive operations (delete, publish) without confirmation.
Why it matters
Screen-reader and keyboard users often explore form controls before committing — opening a dropdown to read options, tabbing through radio buttons to compare labels. If selecting a value silently submits or navigates, the user loses their place and their data. The rule preserves user agency: the user, not the page, decides when to commit.