I was just looking for this autocomplete=off feature in z3c.form because of the mail control panel in core Plone:
When users with access go to the mail control panel and the smtp_userid/smtp_pass is not filled in (because for example you can relay through localhost) some browsers like Chrome will autocomplete insert some username. Then they press save and .... the mail settings for the Plone site are broken.
Checking online docs I see multiple suggestions for disabling autocomplete, putting an attribute autocomplete='off' on the field and/of adding a hidden field autocomplete in the form with value 'off' And that some browsers might ignore the attribute/field at all though
the per widget/field could maybe be added to plone.autoform so you can do something like:
from plone.autoform import directives as form
smtp_userid = schema.TextLine(
But I only know of the 'klass' named parameter being support/documented at the moment, you cannot inject random other attributes onto the input tag, or does that depend on the Widget class?