Although it's technically and logically close to the HtmlContext, the form thing have an extra context. This is because of the high complexity and huge amount of steps it contains.
Bind all following steps to this named form.
Fill an input field.
Select a radio button.
Reset the value of an input field.
Check a single checkbox
Check an array checkbox
Uncheck a single checkbox.
Uncheck an array checkbox
Select from a dropdown.
Select a file upload.
Add a new field to the form.
Remove a field from the form.
Remove a dropdown from the form.
Submit the form without a button.
Submit the form with a specific button.
Check existence of the form.
Check existence of the field (and it's attributes).
Check existence of the dropdown.
Check existence of a dropdown option.
Check absence of a dropdown option.