checkboxes with no value attribute behave as booleans