Should we use a required sign (*) for the inputs which cannot be left empty since they always contain some default value?
But be careful!
As a general practice, I tend to avoid defaulting fields that do not have an appropriate default. Instead, use a
Please Select... option (or similar) that acts as an empty placeholder.
For example, the
Gender field in your example doesn't have an appropriate default—there is no "default gender". Additionally, if someone just "skips" the field, they'll now have submitted their form with inaccurate data which they didn't provide themselves.
Side note: be careful talking about collecting gender in forms around here... you'll get an earful really quick.
On the other hand, fields like
Notification frequency or
App background color could very well be safely defaulted.
Regardless of if the required field has an empty state, add the required indicator.
It logically fits the idea of what the indicator represents: data that must be submitted with the form is marked as required, regardless of if the user can erase it.
It will minimize the likeliness of a user failing to submit a form properly due to a missing field.
It is a non-obtrusive way to communicate a valuable attribute of the form field.
It is a common convention. Modern web forms as well as government documents use this symbol (or similar) for denoting required fields.
I can't really think of a strong argument against it. Just implement it so it's not distracting and fits into the aesthetics of your site/app.