[ ] Refactor Codex HTMLForm fields to use a separate method instead of `$isCodexForm`
[ ] Add getInputCodex() method to HTMLFormField, call it in CodexHTMLForm
[ ] Move existing Codex field implementations to the new method
[ ] HTMLButtonField
[ ] HTMLCheckField
[ ] HTMLTextField
[ ] Implement fields needed for SpecialBlock:
[ ] HTMLNamespacesSelectField (implement HTMLTextAreaField and reuse it)
[ ] HTMLTextAreaField
[ ] HTMLTitlesMultiSelectField (also use HTMLTextAreaField)
[ ] HTMLRadioField
[ ] HTMLSelectAndOtherField
[ ] HTMLSelectField
[ ] HTMLSelectOrOtherField (used by HTMLExpiryField)
[ ] Support fieldset help text and "optional" tag
[ ] Add options to HTMLForm for these things
[ ] Override getLegend() in CodexHTMLForm and implement support for them
[ ] (Maybe?) implement support for this in OOUIHTMLForm
[ ] Override getButtons() in CodexHTMLForm
[ ] Stop hard-coding button flags in HTMLButtonField
[ ] Add support for per-option help text
[ ] Add it as an option to HTMLForm (in the top-level doc comment with all the options)
[ ] Implement support for it in HTMLRadioField's Codex implementation
[ ] (Maybe?) implement support for it in HTMLRadioField's OOUI implementation
[ ] (Maybe?) implement support for it in HTMLMultiSelectField
[ ] Use it in SpecialBlock for the EditingRestriction options
[ ] Use CSS-only Field component for fieldsets and legends in CodexHTMLForm
[ ] Override formatSection() and wrapFieldSetSection()
[ ] Use CSS-only Field component for individual fields and labels in CodexHTMLForm
[ ] Override getLabelHtml()
[ ] Add spacing between adjacent CheckboxFields
[ ] Either remove wrapper divs, or move CSS classes to a different div,
or add CSS rules to put the margins back
[ ] {T358827}