Direct answer: Of 20 cached contact pages, 9 sites carry a message form (15 forms in total). All 9 collect a phone number, 6 collect email, 6 collect company, 6 use a captcha; only 2 sites use required. Inside the form block, only 1 (E02) has both a privacy link and consent wording; at page level only 2 (E02, E11) link a privacy policy.
Study 36 asked whether contact pages have a privacy entry; this one goes one level deeper: what the message form collects, and whether the entry sits inside it.
Method: a message form has a textarea
Pages come from the 20 cached contact pages of study 8. Each page is split into <form> blocks; only forms containing a <textarea> count as message forms. Multiple forms on one page are checked separately and then merged per site. Fields are matched by type / name / placeholder: email, phone, company, captcha, file upload and required. Privacy links and consent words are matched only inside the form block.
| Item | Rule | Boundary |
|---|---|---|
| Message form | form containing a textarea | Excludes search and newsletter boxes |
| Field | type=email/tel, name containing email/tel/phone/company, placeholder in Chinese | Required state not judged |
| Captcha | captcha / verify / 验证码 | May be a third-party widget |
| In-form privacy | privacy href or consent words inside the form block | Footer links do not count |
Result: phone 9/9, email 6/9
| Signal | Sites (9) | Note |
|---|---|---|
| Phone | 9 | E02, E06, E08, E11, E13, E17, E19, E23, E26 |
| 6 | E02, E08, E13, E17, E19, E26 | |
| Company | 6 | E02, E06, E08, E19, E23, E26 |
| Captcha | 6 | E02, E08, E11, E13, E17, E19 |
| File upload | 0 | No file input in message forms |
required attribute | 2 | E06, E23 |
| Privacy link inside form | 1 | E02 only |
| Consent words inside form | 1 | E02 only |
Phone is the only universal field; email, company and captcha each cover two thirds; only two sites use required. In other words, “leave a phone number” is the shared pattern, while front-end constraints are not.
In-form privacy: 1 of 9
Narrowed to the form block, only E02 shows both a privacy link and consent wording. E11 has a page-level privacy link but not inside the form; E19 has page-level consent words but not inside the form. Two page-level links do not equal one in-form link.
The acceptance detail: where the entry sits matters more than whether it exists. A footer link and a submit button in the middle of a form are not seen together.
Relation to study 36
Study 36 recorded at page level: 15 of 20 contact pages have a form, 3 link a privacy policy, 3 mention consent, 1 has a checkbox. This study narrows “form” to “form with a textarea”, giving 9 sites, and in-form privacy drops to 1. The two are consistent: a page-level entry does not mean an in-form entry.
What this means for acceptance
- Start with what the form collects. Phone 9/9, email 6/9; the field list belongs in the acceptance sheet.
- Check front-end constraints. Only two sites use
required; the rest may rely on back-end or JavaScript validation. - Record privacy by position. One in-form, two page-level — do not merge them into one number.
- A captcha is not a compliance measure. Six sites use one; it blocks bots, not the need to inform and consent.
- Separate message forms from search and newsletter boxes. Forms without a textarea are excluded here.
Limits
- Textarea heuristic: inquiry forms without a message box are excluded.
- Name matching: English/pinyin names and placeholder wording can cause misses.
- No JavaScript: dynamically inserted fields and validation are invisible.
- No submission: back-end validation and second confirmation are not tested.
- 9-site pilot: no industry claim.
Data and reproduction
Anonymised data: equipment-contact-form-fields-2026.csv (9 rows: sample_id, contact URL, message-form count, email/phone/company/captcha/file/privacy/consent flags, required count). The repository keeps docs/research/2026-11-contact-form-fields.csv.
Parser: scripts/contact_form_probe.py; unit tests: scripts/test_contact_form_probe.py (10 tests, no network). Run:
python -m unittest scripts.test_contact_form_probe
Related: the contact-page privacy pilot (page level), the homepage privacy pilot, and the contact-path pilot.
Sources and definitions
- Contact cache: 20 contact pages from study 8 (raw HTML kept off-repository).
- Form rule: form containing a textarea; fields matched by type/name/placeholder.
- Scan: 2026-11-03, zero requests; no form was submitted.