I think it's more accessible (and better UX) to use "self-labelling form elements".
So for example, it should be:
[ ] Audio Alerts
not split between a label and the control:
Audio Alerts [ ] Enable
The reason is mainly so that the control doesn't get separated from its label by a screen reader, but also in some contexts words like "enable", "on", "set" etc. might have unintended semantic or translation problems leading to "mode error". Better to let the user interpret the active state from the control than use a word for that state.
This issue currently applies to the Audio Alert and Feedback Protection controls in Settings. Other controls are compliant.
I think it's more accessible (and better UX) to use "self-labelling form elements".
So for example, it should be:
[ ] Audio Alertsnot split between a label and the control:
Audio Alerts
[ ] EnableThe reason is mainly so that the control doesn't get separated from its label by a screen reader, but also in some contexts words like "enable", "on", "set" etc. might have unintended semantic or translation problems leading to "mode error". Better to let the user interpret the active state from the control than use a word for that state.
This issue currently applies to the Audio Alert and Feedback Protection controls in Settings. Other controls are compliant.