Form
Start a contact or enquiry form from layouts/_default/contact.html. It posts directly to the Worker and remains useful without JavaScript. Keep field labels, autocomplete hints, required-state semantics, consent, and the post-submit destination together in the template.
Includes#
- Native labels and controls with meaningful
autocompletevalues - A required privacy-consent control and a Button submit action
- A hidden honeypot that is removed from both the accessibility tree and tab order
- A localized redirect to the Form confirmation page after a successful Worker response
Do not split#
Do not move validation, consent, spam handling, or success routing into Markdown shortcodes. Those are form behaviour and belong in the layout and Worker contract.