Files
shz-backend/docs/test-reports/job-fair/2026-07-25/bugs/BUG-020-admin-outdoor-jobs-accessibility.md

2.5 KiB
Raw Blame History

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
  • accessibility snapshot 显示“岗位名称”“企业名称”“学历要求”“工作经验”四个筛选控件,部分控件依赖占位文案“请选择或搜索企业/请选择”,未呈现稳定字段标识。
  • Console 页面累计 IssueNo 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=10HTTP 200当前测试数据返回空列表相关字典和企业选项接口也均 HTTP 200。

影响范围

监管管理员使用读屏或自动化工具时难以准确定位岗位筛选条件,尤其是同一表单中存在多个下拉字段时,可能无法区分企业、学历和经验条件。

初步定位

户外详情参会岗位页签的 Input、企业选择器和字典选择器没有统一传递 id/name 或标签关联属性。岗位查询接口正常,问题集中在前端筛选表单 DOM 语义层。

建议

为四个筛选字段设置唯一 id/name,通过 htmlForaria-labelledby 关联标签,并为下拉选择器提供明确的可访问名称;修复后复查岗位列表、企业端岗位弹窗和管理端其他岗位查询页。