Forms on the web have become terrible. Lost state. No keyboard nav. Weird refreshes. Mobile hostile.

The reason is #frontend developers that think clientside state management is how to implement a form. It is not.

Good forms work without client #javascript (and then are progressive enhanced by js to work even better).

Good forms always submit. Good forms remember values and display problems inline.

How do we fix the misconceptions and, in the process, fix the forms on the web ?

@brianleroux browsers should have some sort of input history built in and a way to refill forms even if field identifiers change. At this point I blame the browsers, not the web apps.
@tlhunter @brianleroux But that's already there: browsers *have* an input history, often depending on the name, sometimes in the id or a combination of both. And they have autofill features for known tokens, e.g. shipping or billing addresses or personal information - these are useable without identifiers.