Refactoring UI:20 条界面自查规则
对照实际界面逐条检查下面 20 项,发现问题时按对应方法调整。正文依据 Adam Wathan 与 Steve Schoger 的《Refactoring UI》原书及作者公开文章整理,保留原章节的判断、做法与例子,以中文摘要展开。
通用设计原则、交互、动效及验证方法见怎么做得好看。各节标注英文章名和原书页码,便于回查;版本与读取来源见来源。
1. 为设计选一种个性
原书:Choose a personality,第 20–26 页。
界面的个性由具体选择共同形成。银行网站可能希望传达安全、专业,新创产品可能希望显得轻松、有趣。作者从四个方面说明怎样表达这种差异:
- 字体:衬线字体可以带来经典、优雅的感觉;圆润的无衬线字体更活泼;中性的无衬线字体适合让其他元素承担个性表达。
- 颜色:作者用蓝色说明熟悉、稳妥的印象,用金色说明精致、昂贵的印象,用粉色说明轻松、有趣的印象。选择时看实际搭配与感受,色彩心理学可帮助理解这种感受。
- 圆角:小圆角比较中性,大圆角偏活泼,直角偏正式。选择后保持一致,让界面有统一气质。
- 语言:正式、疏离的措辞与友好、随意的措辞会形成不同感受。文字和字体、颜色一样参与塑造个性。
方向不明确时,观察目标用户常用的网站,判断他们熟悉的表达方式。借鉴其气质,同时保持自己的辨识度。
2. 别着急上色
原书:Detail comes later,第 12–14 页,尤其是 Hold the color。
设计新功能的早期,先解决结构与布局。字体、阴影、图标等细节留到结构清楚后处理。作者介绍了粗记号笔画草图的方法:工具的粗糙程度会限制细节,让注意力集中在布局上。
开始细化时仍可先用灰阶。没有彩色强调可用,就必须靠间距、明暗对比和尺寸建立层级;层级成立后,再用颜色增强表达。
低保真稿用于快速探索和作出决定。决定形成后进入真实界面的实现,让后续调整建立在可使用的结果上。
3. 字号并非万能
原书:Size isn’t everything,第 38–41 页;另见作者公开文章第 1 节。
仅靠字号区分主次,容易让主要内容过大、辅助内容过小。先尝试字重与颜色:重要文字加重后可以保持适中的字号,辅助文字用较柔和的颜色后仍能保持易读的尺寸。
作者建议从少量层级开始:
- 主要内容用深色,次要内容用灰色,更低层级的信息用更浅的灰色。
- 正文使用常规字重,例如 400 或 500;需要强调时使用 600 或 700。
- 小尺寸界面文字优先保持清楚的笔画。低于 400 的细字重更适合大标题,而非日常界面小字。
4. 弱化来凸显重点
原书:Emphasize by de-emphasizing,第 46–47 页;官网目录中的章名为 De-emphasize to emphasize。
重点不突出时,问题可能出在周围元素过于抢眼。与其不断加强目标元素,不如降低与它竞争的元素的视觉重量。
原书用两个不同尺度的例子说明:
- 导航的当前项已经换了颜色却仍不醒目,可以把未选中项的颜色变柔和。
- 侧栏与正文争夺注意力时,可以去掉侧栏独立的背景色,让它直接融入页面背景。
5. 非必要不用标签
原书:Labels are a last resort,第 48–52 页;作者公开样章。
这条针对数据展示。把所有信息写成“标签:值”,会让每项内容看起来同样重要,妨碍层级表达。
- 格式已经说明含义时,直接展示值。 邮箱、电话号码、带货币符号的价格通常能自行说明类型。
- 上下文已经说明含义时,利用上下文。 员工姓名下方的“客户支持”可以自然表达所属部门。
- 需要解释时,把说明融进值。 “库存:12”可写成“剩余 12 件”,“卧室:3”可写成“3 间卧室”,作为一个整体安排样式。
- 需要并列比较时,保留标签并安排主次。 仪表盘上通常突出数据,让标签承担说明作用。
- 用户按字段查找时,突出标签。 技术规格页的读者可能先找“厚度”,再看“7.6 mm”;此时标签可以比数值略深,数值仍保持清楚。
表单输入的持续可见标签按怎么做得好用处理。
6. 按钮先看主次,再看含义
原书:Semantics are secondary,第 60–62 页;另见作者公开文章第 7 节。
按钮既表达动作含义,也表达动作在当前页面中的重要性。先确定主次,再选择颜色和样式,比只按“积极动作用绿、删除动作用红”更能形成清楚的界面。
- 主要操作需要醒目,可用高对比的实心背景。
- 次要操作需要清楚但较弱,可用描边或低对比背景。
- 更低频的辅助操作需要能被找到,可用类似链接的样式。
危险操作的视觉重量同样取决于位置。删除在普通页面上可能是次要操作;进入确认对话框后,删除成为当前主要决定,此时再使用醒目的红色样式。
7. 从过度留白开始
原书:Start with too much white space,第 66–69 页。
从拥挤布局出发,一点点增加间距,往往只会得到“勉强不挤”的结果。作者建议先给元素明显充裕的空间,再逐渐收紧,直到整体合适。
单独看一个组件时显得偏多的留白,放回完整页面后可能刚好。判断时看整页,而不只盯着某个局部。
紧凑布局也有明确用途。例如仪表盘需要同时呈现大量信息时,可以接受更高密度。密度应来自这样的任务选择。
8. 不必填满屏幕
原书:You don’t have to fill the whole screen,第 76–82 页。
界面和各个区域只使用内容真正需要的宽度。导航占满屏幕,并不要求下面的表单也同样宽。为了占满画布而拉长组件,会增加理解负担。
原书提出两种处理方法:
- 缩小设计画布:难以在宽屏上设计紧凑界面时,可先在约 400px 的画布上完成移动布局,再放到宽屏上调整小屏曾经作出的妥协。
- 把内容分成不同职责的列:窄表单放在宽页面中显得失衡时,可将说明文字放到旁侧,保留表单本身合适的宽度。
需要大量空间的内容可以充分利用屏幕。关键是让宽度服务内容。
9. 间距有亲疏
原书:Avoid ambiguous spacing,第 96–99 页。
靠空间表达分组时,组外距离应大于组内距离。所有间距相等,会让元素归属变得模糊。
原书用几种情况说明这个问题:
- 表单标签与自己的输入框靠近,相邻表单项之间留出更大距离。
- 文章小标题上方留出足够空间,让它明显属于下方内容。
- 多行列表项的项间距大于单个列表项的内部行距。
- 横向排列的组件也通过组内、组外距离表达归属。
10. 缩放不总是等比
原书:Relative sizing doesn’t scale,第 92–95 页。
不同屏幕下,标题、正文和留白需要分别调整。桌面上合理的比例,到了手机上可能失衡。
原书举例:桌面正文为 18px、标题为 45px,标题是正文的 2.5 倍。小屏正文变为 14px 后,继续沿用这个比例会得到 35px 的标题;示例中更合适的标题约为 20–24px。大元素往往需要比小元素缩得更多。
同一组件内部也有这种关系。按钮字号与内边距可以分别调整:大按钮使用更充裕的留白,小按钮更紧凑,才能形成不同尺寸各自合适的比例,而非同一个按钮的缩放版。
11. 行长与行高联动
原书:Keep your line length in check,第 114–116 页;Line-height is proportional,第 122–125 页;作者公开行高样章。
段落宽度首先服务阅读。书中英文排版的建议范围是每行约 45–75 个字符,宽度约 20–35em 可作为起点。内容区为了容纳大图而变宽时,段落仍可保持较窄宽度。
行高同时受行长与字号影响:
- 行越长,通常需要越充裕的行距。 视线从行尾回到下一行行首的距离越远,越容易读重或漏行。作者用窄栏约 1.5、宽栏可能接近 2 的行高作例子。
- 字号越小,通常需要越充裕的相对行高。 小字更需要行间空间帮助定位。
- 大标题可以更紧凑。 多行大标题的字形容易辨认,相对行高可以降到约 1。
12. 基线对齐,不居中
原书:Baseline, not center,第 118–120 页。
一行中混用不同字号时,按文字基线对齐。基线是字母落脚的那条线,也是眼睛自然感知的对齐依据。
例如卡片左边是大标题、右边是较小的操作文字。按各自文本框垂直居中,会让两组文字的基线错开;它们距离越近,这种错位越明显。让它们共用基线,关系会更整齐。
13. 颜色比想象的多
原书:You need more colors than you think,第 142–147 页;色阶建立方法见作者公开文章 Building Your Color Palette。
一组五色配色卡通常不足以支撑真实界面。作者把实际所需颜色分为三类:
- 灰阶承担文字、背景、面板和表单控件等大部分用途。作者建议准备约 8–10 档,从很深的灰逐步过渡到白色。
- 主色通常有一到两种,用于主要操作、选中导航等。每种准备约 5–10 档深浅变化:浅色可以做提示背景,深色可以做文字。
- 强调色用于突出新功能、表达危险或警告、显示积极趋势。图表、日历和分类标签可能需要更多颜色,各自也需要深浅变化。
作者在公开文章中进一步说明了色阶的建立过程:先选适合作按钮背景的中间色,再通过文字和浅色底板确定最深、最浅两端,最后填补中间档位。以九档为例,可先确定 100、500、900,再补 300、700,最后补其余档位。
使用预先定义的有限色阶,可以避免在每个组件里临时生成一串几乎相同的颜色。实际使用后再微调饱和度和明暗,让色阶满足真实组合。
14. 无障碍也能好看
原书:Accessible doesn’t have to mean ugly,第 162–165 页。
彩色背景上的文字对比不足时,可以改变对比方式,同时保留界面的层级和色彩。
翻转明暗关系。 为了让白字达到足够对比,背景可能需要压得很深,导致原本次要的提示块变得抢眼。可以换成浅色背景配深色文字,让色彩继续支持内容,降低整块区域的视觉重量。
调整色相。 深色面板里的次要文字,如果只提高明度,可能很快接近白色,与主要文字难以区分。作者建议尝试把色相向更明亮的方向移动,例如青、品红或黄,以保留色彩的方式寻找足够对比。
文本对比度按 W3C WCAG 2.2 的现行定义核对:普通文本至少 4.5:1,大文本至少 3:1;大文本通常指至少 18 CSS pt 的常规字或 14 CSS pt 的粗体字。这里采用 W3C 的字号定义,修正原书把门槛简写为约 18px 的表述。
15. 别只靠颜色
原书:Don’t rely on color alone,第 166–168 页。
颜色用于增强已有信息,信息本身还需要可辨认的表达方式。
原书的指标卡用红、绿表示变差和变好,红绿色觉障碍用户难以分辨。补上表示正向或负向变化的图标后,变化方向就有了另一种线索。
多条趋势线的图表也要考虑区分方式。作者建议关注明暗对比,因为浅与深通常比两个不同色相更容易辨别。让信息在色相难以区分时仍然可读,是这条规则的核心。
16. 强调色边框
原书:Add color with accent borders,第 224–226 页;另见作者公开文章第 6 节。
想给平淡界面增加一点色彩,可以从小面积的强调色线条入手。作者给出的位置包括:
- 卡片顶部。
- 当前导航项旁。
- 提示信息的一侧。
- 标题下方的一小段线条。
- 整个页面的顶部。
这些线条通过位置、长度和色彩形成强调。它们让简单界面获得细节,也能承担选中或区域识别的作用。
17. 图上文字先处理背景
原书:Text needs consistent contrast,第 202–206 页。
照片同时存在明亮与昏暗区域时,白字在亮处消失,黑字在暗处消失。问题在背景的明暗变化,处理目标是让文字所在区域获得稳定对比。
原书给出四种可选办法:
- 叠加半透明遮罩。 黑色遮罩压低亮部,帮助浅色字突出;白色遮罩提亮暗部,帮助深色字突出。
- 降低图片对比度。 减小图片内部明暗差,再调整整体亮度,补偿图片变亮或变暗的效果。
- 把图片统一着色。 先降低对比度,再去饱和度,最后用“正片叠底”混合模式叠加纯色,也能让图片更贴合品牌配色。
- 加柔和的文字阴影。 使用较大模糊半径、零偏移,让它像文字周围的柔光,局部增加对比。与适度降低图片对比度结合,可以保留更多照片细节。
18. 每样东西有适用尺寸
原书:Everything has an intended size,第 208–213 页;小图标部分另见作者公开文章第 5 节。
素材的合适尺寸既取决于像素清晰度,也取决于细节和比例。原书分别讨论了以下情况:
- 位图放大会失去清晰度,呈现模糊边缘。
- 小图标放大即使没有像素损失,也可能显得粗重、空洞。为 16–24px 绘制的图标放大三四倍,细节通常不足。可以保持图标合适的大小,用带背景的外层形状填充更大的视觉空间。
- 整页截图缩小会把大量细节挤进很小区域。可以截取平板等较窄布局,或只截取相关局部,减少缩小幅度。需要小尺寸展示整页概貌时,可绘制简化版本,以线条代替小字。
- 复杂图标缩小会让细节挤在一起。favicon 应针对目标尺寸重新绘制简化版本,让设计者主动选择保留什么,而不是依赖浏览器自动压缩细节。
19. 慎用边框
原书:Use fewer borders,第 238–241 页;另见作者公开文章第 4 节。
分隔元素时,边框只是其中一种手段。到处添加边框会让界面显得繁忙。作者提出三种替代做法:
- 阴影可以柔和地界定轮廓,尤其适合元素与背景颜色不同的情况。
- 背景色差可以区分相邻区域。已有背景差异时,可尝试去掉重复表达边界的线条。
- 额外间距可以直接拉开分组,无需增加新的视觉元素。
20. 别忽视空状态
原书:Don’t overlook empty states,第 234–236 页。
依赖用户创建内容的产品,新用户首先看到的往往是空状态。只把填满示例数据的页面设计好,会遗漏第一次使用时的体验。
作者建议用图片或插画吸引注意,并强调下一步操作,引导用户开始创建内容。内容尚未产生时,可以隐藏暂时无用的标签页、筛选等辅助控件,让画面集中于开始行动。
把空状态当作吸引新用户的机会,让尚未填入内容的页面本身也有趣、有吸引力。
来源
- 原书:Adam Wathan、Steve Schoger,Refactoring UI。本次逐章读取的是文件名为
Refactoring-UI-1.0.pdf的 252 页版本,节内页码均采用该版本。官网及目录;本次读取的原书 PDF 副本由第三方托管,并非官方发行链接。官网目录的页码不同,回查其他版本时以英文章名定位。 - 作者公开样章:Labels are a last resort、Line-height is proportional、Building Your Color Palette。用于交叉核对原书内容,并补充色阶建立方法。
- 作者公开文章:7 Practical Tips for Cheating at Design。提供部分方法的讲解及前后对比图。
- 无障碍规范:W3C:Understanding SC 1.4.3 Contrast (Minimum)。第 14 条的对比度与大文本定义以此为准。
#设计/体验