Form Element Attributes: novalidate, method, action
Action is the form attribute that processes a form submission.
Method is the form attribute that determines the method of sending the form information. There is the ability to 'post', which sends the data as a request body, a 'get' similar to post, but should be used when the form doesn't cause any other actions or effects, and 'dialog' is used to cause a submit event when the dialog closes, without actually submitting the data or clearing the form.
Novalidate is a boolean attribute that indicates the form shouldn't be validated when submitted. This is different from typical behavior where the form is usually always validated when submitted.
Form Elements: Fieldset and Legend
The fieldset element is used inside of forms to be able to group several controls and labels together and outline them visually with a gray box.
The legend element shows a caption for the parent element 'fieldset'.
Form Element: Label
The label element is used inside of forms to act as a caption for an item in the UI. The label text is associated with the text input both visually and programmatically. This allows screen readers to select a particular form element when the label for the element is selected. When a label element is clicked on by the user it will put the input associated with the label into focus.
Using the 'for' attribute puts an 'id' on the label so it can be identified with a form control. The 'id' from the 'for' attribute needs to match the name of the label to be able to be functionally connected.
Summary
The attributes 'action', 'method', and 'novalidate' all relate to what a form does when submitted, and how that information on the form is submitted. The 'fieldset' and 'legend' elements are often used in forms to group certain controls and labels together to modify as one unit, as well as provide more context for the form (legend element specifically). Lastly, the label element is used to label certain controls in a form, and is required for accessibility needs in a proper website. In addition, the label and can be manipulated with the actual control using the 'for' attribute, and matching the 'id' of both the control and label.