Personally I think B) is quite nice. It feels like checkboxes having a value is mostly just because they got squashed into the <input> control; if they were a separate control, they wouldn't have one. I also remember when writing my server-side code getting confused as to why some fields "disappeared" (because they were unchecked checkboxes).
But, I could be quite wrong. Web developer input would be great here.
https://github.com/tkent-google/lapi-switch#form-submission discusses two models for how form data gets computed:
<input type=checkbox>
Personally I think B) is quite nice. It feels like checkboxes having a value is mostly just because they got squashed into the
<input>
control; if they were a separate control, they wouldn't have one. I also remember when writing my server-side code getting confused as to why some fields "disappeared" (because they were unchecked checkboxes).But, I could be quite wrong. Web developer input would be great here.