Edit
Who chooses is the customer, who designed the layout or the need.
And the case of languages where writing comes from right to left.
Ibelievetherearerulesthatmustbebroken,tokeep" affordance "!
There may be theories about intuitive layout, or the user's reading mode, however, come on and agree, there should be no such requirement.
Form controls automatically have a label
associated with them through the value
attribute, however those that do not have (text fields, checkboxes, radio buttons, and menus) have the for
attribute that will reference for control.
That is, if I want to put the label up, down, overlapping, diagonally, I can! There is no validator that will say it is wrong.
There is no justification for the design. There is a scenario for use in all positions.
Examples:
Nomoreisnotastandardispuretheory.
Whileitissaid here (W3.org) than the checkbox at predictability level, should have control before the label, it is still an opinion of what is best in terms of UX, however still the design prevails, this in turn will say what is correct for a purpose.
Imagine a column of text on the left and in the center another with checkbox options, if you follow the "rule" above the control will be between 2 texts, and there? Is it more readable? No, so it depends on the design.
section{float:left;}
<section>
blablbalbalballballlballbal<br>
blablbalbalballballlballbal<br>
blablbalbalballballlballbal<br>
blablbalbalballballlballbal<br>
blablbalbalballballlballbal<br>
</section>
<input type="checkbox" id="check">
<label for="check">blablablalballbalbla</label>
See the result, is it a consistent rule?