Four bounded experiments, two modes, one rule: only confirm what a response establishes.
An extension of the UX writing protocol
The Edikka archive dated 3 September 2026 (v1.0.1) records two wording corrections on the contact form: UXW07 and UXW08. UXW09–UXW12 were already satisfied. UXW06 belongs to the AI agent test and remains “To test”. This demo does not rewrite those observations.
Public simulation, real local HTTP lab
On GitHub Pages, no field leaves the browser. The local lab actually reserves and stores in memory on 127.0.0.1; scenario C closes the connection after storage. Both modes share validation and contract. A browser-simulated fault is not a real HTTP interruption.
Keyboard, errors and announcements
The summary receives focus after an invalid submission. Its links target the fields. Hints stay associated. One status region announces responses without moving focus; the summary does not combine focus with a live alert. DOM observations do not prove what a screen reader announces.
Four documented scenarios
Understand and correct
Submit the empty form. Then compare the wording, with identical rules.
Retry after a refusal
The first valid attempt is refused before storage. A retry is allowed and can succeed.
Lost response
The service records the request, then the response is lost. What can the form say?
Wait without duplicates
The service waits 4 seconds before recording. Activate the button again, then retry the same request.
Explained example: after a lost response, a request may already be recorded. The interface stays uncertain until a status response arrives. Retrying the same key finds the same record.
No claim of global conformance, user research or conversion improvement. No email delivery, no contact forwarded, no durable storage.