Это не мои домыслы, всё прописано в гайдлайнах.
Только там много чего разного, и трудно сходу отделить главное от второстепенного. Поэтому можно просто поверить мне: самый главный и практичный критерий — именно про момент применения. Но можно и закопаться.
Material Design 3
https://m3.material.io/components/switch/guidelines
The effects of a switch should start immediately, without needing to save.
[...]
Avoid using a switch to select multiple options that require people to save. Switches should be immediate. Use checkboxes instead.
Документацию MD часто хвалят за иллюстрации и примеры, но концепции там описаны плохо. Всё очень фрагментировано на мелкие клочки, цельную картину приходится собирать буквально как пазл.
Microsoft Learn
https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/toggles
Use a toggle switch for binary settings when changes become effective immediately after the user changes them.
https://learn.microsoft.com/en-us/windows/apps/develop/ui/controls/checkbox
You can delay committing a check box interaction (as part of a form submit, for example), while you should immediately commit a toggle switch interaction.
NN/Group
https://www.nngroup.com/articles/toggle-switch-guidelines/
Toggle switches should take immediate effect and should not require the user to click Save or Submit to apply the new state.
Ещё есть пост в блоге WebKit, где разницу в семантике определили так: switch — on/off, checkbox — selected/not selected. Формально это верно, но слишком расплывчато. Такие абстракции дают чрезмерный простор для инерпретаций и потому бесполезны на практике.
https://webkit.org/blog/15054/an-html-switch-control/
#вопрос_на_понимание