47 lines
2.6 KiB
Markdown
47 lines
2.6 KiB
Markdown
# BUG-024:管理端新增场地弹窗存在字段语义关联缺失
|
||
|
||
- 严重级别:P3(可访问性与表单自动化兼容性问题)
|
||
- 状态:代码已修复,待测试环境浏览器复验
|
||
- 环境:test
|
||
- 角色:PC 监管管理员
|
||
- 入口:`/shihezi/jobfair/jobfair/venueinfo` → “新增”
|
||
- 发现时间:2026-07-25
|
||
|
||
## 前置条件
|
||
|
||
使用测试环境监管管理员角色进入场地信息维护列表,打开“新增场地”弹窗;不提交表单。
|
||
|
||
## 复现步骤
|
||
|
||
1. 打开场地信息维护页面。
|
||
2. 点击“新增”。
|
||
3. 观察场地类型、场地名称、面积、展位数量、联系电话、地址、线路、机构、备注和经办信息控件。
|
||
4. 在 Chrome DevTools Console/Issues 或无障碍树中检查弹窗字段。
|
||
|
||
## 预期结果
|
||
|
||
弹窗内每个字段都应有明确的可访问名称、稳定的 `id/name` 和适当的表单属性;必填项应让辅助技术识别必填状态,数值输入应明确单位和范围。
|
||
|
||
## 实际结果
|
||
|
||
打开弹窗后,表单 Issue 统计从列表页的 `A form field element should have an id or name attribute (count: 1)` 增加为 `count: 2`。无障碍树中“场地类型”下拉框仅呈现为空的 combobox,“场地名称”输入框主要依赖占位文案“请输入场地名称”,说明新增表单至少有字段缺少稳定语义属性。
|
||
|
||
## 浏览器证据
|
||
|
||
- 页面截图:[JF-AD-017-venue-add-dialog.png](../screenshots/JF-AD-017-venue-add-dialog.png)
|
||
- accessibility snapshot 显示“添加场地”弹窗、必填字段、面积/展位数量 spinbutton、地址和线路等控件;场地类型 combobox 未呈现可访问名称。
|
||
- Console Issue:`msgid=114 [issue] A form field element should have an id or name attribute (count: 2)`;列表页同一 Issue 为 `count: 1`,打开弹窗后新增字段触发。
|
||
- 场地类型、线路、机构等选项来源请求均 HTTP 200;本轮未点击“确定”,没有产生写请求。
|
||
|
||
## 影响范围
|
||
|
||
管理员使用读屏或自动化工具新增场地时,可能无法识别场地类型等字段;必填项、数值范围和单位提示不充分也会增加错误配置场地面积/展位数量的风险。
|
||
|
||
## 初步定位
|
||
|
||
新增场地弹窗的 Select/Input/Number 控件没有统一传递 `id/name` 或标签关联属性,部分字段仅依赖占位符。问题位于前端弹窗表单语义层,不是选项接口失败。
|
||
|
||
## 建议
|
||
|
||
为所有弹窗控件补充唯一 `id/name`、显式标签和 `aria-required`/范围说明;给面积和展位数量补充单位及合理的最小值/最大值提示。修复后仅用空表单执行前端校验复查,并避免在未授权时提交真实数据。
|