46 lines
2.5 KiB
Markdown
46 lines
2.5 KiB
Markdown
|
|
# BUG-020:管理端户外招聘会参会岗位筛选字段缺少语义关联
|
|||
|
|
|
|||
|
|
- 严重级别: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 统计继续增加,并报告缺少标签关联和字段标识。岗位接口能够正常返回,但筛选表单的原生字段语义不完整。
|
|||
|
|
|
|||
|
|
## 浏览器证据
|
|||
|
|
|
|||
|
|
- 页面截图:[JF-AD-010-admin-outdoor-jobs.png](../screenshots/JF-AD-010-admin-outdoor-jobs.png)
|
|||
|
|
- accessibility snapshot 显示“岗位名称”“企业名称”“学历要求”“工作经验”四个筛选控件,部分控件依赖占位文案“请选择或搜索企业/请选择”,未呈现稳定字段标识。
|
|||
|
|
- Console 页面累计 Issue:`No label associated with a form field (count: 5)`、`A form field element should have an id or name attribute (count: 5)`;本页新增岗位名称、企业名称、学历要求和工作经验字段。
|
|||
|
|
- `GET /api/shihezi/cms/outdoor-fair/12/jobs?current=1&pageSize=10`:HTTP 200,当前测试数据返回空列表;相关字典和企业选项接口也均 HTTP 200。
|
|||
|
|
|
|||
|
|
## 影响范围
|
|||
|
|
|
|||
|
|
监管管理员使用读屏或自动化工具时难以准确定位岗位筛选条件,尤其是同一表单中存在多个下拉字段时,可能无法区分企业、学历和经验条件。
|
|||
|
|
|
|||
|
|
## 初步定位
|
|||
|
|
|
|||
|
|
户外详情参会岗位页签的 Input、企业选择器和字典选择器没有统一传递 `id/name` 或标签关联属性。岗位查询接口正常,问题集中在前端筛选表单 DOM 语义层。
|
|||
|
|
|
|||
|
|
## 建议
|
|||
|
|
|
|||
|
|
为四个筛选字段设置唯一 `id/name`,通过 `htmlFor` 或 `aria-labelledby` 关联标签,并为下拉选择器提供明确的可访问名称;修复后复查岗位列表、企业端岗位弹窗和管理端其他岗位查询页。
|