53 lines
2.7 KiB
Markdown
53 lines
2.7 KiB
Markdown
|
|
# BUG-018:管理端户外招聘会企业签到页筛选字段缺少语义关联
|
|||
|
|
|
|||
|
|
- 严重级别:P3(可访问性与表单自动化兼容性问题)
|
|||
|
|
- 状态:代码已修复,待测试环境浏览器复验
|
|||
|
|
- 环境:test
|
|||
|
|
- 角色:PC 监管管理员
|
|||
|
|
- 入口:`/shihezi/jobfair/outdoor-fair/detail?id=12` → “企业签到”
|
|||
|
|
- 发现时间:2026-07-25
|
|||
|
|
|
|||
|
|
## 前置条件
|
|||
|
|
|
|||
|
|
使用测试环境监管管理员角色打开户外招聘会 `id=12` 详情,并切换到“企业签到”页签。
|
|||
|
|
|
|||
|
|
## 复现步骤
|
|||
|
|
|
|||
|
|
1. 打开“企业签到”页签。
|
|||
|
|
2. 观察“已签到企业”和“未签到企业”两个列表各自的企业名称筛选输入框。
|
|||
|
|
3. 在 Chrome DevTools Console/Issues 或无障碍树中检查两个筛选表单。
|
|||
|
|
|
|||
|
|
## 预期结果
|
|||
|
|
|
|||
|
|
已签到和未签到列表的企业名称字段应分别具备稳定、唯一的 `id/name`,并与可见标签建立语义关联;辅助技术和自动化工具应能区分两个筛选表单。
|
|||
|
|
|
|||
|
|
## 实际结果
|
|||
|
|
|
|||
|
|
页面加载后 Chrome DevTools 报告:
|
|||
|
|
|
|||
|
|
- `No label associated with a form field (count: 3)`
|
|||
|
|
- `A form field element should have an id or name attribute (count: 3)`
|
|||
|
|
|
|||
|
|
页面把企业签到分成“已签到”和“未签到”两个区块,两个列表及其查询框都能渲染,但筛选字段存在语义缺失。
|
|||
|
|
|
|||
|
|
## 浏览器证据
|
|||
|
|
|
|||
|
|
- 页面截图:[JF-AD-008-admin-outdoor-attendance.png](../screenshots/JF-AD-008-admin-outdoor-attendance.png)
|
|||
|
|
- accessibility snapshot 显示两个“企业名称”输入框,均仅以“请输入”作为控件名称,缺少完整的表单字段语义。
|
|||
|
|
- 控制台 Issue:`msgid=79 [issue] No label associated with a form field (count: 3)`。
|
|||
|
|
- 控制台 Issue:`msgid=80 [issue] A form field element should have an id or name attribute (count: 3)`。
|
|||
|
|
- `GET /api/shihezi/cms/outdoor-fair/12/company-attendance?current=1&pageSize=8&checkedIn=true`:HTTP 200。
|
|||
|
|
- `GET /api/shihezi/cms/outdoor-fair/12/company-attendance?current=1&pageSize=8&checkedIn=false`:HTTP 200;当前测试数据两侧均显示“暂无数据”。
|
|||
|
|
|
|||
|
|
## 影响范围
|
|||
|
|
|
|||
|
|
监管管理员无法通过辅助技术明确区分已签到和未签到筛选字段;在页面存在多个相同“企业名称”输入框时,浏览器自动填充和自动化定位也可能选错字段。
|
|||
|
|
|
|||
|
|
## 初步定位
|
|||
|
|
|
|||
|
|
签到页的两个企业列表查询表单复用了未提供完整字段属性的 Input 组件,至少三个原生字段缺少标签关联或 `id/name`。签到接口本身正常返回,问题集中于前端筛选表单语义。
|
|||
|
|
|
|||
|
|
## 建议
|
|||
|
|
|
|||
|
|
为两个区块的企业名称输入框分别设置唯一 `id/name`,为标签补充 `htmlFor` 或 `aria-labelledby`,并为“已签到/未签到”建立清晰的表单分组名称;修复后复查无障碍树和重复字段自动化定位。
|