R3.03.3test both zoom and font-size设计
缩放与字号设置需同时验证
别名: 缩放与字号双测 · 视口缩放不是字号 · zoom and text size matrix
概念解释
响应式实现有没有撑住,要在浏览器缩放和用户字号两条放大路径上都过,不能只过一条。缩放把页面当一张图放大,连同以像素计的槽、图、视口断点一起变。只改字号(系统字体、浏览器默认字、根 rem)让文字变大,槽和图往往还按原来的像素。一条路径上折行正常,另一条上可能溢出、遮挡、控件挤在一起。
这是实现验收矩阵的问题:两种放大都是真实用户会打开的开关。只截一排「放大到 200%」的图,等于只测了其中一条。
机制
缩放改变的是 CSS 像素与设备像素的关系,布局计算用的那套宽度数字跟着变,px 写的断点会被提前触发,图片也变大。字号设置改的是文字的计算尺寸:px 锁死的控件高度、没有随文字走的图标、按视口而不是按文字计量的槽,都原地不动,只有字在盒子里胀。于是同一种「放大」,一种在触发更多断点、一种在固定槽里挤字。
只测缩放,会漏掉字胀槽不变造成的截断和重叠;只测字号,会漏掉缩放把整页当大图之后,断点和触控目标怎么变。两条路径的失败形状不同,不能互相当证据。响应式实现宣称「能放大」,必须在矩阵里把两格都填上。
边界
几乎没有文字的画布、游戏、纯图像查看器,字号路径几乎测不到东西,仍应测缩放(控件和工具条会变)。原生应用的路径是系统显示缩放和动态字体,工具不同,仍是两条而不是一条。把字做进图片里的界面,两条路径都放大不了字,应先拆文字,而不是用测试矩阵给自己过关。用户样式表、阅读模式会再引入第三条路径,不在这张卡的最低矩阵里,但不能用它们代替缩放或字号。邮件客户端对缩放和字号的支持残缺,矩阵要按实际客户端裁,不能直接搬网页结论。
怎么落地
- 给关键流准备两格验收:浏览器 200% 缩放;根字号或系统字体明显增大(例如根字到 32px 或系统最大档),窗口宽度保持常用桌面/手机各一档。
- 两格都检查:溢出、重叠、主操作是否完整可见、是否出现只能横向拖才能读完的正文。
- 以
px锁死的高度、行高、图标盒,优先改成随文字缩放的单位,再重新跑两格。 - 验证:同一页面在两格下各走一遍主任务。一格通过、另一格截断或挡操作,响应式实现就还没过。只交缩放截图、没有字号截图的验收,视为矩阵缺格。