
better-writing
热门涵盖从品牌语气、按钮标签到错误提示与空状态等各类 UX 写作与界面文案指南。用于撰写或评审面向用户的任何文本:按钮与链接标签、表单错误提示、占位符文本、设置项标签、新手引导流程、通知消息或空状态。触发词包括 UX writing、microcopy、interface copy、product copy、copywriting、button labels、link text、error messages、empty states、placeholder text、settings labels、capitalization、title case、sentence case、voice and tone。
涵盖从品牌语气、按钮标签到错误提示与空状态等各类 UX 写作与界面文案指南。用于撰写或评审面向用户的任何文本:按钮与链接标签、表单错误提示、占位符文本、设置项标签、新手引导流程、通知消息或空状态。触发词包括 UX writing、microcopy、interface copy、product copy、copywriting、button labels、link text、error messages、empty states、placeholder text、settings labels、capitalization、title case、sentence case、voice and tone。
融入界面的好文案
清晰简明胜过巧思雕琢,一致连贯胜过花样繁多;而最好的错误提示,莫过于直接重设交互、让错误根本无法发生。在撰写或评审任何面向用户的文本时,请遵循这些原则。
文案在渲染层的呈现(如通过 text-transform 控制大小写、文本截断、智能标点)由 better-typography Skill 涵盖;错误标记与屏幕阅读器播报(如 aria-invalid、动态区域 live regions)由 better-accessibility Skill 涵盖;翻译文本的空间预留由 better-layout Skill 涵盖。
核心原则
1. 勘测现有品牌语气
在撰写或评审之前,先检查周围的界面文案、产品既有术语、本地化规范以及已有的语气或内容风格指南。在保持清晰且符合场景分寸的前提下,保留既有的品牌个性。只有当与通用平实语言的差异导致了不一致、歧义、翻译风险或语气不适当时,才将其视为需要修改的问题。
2. 统一品牌语气,灵活调节情绪
产品只有一种基础语气(Voice),它来自于既有的系统规范,而非在局部修改时凭空捏造。保持术语前后一致:如果在菜单里叫“归档”,就不要在轻提示(toast)里变成“移至存储”。情绪语气(Tone)则随场景利害程度灵活微调:
| 场景 | 语气 |
|---|---|
| 操作成功、新手引导、空状态 | 亲和温暖,可轻快 |
| 常规操作、设置项 | 中立客观,精简干练 |
| 报错提示、破坏性确认 | 沉稳平实,绝不嬉皮笑脸 |
| 数据丢失、安全警报 | 严肃严谨,清晰明确 |
3. 直接称呼读者
在引导性质的界面文案中,直接用“你”称呼读者,而非“用户”。在报错信息中避免使用“我们”,以免产生责任归属歧义或显得像在推诿:优先使用“无法加载内容”,而不是“我们在加载此内容时遇到了问题”。在风险较低的场景中,如果已有既定的一人称品牌语气且保持清晰,可予以保留。谨慎使用所有格(优先用“收藏夹”,而非“你的收藏夹”),且切勿无意间混用视角。
4. 用字平实,少耍聪明
选择简单易懂的词汇,删去所有不必要的赘字。避免使用无法跨文化翻译的成语、俚语或幽默表达。省去不必要的性别限定:如使用“订阅者可以发布食谱”, cheaper 不用“每位订阅者可以发布他或她的食谱”。文案动词需匹配输入设备:触屏用“轻按”(或“点击”),鼠标指针用“点击”,二者兼具时用“选择”。切勿通过拼接变量片段来构造句子(如 "你有 " + n + " 条新消息");各语言的语序不同,请使用包含完整复数形式的模板化字符串。
5. 按钮动词先行
按钮标签应以明确具体操作的动词开头:“发送”、“保存草稿”、“删除项目”。在涉及实质后果的操作上,绝不要使用“确定!”、“出发!”或孤零零的“是/否”。二次确认按钮应重复展示操作后果,让用户无需阅读正文也能做出回答:面对“删除此项目?”的弹窗,应提供 删除项目 和 取消,而非 是 和 否。
6. 统一流程词汇
多步骤流程必须统一使用一套词汇规范:用“开始”进入,用“继续”或“下一步”(二选一)推进,用“完成”结束。在步骤间交替使用同义词会让用户困惑这些按钮是否具有不同功能。
7. 链接文本应明确指向目标
链接文本离开上下文后依然要独立通顺;屏幕阅读器用户常通过页面的链接列表进行导航。例如“阅读计费文档”,绝不要用“点击这里”(这在触屏设备上也违背了设备动词规则),在一页出现多个链接时也绝不要只用孤零零的“了解更多”。需补充后缀:“了解关于导出的更多信息”。
8. 统一大小写规范
按元素类型(如所有按钮、所有标题)选定一种大小写规范(如 Title Case 或 Sentence Case)并贯彻执行;Sentence Case(仅首字母大写)是更稳妥的默认选择:更平实沉稳、没有逐词大写规则、且本地化适配更顺畅。“保存更改”与“丢弃更改”混用大小写会显露粗糙感。
9. 设置项标签描述“开启”状态
开关的标签应描述其在“开启”时会发生什么:例如“发送已读回执”,用户自然能推断出关闭时的状态。绝不要用否定句命名(如“不发送已读回执”),这会让开关变成双重否定。对于提及的设置项应直接提供链接,而不是描述层级路径:提供“通知设置”链接,而非“请前往 设置 > 通知 > 邮件”。
10. 错误提示紧邻故障位置,并说明修复方法
错误提示是一条指导说明,应紧贴出现故障的表单项:
| 错误示范 | 正确示范 |
|---|---|
| 密码太短 | 请设置至少 8 个字符的密码 |
| 姓名无效 | 姓名只能包含字母 |
| 哎呀!出错了。 | 无法保存。请检查网络连接后重试。 |
不推卸责任,不用“哎呀!”,不用感叹号。用肯定语气表达提示(“只能包含字母”,而非“请勿使用数字或符号”),并在用户出错前展示提示,而非出错后。如果大量用户反复触发同一错误,应重新设计交互,而非修改文案。
11. 空状态指引前行方向
空状态应说明当前位置的作用以及如何填满它,并提供一个明确的下一步操作:
<!-- 错误示范:毫无建设性的耸肩 -->
<p>暂无结果。</p>
<!-- 正确示范:建立认知并指引下一步 -->
<p class="font-medium">暂无项目</p>
<p class="text-sm text-zinc-500">项目可以将你的任务与文件集中管理。</p>
<button class="mt-4">创建项目</button>
搜索和筛选的空状态应列出查询词并提供退出路径:“未找到与‘quarterly’相关的结果。清空筛选”。切勿把关键的持久性信息堆放在空状态中;一旦有了内容,空状态就会消失。
12. 占位符是示例,不是标签
占位符用于展示预期格式(如 name@example.com、YYYY-MM-DD)。占位符绝不能充当字段唯一的标签:它会在输入时消失,而每个字段都必须保持有可见的字段标签。
常见错误
| 错误 | 修复方式 |
|---|---|
| 局部重写时忽略了产品既有的术语或品牌语气 | 在提出修改建议前,先检查周围文案和规范手册 |
| 引导性界面文案中使用“用户” | 直接用“你”称呼读者 |
| 用“我们在……时遇到了问题”模糊责任或恢复路径 | 使用直接的状态说明与下一步指引:“无法加载内容” |
在破坏性确认弹窗中使用 确定 / 是 |
重复提示操作后果:“删除项目” |
| 第 2 步用“继续”,第 3 步用“下一步” | 全流程统一使用一套词汇 |
| “点击这里”或孤零零的“了解更多”链接 | 描述链接目标:“阅读计费文档” |
| “Save Changes”与“Discard changes”混用 | 针对每种元素类型统一大小写规范 |
| “不发送已读回执”开关 | 针对“开启”状态命名标签:“发送已读回执” |
| “哎呀!出错了。” | 在故障字段旁说明具体应对措施 |
| 整个空状态只有一句“暂无结果。” | 说明定位并用下一步操作指引前行方向 |
| 让占位符承担标签的功能 | 保持可见标签;占位符仅展示示例格式 |
"你有 " + n + " 条消息" |
使用包含复数处理的完整模板字符串 |
评审输出格式
仅当用户明确要求进行独立文案评审时使用此格式。当由 better-interface 协调评审时,请将本领域的证据与发现提供给该 Skill,并以其输出格式、严重性标准、整合规则、上限和最终结论为准。
独立评审分为两部分呈现。
发现项 (Findings)
将所有已确认的发现项按原则归类。使用包含 严重性 (Severity)、位置 (Location)、修改前 (Before)、修改后 (After) 和 原因 (Why) 列的 Markdown 表格。绝不要使用单独的 "Before:" / "After:" 行。
- 严重性 (Severity):
HIGH误导用户、隐瞒操作后果或阻碍恢复;MEDIUM增加任务理解难度;LOW属于局部语气或一致性优化。 - 位置 (Location):引用
path/to/file:line。如果制品没有源文件,则引用具体的屏幕界面和组件名称。 - 修改前 / 修改后 (Before / After):原文引用当前文案及其完整替换文本。
- 原因 (Why):指出违背的原则,并解释对理解成本或信任度的损害。
将重复出现的系统性问题合并为一行,并列出所有受影响的位置。无发现项的原则予以省略。
示例
错误提示需说明修复方法
| 严重性 | 位置 | 修改前 | 修改后 | 原因 |
|---|---|---|---|---|
| MEDIUM | src/PasswordField.tsx:36 |
"Invalid password" | "请设置至少 8 个字符的密码" | 错误提示必须说明如何解决问题 |
| HIGH | src/Editor.tsx:81 |
"We couldn't process your request" 浮动提示 | 内联 "无法保存。请检查网络连接后重试。" | 当前消息既未定位失败原因,也未提供恢复路径 |
按钮动词先行
| 严重性 | 位置 | 修改前 | 修改后 | 原因 |
|---|---|---|---|---|
| HIGH | src/DeleteDialog.tsx:29 |
删除确认弹窗上的 "OK" | "删除项目" | 涉及实质后果的操作必须重复提示其后果 |
| MEDIUM | src/Signup.tsx:54 |
"Let's go!" | "创建账号" | 标签必须明确指出具体操作 |
验证与最终结论 (Verification and Verdict)
在发现项之后:
- 验证 (Verification):列出实际运行的检查项及其观测结果,适当时包括完整流程、变量插值、复数处理以及窄屏换行。如果未运行某项检查,请说明仍需验证的事项。
- 最终结论 (Verdict):若仍存在任何
HIGH发现项则为Block;若仅存在MEDIUM或LOW发现项则为Needs changes;仅当不存在任何需处理的发现项时才为Approve。
当没有发现项时,省略表格,注明“无需处理的文案发现项”,报告验证情况,并以 Approve 结尾。





