We also wanted to use the “distribution” option - in our case, for DDA compatibility (without using tables for the layout), but for political reasons we were not able to use Tomahawk. As a result, we created our own custom rendering for radio buttons and checkboxes.
It was not too difficult, it took several hours to get it to work the way we wanted it to. I am at home for a couple of days without access to the codebase, so I can not give you the exact code, but this is a pretty simple question about overriding encodeBegin() and decodeBegin() (or encodeEnd() and decodeEnd() depending on your usecase methods and writing html suitable for your application.
source share