After speaking with Tim and Dão, we decided that we will try to set the default margin for all html inputs to match the margins we currently set for xul|textbox, xul|label, xul|checkbox, xul|radio, etc.
This pro here is that it will make the migration work in Bug 1547372 more straightforward. We could continue to convert <textbox> elements without overriding each individual consumer's margin to match.
The cons are that this will apply to all inputs in docs that load global.css which:
- Will apply new styles that may need to be overridden for docs that have existing html inputs and also load global.css (for instance, devtools, createProfileWizard, various tests)
- Will apply to all inputs and not just textboxes. So places using [type="check"], [type="radio"] etc will also need (1). We could alternatively apply this to just
input[type="text"] but that will increase the specificity of the default and make it harder to override by a class (which would then require !important or increasing specificity to override).
Another option we considered was adding a class to opt in to the margin, which would be safer for (1) and (2) but if we ended up needing the class on the majority of our form elements then it'd be easier for a default to do the work.