MODULE 07 / LESSON 02

表单:降低填写和修错成本

标签、帮助、校验、键盘类型与提交反馈。

26 / 60 课组织界面与交互含互动实验

先理解这个概念

表单是用户与系统交换数据的协议。标签说明填什么,帮助解释要求,校验说明哪里需要修改。占位符会在输入后消失,不能替代标签。尽量只收集完成任务必要的数据。

表单成本来自取信息、理解格式、输入以及修错。减少字段只解决其中一部分;用户已有的信息不必重填,格式要求应在需要时可见,错误应该指向具体字段。占位文字输入后会消失,因此不能承担唯一标签。前端校验改善反馈,最终有效性仍由服务端确认。

用程序员的语言说

好的表单像清楚的 API schema,但还要把校验结果翻译成用户可以行动的语言。

记住这三个原则

  1. 01

    字段使用持续可见的 label,并关联输入元素。

  2. 02

    输入时不要过早打断;失焦或提交校验按任务选择。

  3. 03

    失败时保留输入,定位错误并提供修复方法。

实际设计时,分三步做

  1. STEP 01

    逐字段说明为什么需要、何时使用、是否必须。能从已知数据可靠获得的内容优先复用,避免为了潜在用途提前收集。

  2. STEP 02

    将标签、输入、帮助和错误组织成明确单元;根据内容选择输入类型,保留复制粘贴和自动填充能力。

  3. STEP 03

    设计提交前、提交中、字段错误、服务错误和成功结果。错误后保留安全可保留的数据,并给出修正路径。

一个容易理解的例子

BEFORE / 常见问题

邮箱占位符消失后没有标签,提交失败只在顶部显示“非法输入”。

AFTER / 可以这样改

邮箱标签一直存在,字段下说明格式问题,并把错误关联到输入。

用户不必在错误摘要与字段之间猜对应关系。

展开看:从场景到设计决定

注册表单在用户刚输入邮箱第一个字母时就显示红色错误,会持续打断。可以等字段编辑告一段落或提交时验证;已经出现的错误在用户修正后及时更新。若服务端返回邮箱已使用,错误放在邮箱附近,并提供登录或找回路径。网络失败不应把所有字段标红,因为问题并不在用户输入。

适用边界与取舍

即时校验适合明确规则,但某些结果需要服务端判断。多步骤表单能降低单屏复杂度,也会增加返回与草稿保存需求,不应只按字段数量机械拆分。

YOUR TURN

把这个原则用一次

先做一个小判断

在状态实验中输入一个没有 @ 的邮箱后提交。

再完成一份设计练习

为收货地址表单补上缺少必填项、格式错误、网络失败和保存成功四种反馈。

容易踩的坑

不要为了“简洁”删除标签,也不要把所有控件都实现成自由文本输入。

继续查阅

本课为原创教学解释。具体平台规则与标准可查阅官方资料。

W3C WAI · Forms TutorialWAI-ARIA Authoring Practices