Background
formidable-forms#3465 fixed the Safari VoiceOver double-announcement bug on checkbox and GDPR fields (Strategy11/formidable-pro#6750) by dropping the redundant for attribute from a <label> that already wraps its <input>.
franky-review's approval note on #3465 confirmed classes/views/frm-fields/front-end/radio-field.php and classes/views/frm-fields/front-end/product-radio.php have the identical pattern on their own option labels — both build the label's for and the input's id from the same $html_id . '-' . $opt_key expression, same shape as the two files #3465 fixed.
The linked issue (formidable-pro#6750) only reported checkbox/GDPR, so #3465 stayed scoped to those two files. Filing this so the radio/product-radio instances don't get lost.
Suggested fix
Same mechanical fix as #3465: drop the redundant for attribute from each option <label> in both files, since the wrap alone already associates label and input.
Background
formidable-forms#3465 fixed the Safari VoiceOver double-announcement bug on checkbox and GDPR fields (Strategy11/formidable-pro#6750) by dropping the redundant
forattribute from a<label>that already wraps its<input>.franky-review's approval note on #3465 confirmed
classes/views/frm-fields/front-end/radio-field.phpandclasses/views/frm-fields/front-end/product-radio.phphave the identical pattern on their own option labels — both build the label'sforand the input'sidfrom the same$html_id . '-' . $opt_keyexpression, same shape as the two files #3465 fixed.The linked issue (formidable-pro#6750) only reported checkbox/GDPR, so #3465 stayed scoped to those two files. Filing this so the radio/product-radio instances don't get lost.
Suggested fix
Same mechanical fix as #3465: drop the redundant
forattribute from each option<label>in both files, since the wrap alone already associates label and input.