商户收银台H5大字号规范
1. 范围
本指引描述了微信支付商户使用H5页面作为收银台时,H5页面在微信内展示适配用户设置大字体的要求和指引。
本指引适用于微信支付商户、服务商收款产品中H5页面设计和实现。
2. 大字体介绍
为了响应国家对App适老化与无障碍改造的要求,为更多用户都能获得良好的微信体验,微信内支持设置页面字体放大功能,用户设置大号字体后,微信内的元素会按比例放大显示,H5网页中的文字或图片也会放大,所以需要做好大号字体页面适配。
用户微信端设置大号字体有两个方法:
方法1:在微信内通过进入“设置>通用>字体大小” 来调整字体大小,设置后,微信内的页面元素都会跟随放大,效果如图1所示。
方法2:在阅读公众号文章时通过“右上角>调整字体”来设置字体大小,设置后,微信公众号内的H5页面元素会跟随放大。
图1:如何设置大字体
3. 未做适配的收银页面案例
现有商户H5收银页面未做适配大字体时会出现信息溢出、遮挡、重叠等情况,严重影响了用户的阅读和操作,应避免以下几类情况发生。
3.1. 页面元素溢出
图2:页面展示文字溢出
解决方案:信息过大导致的溢出,可通过限制字数、设置该元素不跟随放大(见限制页面元素不放大)来解决。
3.2. 信息重叠
图3:页面展示文字重叠
解决方案:元素样式避免使用绝对高度,请使用相对单位或不设置高度。
3.3. 信息遮挡
图4:页面文字被键盘遮挡
解决方案:信息被键盘、按钮遮挡的情况,开发者可检查页面样式,避免使用100%高度,保证字体放大后页面可滚动浏览。
4. 页面适配内容和实现指引
为了给用户提供更好的使用体验,避免页面字体放大后出现信息溢出、重叠、遮挡等情况,要求开发者、设计师按如下6类指引做好页面适配。
4.1. 哪些元素需要放大
默认情况下,包括文字,图标,图片,容器(cell、卡片),组件等页面中的所有元素都要跟随规则进行缩放。
当页面中的文字信息足够大(大于或等于40dp/pt),为了避免信息过大导致的溢出,设计师可以根据页面具体情况允许该文字信息不进行放大,以来避免不必要的放大。
设计师可以根据页面具体情况对于该页面设置最大放大档位(用户侧设置字号的档位,安卓分为8档,苹果IOS分为6档)。
图5:页面字体进行放大说明
4.2. 换行
内容过多时可通过让文本信息换行的方式,避免信息被截断、重叠等情况,以保证信息展示完整。
图6:页面字体放大换行展示
4.3. 页面滚动
空间不充足时,需支持页面上下滚动,以保证信息不被按钮、键盘或其他元素遮挡。
图7:页面字体放大后支持滚动条
4.4. 间距
为了保证用户的阅读效率,我们建议页面中的间距不跟随大字体模式缩放。当元素之间的间距不足以区隔信息,或者页面中有较多的适配空间时,可以放大间距。为了更好的实现以上效果,我们建议开发者在开发时,间距样式使用绝对单位,避免元素之间的间距跟随字体大小变化而变化。
图8:页面字体放大后间距设置
4.5. 拥挤情况
当文字信息过多时,放大后容易出现重叠或被截断的情况,此时应预留好内容之间的安全距离,内容过多需要折行,容器高度也相对延伸,调整内容与容器水平居中对齐。原则如下:
图9:页面字体放大后拥挤情况对比
4.6. 限制页面元素不放大
当页面中的文字信息足够大,为了避免信息过大导致溢出,设计师可以根据页面具体情况设置该文字信息不进行放大。实现页面部分元素不跟随放大,开发者需按以下3个步骤操作:
步骤1:禁止微信内网页字体大小默认缩放(Android、iOS设置方式不一样,详见代码示例中的备注1-1、1-2)。
步骤2:监听微信网页字体大小的事件menu:setfont,获取当前设置的字体大小信息。
步骤3:为不同的信息元素设置指定样式。
代码示例如下:
<script>
// 微信网页字体大小自定义适配 Demo
document.addEventListener("WeixinJSBridgeReady", function (params) {
// 1-1.设置禁止 Android 微信内网页字体大小默认缩放
WeixinJSBridge.invoke("setFontSizeCallback", {
fontSize: '2' // 默认档位 2
});
// 2.监听网页字体大小的事件,页面加载完成或用户手动修改字号会触发该事件
WeixinJSBridge.on('menu:setfont', function (e) { // e.fontSize 档位 e.fontScale 放大比例
// 3-1.业务逻辑
// rem方式,根据档位或放大比例设置根字号大小
// 非rem方式,根据档位或放大比例设置根节点命名空间className(如:wechat_fontsize_6)
});
}, false);
</script>
<style>
/* 1-2.设置禁止 iOS 微信内网页字体大小默认缩放 */
body {
-webkit-text-size-adjust: 100% !important;
text-size-adjust: 100% !important;
}
/* 3-2.业务逻辑 */
.wechat_fontsize_6 .title { }
</style>
5. 验收要求
商户发布收银H5页面前, 需要做实际环境的测试和验收。
具体验收要求:在iOS手机和Android手机上分别进行验收,建议验收时考虑到最小机型的效果,如iPhone SE,安卓小屏机。在手机设置大字体后(方法见设置大号字体方法),H5网页展示效果符合上文要求后才能上线。
适配后,开发者需要自查以下3点:
1、页面中的文字、图片、按钮等元素均放大。
2、页面中文字、图片、按钮等元素没有现信息溢出、被遮挡、重叠等情况。
3、将字体大小调整到第6档位时,保证页面主要文字信息最小不小于18dp/pt。