3.0 KiB
3.0 KiB
BUG-008:企业端户外招聘会“报名岗位”弹窗筛选字段缺少语义关联
- 严重级别:P3(弹窗表单可访问性问题)
- 状态:代码已修复,待测试环境浏览器复验
- 环境:test
- 角色:PC 企业端(已登录测试企业角色)
- 入口:
/shihezi/jobfair/jobfair/outdoorfair - 招聘会:
id=7,“2026年石河子市金秋就业援助户外招聘会” - 发现时间:2026-07-25
复现步骤
- 在企业端户外招聘会列表中找到已通过报名的
id=7。 - 点击“查看报名岗位”。
- 在弹出的“2026年石河子市金秋就业援助户外招聘会 - 报名岗位”窗口中查看“岗位名称”“学历要求”“工作经验”筛选字段。
- 查看 Chrome DevTools Issues/Console。
预期结果
弹窗内每个筛选字段都应有唯一 id/name,并与可见标签正确关联;读屏用户应能在弹窗中明确知道输入框和两个下拉框各自的用途。
实际结果
打开弹窗后 Chrome DevTools Issue 计数从列表基线的 1 个未关联标签/1 个无 id/name 字段增加为:
No label associated with a form field (count: 2)A form field element should have an id or name attribute (count: 2)
只读 DOM 检查显示弹窗中的岗位名称原生 input 没有 id、name、aria-label 或 aria-labelledby;学历和工作经验下拉原生控件虽有 id=education/experience,但没有 name 或显式 aria 字段关联。
浏览器证据
- 页面截图:JF-EN-009-outdoor-registered-jobs-empty.png
- accessibility snapshot 显示弹窗标题“报名岗位”,以及“岗位名称 :”“学历要求 :”“工作经验 :”字段。
GET /api/shihezi/cms/outdoor-fair/7/jobs?current=1&pageSize=10:HTTP 200,返回total=0、rows=[];数据为空不是请求失败,但空结果弹窗仍显示可用的筛选和“添加岗位”控件。- 控制台 Issue:
No label associated with a form field (count: 2)。 - 控制台 Issue:
A form field element should have an id or name attribute (count: 2)。 - 页面只读 DOM 检查确认岗位名称输入字段没有
id/name/aria-label/aria-labelledby。
影响范围
企业用户在维护户外招聘会报名岗位时,读屏和自动化工具无法稳定识别弹窗中的岗位名称筛选字段;该问题也会增加企业端招聘会功能的无障碍问题总量。
初步定位
问题位于户外招聘会报名岗位弹窗的查询表单字段配置,与 BUG-005 的列表筛选表单是不同组件,但表现同属字段属性/label 透传缺失。优先检查 shz-admin/src/pages/Jobfair/Outdoorfair 的报名岗位弹窗组件。
建议
为岗位名称、学历要求、工作经验字段补充稳定 id/name,并通过 Form.Item label、htmlFor 或 aria-labelledby 形成显式关联;空数据场景下保留筛选没有问题,但应同时给出清晰的空状态说明和维护权限提示。