51 lines
2.4 KiB
Markdown
51 lines
2.4 KiB
Markdown
|
|
# BUG-019:管理端户外招聘会企业退订页筛选字段缺少语义关联
|
|||
|
|
|
|||
|
|
- 严重级别: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 的表单 Issue 统计继续增加,并报告:
|
|||
|
|
|
|||
|
|
- `No label associated with a form field`
|
|||
|
|
- `A form field element should have an id or name attribute`
|
|||
|
|
|
|||
|
|
退订记录接口正常返回,页面显示“暂无数据”,但查询字段缺少完整 DOM 语义。
|
|||
|
|
|
|||
|
|
## 浏览器证据
|
|||
|
|
|
|||
|
|
- 页面截图:[JF-AD-009-admin-outdoor-unsubscribes.png](../screenshots/JF-AD-009-admin-outdoor-unsubscribes.png)
|
|||
|
|
- accessibility snapshot 显示“企业名称”文本和“请输入”输入框,未呈现对应的稳定字段标识/标签关联。
|
|||
|
|
- Console 页面累计 Issue:`No label associated with a form field (count: 4)`、`A form field element should have an id or name attribute (count: 4)`;其中本页新增企业退订查询字段。
|
|||
|
|
- `GET /api/shihezi/cms/outdoor-fair/12/company-unsubscribes?current=1&pageSize=10`:HTTP 200,当前测试数据返回空列表。
|
|||
|
|
|
|||
|
|
## 影响范围
|
|||
|
|
|
|||
|
|
监管管理员使用读屏、键盘辅助技术或自动化工具时,无法稳定定位企业退订查询字段;退订记录为空时,用户也缺少可验证的筛选字段语义。
|
|||
|
|
|
|||
|
|
## 初步定位
|
|||
|
|
|
|||
|
|
企业退订页签的查询表单未提供完整 `id/name` 或标签关联,属于与参会企业、企业签到页签相同的前端表单实现缺陷。接口数据加载正常,问题不在退订记录查询 API。
|
|||
|
|
|
|||
|
|
## 建议
|
|||
|
|
|
|||
|
|
为企业名称字段补充唯一 `id/name`,通过 `htmlFor` 或 `aria-labelledby` 绑定标签,并在户外详情全部页签统一复用经过无障碍验证的查询表单组件。
|