Dojo does not for you to do anything that doesn't validate. We support direct, non-namespaced attribute setting in addition to namespaced attributes and tags. Support for the non-namespaced variants is considered useful by the Dojo community but isn't something you have to adopt.
Wether browsers you wish to deploy to will handle namespaced attributes and tags sanely is another question, but you seem confortable with. It's also possible to create Dojo widgets directly in script, which would get the instantiation code out of your markup entirely, although being able to output markup to generate your UI has productivity advantages. Regards
