A11.03.1Minimum font size and user-adjustable text scaling设计
最小字号与用户可调字号的支持
别名: 字号可调 · 文本缩放 · dynamic type
概念解释
面向老年用户的字号适配包含两个动作,且缺一不可:一是界面本身设定的正文字号不能低于某个下限;二是无论下限设多高,都要允许用户在此基础上进一步放大到自己需要的倍数,且放大后界面不能被破坏(文字截断、控件重叠、出现意外的横向滚动)。这两个动作解决的是不同的问题——下限保证基线可用,可调保证个体差异被覆盖。
机制
固定字号方案只能覆盖某一个假设的平均视力水平,而实际用户群体的视力状况分布很广,单一固定值无论定得多大,总有一部分用户仍然不够用,也总有一部分用户觉得偏大、影响阅读效率。可调字号把"多大字号够用"这个判断权交还给每个用户自己,比设计者猜一个通用值更可靠。但如果放大字号会导致文本被截断或遮挡,等于把"选择权"变成了"要么放弃可读性、要么破坏界面"的假选择——可调字号必须搭配布局的弹性伸缩(自动换行、容器随内容高度调整)才算真正生效,否则放大功能本身形同虚设。
边界
不是所有老年用户都需要放大字号——相当比例的用户经过屈光矫正后视力完全正常,强行把默认字号设得很大,会牺牲这部分用户的信息密度和浏览效率。可调字号的价值在于"按需可放大"而不是"默认更大",产品不应该只因为主要用户群偏年长就把默认字号统一拉高,而应该确保放大路径始终存在、随时可用、且放大后不破坏布局。
怎么落地
- 正文字号不低于约16像素(约12点),行高不低于字号的1.4至1.5倍,避免行间距过密造成串行;
- 支持用户把字号在系统或应用内至少放大到200%,且放大后没有任何屏幕出现文字截断、控件文字溢出容器、或需要横向滚动才能看到完整内容的情况;
- 可放大的范围覆盖界面里承载信息的全部正文与关键操作文案,不能只放大部分文字而遗漏按钮、提示条这类同样需要阅读的元素;
- 验证办法:把系统字体缩放调到最大档位,逐屏检查产品的每一个界面,记录出现文字截断、遮挡、需要横向滚动的屏幕数量,目标是零;对达不到的屏幕逐一记录具体元素,改到布局能弹性容纳为止。