The icons are hiding a checkbox and the style depends on whether the checkbox is checked or not. Kind of fancy, but UI-wise and semantics-wise, I think it is the right mapping.