读屏用户反馈注册卡在滑块那一步,焦点能落到滑块上,但按空格和方向键都没有反应,页面也没有任何文字说明该怎么操作。乍看像缓存或者权限的锅,追下去往往不是。
<div role="slider" tabindex="0" aria-label="拖动滑块完成验证"
aria-valuemin="0" aria-valuemax="100" aria-valuenow="0"></div>
追下去是这么回事:滑块只监听了鼠标和触摸事件,没有键盘事件,也没有无障碍角色和操作说明。读屏软件读到的是一张没有标签的图片。
碰到「滑块读屏操作」这类问题,我习惯先把当前配置原样备份一份,改坏了立刻换回来,不用现场推。测试环境和线上的差别,往往就在版本号和那几行被忽略的配置上。
线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
具体做法是,给滑块加滑块角色、当前值属性和左右键支持;同时提供一条文字验证的备选路径,别让滑块成为唯一入口;用读屏软件走一遍注册,确认能听到操作提示并完成验证。
验收就看一点,只用键盘也能把滑块拖到缺口,读屏能听到当前进度。
