support custom attributes for buttons