There's a typo in the filename I posted.
Anyway, here's the demo/test forms in action:
https://or97.net/test-qfo_g2-a
https://or97.net/test-qfo_g2-b
With just one flag, the form can switch between presenting checkboxes or "select multiple" options. And, switch between radio and "select" options.
It also detects doctype to generate html5, html4 or xml.
Accessibility features are chosen by default, if not provided.
Here are the component files, to show how form cgi code has been reduced to a little bit of declaration:
https://or97.net/test-qfo_g2-a.tcl.txt
https://or97.net/test-qfo_g2-a.adp.txt
https://or97.net/test-qfo_g2-b.tcl.txt
https://or97.net/test-qfo_g2-b.adp.txt
I haven't had the need to use the INPUT tag, type="file" yet, so haven't checked that yet. Most everything is backed by unit testing by design.
best wishes,
Ben