直接答案:第 4 期产品入口样本的 15 个页面中,本次稳定抓取 13 个;其中 6 个含 textarea 表单,共 62 个可见控件。11 个有关联标签(17.7%)、36 个仅靠 placeholder(58.1%)、0 个 required、9 个 autocomplete(全部在 P15)、0 个 type=email/tel。把首页、联系页、产品页并列:222 个控件中仅 38 个有关联标签(17.1%)。
本文只解析 HTML 控件属性,不执行 JS、不提交表单,也不测试读屏或移动端键盘。
方法:产品入口页 + 同一套控件口径
2026-11-08 21:41–21:42,对第 4 期 15 个产品入口 URL 重新请求,保留可稳定返回 200 的 13 个;统计所有非 hidden/submit/button/reset/image 的控件(含 select/textarea)。标签只认 for/id、包裹式 label、aria-label/labelledby 与 title。
| 项 | 判定 | 边界 |
|---|---|---|
| 产品页样本 | 15 个 P 编号中抓到 13 个 | 未抓到的 2 个不计为 0 |
| 留言表单 | form 内含 textarea | 搜索/订阅框不计 |
| 有关联标签 | for/id、包裹 label、aria、title | 表格文字与视觉邻近不计 |
| type / autocomplete | 按属性字面值 | 不测实际键盘与填充 |
结果:62 个控件,11 个有标签
| 项 | 控件数 | 占 62 |
|---|---|---|
| 有关联标签 | 11 | 17.7% |
| 仅靠 placeholder | 36 | 58.1% |
| 带 required | 0 | 0% |
| 带 autocomplete | 9 | 14.5% |
| type=email / tel | 0 / 0 | 0% |
控件集中在少数页面:P02 一页 25 个、P13 11 个、P15 9 个,其余多为 0–5 个;有标签的 11 个里,P02 占 7 个、P03 占 4 个。9 个 autocomplete 全部在 P15 的同一个表单。
三类页面矩阵:222 个控件,38 个有标签
| 口径 | 首页(25) | 联系页(9) | 产品页(13) | 合计 |
|---|---|---|---|---|
| 可见控件 | 70 | 90 | 62 | 222 |
| 有关联标签 | 14 | 13 | 11 | 38(17.1%) |
| 仅 placeholder | 32 | 56 | 36 | 124(55.9%) |
| required | 0 | 0 | 0 | 0 |
| autocomplete | 2 | 13 | 9 | 24(10.8%) |
| type=email / tel | 0 | 0 | 0 | 0 |
三类页面在两点上完全一致:没有任何 required,也没有任何 email/tel 类型。差异在标签与自动填充:产品页标签率 17.7%,介于首页 20.0% 与联系页 14.4% 之间;autocomplete 只出现在 3 个站点(E08、E19、P15),说明它是单站配置,而不是模板标配。
对验收的启示
- 产品页也要把标签写进验收。 62 个控件只有 11 个有关联标签,58.1% 仅靠 placeholder。
- 补 type 与 autocomplete。 三类页面 0 个 email/tel,autocomplete 只覆盖 10.8%;移动端键盘与自动填充都用不上。
- required 不能只看前端。 222 个控件 0 个 required,必填约束可能在后端或 JS。
- 模板层统一改。 标签与类型缺失跨首页、联系页、产品页重复出现,说明是模板问题,不是单页问题。
- 把三类页面放进同一张验收表。 控件、标签、type、autocomplete 用同一口径记录,避免只检查首页。企业官网验收可参考网站建设服务。
局限
- 13/15 页:2 个产品页未稳定抓到,未计入;不把失败页当作 0 控件。
- 只读 HTML:不执行 JS、不提交表单,不测读屏与移动端键盘。
- 标签口径有限:表格文字、视觉邻近与复杂 aria 组合不计。
- 页面类型不同:首页 25、联系页 9、产品页 13,站点集合有重叠但不完全相同,只并列比较。
- pilot:同一批装备企业样本,不外推行业。
数据与复算
匿名数据:equipment-product-form-controls-2026.csv(13 行 × 13 列:状态、表单数、控件、标签、placeholder-only、required、autocomplete、type、时间)。仓库内为 docs/research/2026-11-product-form-controls.csv。
解析:scripts/form_label_probe.py(含 inputs());单元测试 scripts/test_content_form_inputs.py(4 项)与 scripts/test_content_form_labels.py(7 项,均无网络)。运行:
python -m unittest scripts.test_content_form_inputs scripts.test_content_form_labels
配套:首页表单输入 pilot、联系页留言表单 pilot、产品入口页 AI 可读性 pilot。
数据来源与口径
- 样本:第 4 期产品入口页 P01–P15,本次抓到 13 个。
- 抓取:2026-11-08 21:41–21:42 Asia/Shanghai,串行,站间 0.5 秒,超时 15 秒。
- 控件:非 hidden/submit/button/reset/image 的 input/select/textarea。
- 标签:for/id、包裹式 label、aria-label/labelledby、title;其余不计。
常见问题
为什么只有 13 个产品页?
第 4 期产品入口样本有 15 个 P 编号,本次能稳定抓取 13 个;另外 2 个未计入,避免把失败页当作 0 控件。
0 个 required 说明不校验吗?
不能。required 只是前端约束;本次 13 页均未见,可能由后端或 JS 校验。
autocomplete 为什么只有 9 个?
9 个全部在 P15 的一个表单里;其余 12 页为 0,说明自动填充是单站配置,而不是普遍实践。
产品页控件比首页少吗?
中位数接近:产品页 62 个控件分布在 13 页,首页 70 个分布在 25 页;产品页单页更集中,但样本页面类型不同,只并列比较。
25 站能代表行业吗?
不能。这是同一批装备企业样本的 pilot,产品页 13 个,不外推行业。
数据能复核吗?
可以。公开 CSV 13 行 × 13 列;scripts/form_label_probe.py 共 11 项离线单测。