Related question: Why is it impossible to deselect HTML "radio" inputs?
Radio buttons are supposed to be impossible to deselect, because users aren't supposed to leave radio inputs blank. The most common way of allowing users to not select any choice is to add a "none of the above" choice or "prefer not to say."
Is it a good idea to make custom radio-buttons that are de-selectable, and allow users to leave radio inputs blank? E.g. a gender selection will not have a "prefer not to say choice," instead the user can simply leave it blank.