输入框里只有一层浅灰的提示文字,一敲字提示就消失,填到第三个框时已经想不起第一个框要填姓名还是昵称,只能往上翻。乍看像缓存或者权限的锅,追下去往往不是。

<label for='name'>收件人</label>
<input id='name' name='name' placeholder='例:张伟'>
<label class='sr-only' for='code'>邮编</label>

追下去是这么回事:placeholder 只是占位提示,输入之后就消失,读屏对它的支持也不一致,字段因此失去稳定的名字,填到一半就没有参照物可看,也没法回头核对。

「placeholder 代替 label」这类改动最怕改一半,回滚脚本先准备好,再动生产。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。

能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。

具体做法是,每个输入框补一个可见的 label 文字,并用 for 绑定到输入框的 id;布局紧张时把 label 视觉隐藏起来,而不是直接从页面删掉;placeholder 只放格式示例,别拿它当字段名,填完就看不到了。

验收就看一点,随便填一格再回头看,仍能凭标签认出每个框该填什么,不用猜。

作者 9823189