diff --git a/lib/HTML/FormHandler/Widget/Form/Role/HTMLAttributes.pm b/lib/HTML/FormHandler/Widget/Form/Role/HTMLAttributes.pm
index 5ea01c23..5f613135 100644
--- a/lib/HTML/FormHandler/Widget/Form/Role/HTMLAttributes.pm
+++ b/lib/HTML/FormHandler/Widget/Form/Role/HTMLAttributes.pm
@@ -15,7 +15,13 @@ sub html_form_tag {
[ style => 'style' ],
);
- my $element_attr = { %{$self->element_attr} };
+ # make the element_attr a safe default
+ my $element_attr = {};
+ # Assuming that self is a form
+ $element_attr = { %{$self->form_element_attr} } if ( $self->can( 'form_element_attr' ) );
+ # Assuming that self is a field
+ $element_attr = { %{$self->element_attr} } if ( $self->can( 'element_attr' ) );
+
foreach my $attr_pair (@attr_accessors) {
my $attr = $attr_pair->[0];
my $accessor = $attr_pair->[1];