R3.03.3test both zoom and font-size设计

缩放与字号设置需同时验证

别名: 缩放与字号双测 · 视口缩放不是字号 · zoom and text size matrix

概念解释

响应式实现有没有撑住,要在浏览器缩放用户字号两条放大路径上都过,不能只过一条。缩放把页面当一张图放大,连同以像素计的槽、图、视口断点一起变。只改字号(系统字体、浏览器默认字、根 rem)让文字变大,槽和图往往还按原来的像素。一条路径上折行正常,另一条上可能溢出、遮挡、控件挤在一起。

这是实现验收矩阵的问题:两种放大都是真实用户会打开的开关。只截一排「放大到 200%」的图,等于只测了其中一条。

机制

缩放改变的是 CSS 像素与设备像素的关系,布局计算用的那套宽度数字跟着变,px 写的断点会被提前触发,图片也变大。字号设置改的是文字的计算尺寸:px 锁死的控件高度、没有随文字走的图标、按视口而不是按文字计量的槽,都原地不动,只有字在盒子里胀。于是同一种「放大」,一种在触发更多断点、一种在固定槽里挤字。

只测缩放,会漏掉字胀槽不变造成的截断和重叠;只测字号,会漏掉缩放把整页当大图之后,断点和触控目标怎么变。两条路径的失败形状不同,不能互相当证据。响应式实现宣称「能放大」,必须在矩阵里把两格都填上。

边界

几乎没有文字的画布、游戏、纯图像查看器,字号路径几乎测不到东西,仍应测缩放(控件和工具条会变)。原生应用的路径是系统显示缩放和动态字体,工具不同,仍是两条而不是一条。把字做进图片里的界面,两条路径都放大不了字,应先拆文字,而不是用测试矩阵给自己过关。用户样式表、阅读模式会再引入第三条路径,不在这张卡的最低矩阵里,但不能用它们代替缩放或字号。邮件客户端对缩放和字号的支持残缺,矩阵要按实际客户端裁,不能直接搬网页结论。

怎么落地

  • 给关键流准备两格验收:浏览器 200% 缩放;根字号或系统字体明显增大(例如根字到 32px 或系统最大档),窗口宽度保持常用桌面/手机各一档。
  • 两格都检查:溢出、重叠、主操作是否完整可见、是否出现只能横向拖才能读完的正文。
  • px 锁死的高度、行高、图标盒,优先改成随文字缩放的单位,再重新跑两格。
  • 验证:同一页面在两格下各走一遍主任务。一格通过、另一格截断或挡操作,响应式实现就还没过。只交缩放截图、没有字号截图的验收,视为矩阵缺格。

延伸

  • 同组R3.03.1 断点应基于容器而非仅视口 · R3.03.2 内容驱动的布局减少断点数量
  • 相邻J2.11 文本缩放与重排 · R3.11 响应式实现与断点策略
  • 站内检索browser zoom versus font size · text resize testing · responsive acceptance matrix

同组卡片

快捷操作

分享

分享当前页面

ios_share

https://hci.top/zh/handbook/R3.03.3