凤凰新闻 APP 在 2020 年上半年成了 Dark Mode 适配,本要从规范、设计和实现的角对整个项目的落地过程进行复盘。
- 主流趋势:随着 iOS 13 与 Android 10(Q)系统版本上线深色模功能。
- 用户诉求:阅读类产品,满足受众用户“缓解疲劳、沉浸式阅读的使用场景”。
- 现存问题:对标流 APP 产,凤凰闻 APP 早期的“夜间模式”阅读体验较差,且色规范缺少统一性,需一次全面梳理。
- 满足深色模式日间使需求,并升户在深色模式的阅读体验。
- 构筑一套新的深/浅模式彩规范,方便管理与忆。
- 双端开发建立新的色值代码库,提升沟通协同效率,同节约计开发后续的维护成本。
1. 背景色
iOS 平台深色模式下的背景色展示动态的,分基础、升起(例如,弹出框或半浮层)。如下图中 iOS 系统的两界面,相同样式的组件基础层与升起层显示的不同的两组颜色。
从 iOS14 的色彩规范中可以发随界面高度的升起,系统义的三级背景色也同行了一级升。
iOS 通过这种背景色统一升级的处理方式达到多任务窗口叠加的视觉隔离效果,但相对的发本也较高。
再来看看 Android 平台深色模式同层级间背景色的显示规律。
Android 把页面分从“0dp”到“24dp”的 10 不同高度的显示层级,通过同一背景色叠加不同透明度的白色区分显示层级。相对于 iOS 的整体背景色升级,Android 的背景色分级逻辑则加的简单易用。
2. 文字色
iOS 的规范中义了 4 级的文字色,一级文字色黑白纯色,二到四级文字色色相偏蓝的半透明色,通过降低同一颜色的不透明度数行分级。
Android 的文字色分 3 级,与 iOS 的共同点都用了半透明颜色,也都采用了降低不透明度的方式行分级。不同点 Android 文字色使用的黑色与白色,添加色相。
使用透明度的字色能够避免相同字色与背景色相融的问题。以 Android 例,三级文字色与 10 种背景色叠加后都具较高的识别度。
iOS 则通过一套半透明字色可以应基础与升起两种不同背景色的使用场景。
3. WCAG
iOS 界准则和 Material design 在深色模议,都提到了文信息需满足 WCAG 障碍阅读 AA 标准。
WCAG 全称 Web 内无障碍指南,其中包含分可感知性、可操作性、可理解性、可兼性四项原则的相关建议,这些建议可使网站内易访问。WCAG 从高到低分别 AAA、AA、A 三级。其中 AA 求文字与背景对比度不小于 4.5:1。
感兴趣的友可通过面链接进行深入了解: https://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html
也以通下面的彩对比计器进行对比度检验(下图为翻译展示)https://www.msfw.com/Services/ContrastRatioCalculator
里我拿 iOS 在深模式下的主次两级字与基础、升背做一下对比度检验,得到的结果均满 WCAG 无障碍阅读的 AA 标准。里给大家推荐一个以同时对个颜进行对比度检验的网站 https://hexnaw.com
4. 彩色
iOS 人机界面准则的彩色方案中给了 9 种颜色。如图示的深浅配色方案 RGB 与 HSB 两种属性进行对。
- RGB:家所熟知的光的三原色,R 表色,G 表绿色,B 表蓝色
- HSB:是颜色的另一种展现形式,H 代表色相,S 代表饱和,B 代表亮
https://baike.baidu.com/item/HSB
图中左侧以 RGB 属性展示的各项参数差较,明显的规律性;右侧以 HSB 属性展示的各项参数差较小,其中靛青与色 HS 数相同,仅 B 的数所差异,但整体看依然一完整的规律。
相较 iOS 系统彩色方案的单独订制,Android 系统的配色方案则是一整套渐变梯由“50-900”的色彩库。
在 Android 的色彩工具中还可自定义配色方案,在色中取一个题色,对应梯值为 500,通过一套算法来自获取他梯的辅助色。
为了在深色题中供更大的灵性和可性,Android 官方建议在深色题中使较浅的色调(200-50),而使默认的题颜色(饱和色调范围为 900-500)。
- 选用 500 左右的颜色作浅色模式的主题色。
- 200 左右的颜色作为深色模式的色。
结来看两大平台在深色模适配上都各有所长,在体视觉体验上 iOS 更加鲜亮突出,Android 则更加柔和舒适。
iOS 加注重细节体验,整体的色彩规范中的很多颜色都单独义的,这也印证了 iOS 13 发布后苹果官方向用户所表达的“屏幕的每元素都过精设”这一理念。 Android 的色彩规范中无论从背景色、文字色还彩色都遵循一梯度规律。
深色模式改版设的作除了调研两平台的指导规范外,我们还对已线深色模式的竞品 app 行了调研,调研的主目标背景色、文字色的色相与亮度展示效果。(以下截图时间 2020 2 月份)
腾讯新闻,主背景无色相,次级背景无色相,一级文字无色相亮度较高,次级文字无色相亮度极低。文字与背景对比度高,主信息比较突出。
网易新闻,主背景色相偏蓝,次级背景色相偏蓝,一级文字无色相亮度较高,次级文字无色相亮度极低。文字与背景对比度高,主信息比较突出。
凤凰新闻,主背景无色相,次级背景无色相,一级文字无色相亮度偏低,次级文字无色相亮度极低。文字与背景对比度低,主信息不够突出。
以 3 APP 首页对比,可以明显的感觉到凤凰新闻首页的信息展示不够突出,日间场景下体验极差。
深色模式并不简单的把整界面反色了那么简单,还考虑到所用户的需求。凤凰新闻作资讯类 app 用户夜间使用的场景也一的占比。深色模式的改版不仅日间满足使用需求,还保证夜间的视觉刺激相对柔。所以,设配色方案时就不能使用对比度极高的纯黑色背景与纯白色文字,只能各种灰色中搭配出优方案。
过多稿背景色与文字色的搭配试后,终确了下图中所框选的配色方案。这方案整体背景色与二三四级文字色色相略微偏蓝,相较于无色相背景具活力,视觉体验信息层级的区分也加明确。
在各种方案尝试设计的过程中对颜色的色相、饱和、亮的取都是随机的,目的是在短时间进行快速试错来确定配色方向。
本次改版的目标中还需要重构建色彩规范,还需要对这稿配色的进行细致的打磨,在色彩对应的 HSB 参数中进行细微的调整使整套配色方案有律可循。
最终方案在级背景的色相与饱和方面进行了统一,对亮的递增梯统一为 5。对初方案在视觉上变很微弱,却使色彩分级规律一目了然。那么依照此方式可对字色与彩色进行了一轮打磨。
对文字在深模式优化整的基础上也对浅模式下的文字进行整,使深浅模式下两套字更具有规律。
在文字的使用上凤凰新闻没有参照两大平台规则使用带透明度的颜,主要原因是从自身际出,考虑到端内的文字使用场部分是用半透明背上的,果文字与背均带有透明度,叠加的验很差。
凤凰新闻的功能图标以为主,通常搭文字一使用,所以对图标颜的定义与文字是持一致的。
在彩的规范梳理中浅模式下持不变,仅对深模式下颜的亮度进行整,使深浅模式下颜的亮度对比有统一的规则。
当然还需要对新的背景色一二文字色进行检验,是否足 WCAG 无障碍阅读的 AA 标准,也就是常规尺寸文本对比度高于 4.5 : 1。
下图就是凰新闻户端的新版色彩规范,在规范中除了上述的主要的通用颜色外也有部是独定义的颜色,这些颜色多用于独立或定的景下。
在完成彩规范的重构,重新输出界面样稿与旧版进行对比。
通设计稿对比老版夜间模式与新版深模式,能够直观的感受到新版在信息浏览上验更。
1. 色替换
手行色替换时,iOS 发小哥反馈给我凤凰新闻全端色关的码 2000+条,如下图中日夜间对应的这条码样式。
如此多的色码多数相同色不同场景中重复使用,但彼此却又完全无关联,还很多日积月累的旧色未被删除。如逐条替换费时费力效率极低,后的维护也极其麻烦。
为了适配效率及于后期维护,使得之后的色值替换可达到全响应的目的。由设计师与开发人员共同建立一个色值对照表。
此表中设计命名要基于色彩规范,于设计师团队间的沟通协作。工程命名由开发人员供,要于设计师与开发人员的在设计走查中进行效的沟通协作。
以凤凰新闻 iOS 端为例,优化的值代码库下图,由原来的 2000 条值代码变成 30 条值代码「」。
在 iOS 开工具 Xcode 的视化文件夹中看来就更加直观。
之的值使用开人只需要用代码库中相应的「」即,续版迭代中有对通用值的整只需修改相应的「」代码即完成端替换。
以种方式快速完成首轮值替换很页面的值出现错误,需要 UI 设计师持续的进行走查反馈,由开人根据反馈进行修改校正。
以 iOS 端为例在深模式值走查程中设计师分批次以 PDF 式反馈给开人的,开人在修改反馈问题的同时设计师也在进行下一批问题的整理,样同步进行的效率更高。
2. 切图替换
切图替换场景相对较多,同样延色值走查的协作方式,设计师分修改开发同步进行替换。开发小哥供切图的方式就是直接扔过来一个全端切图包,需要设计师修改切图颜色后原命名重发。当打开切图包后顿感一阵头大,切图总数有千张之多。
虽然切图很多但中有一分是已经无的老切图,在替换的过程中对端切图重进行了一轮梳,删除了很多无和重复的切图,同时对凤凰闻 app 的体积进行了瘦身。
在切图的替换程中比费时的是对同一切图存在的情况进行整理,梳理出该切图的所有使用场反馈给开人进行统一用,之次修改即完成局替换。
除 icon 外还需要对默认图与缺省图进行替换。
3. 特殊适配
凤凰闻客户端需要进行特殊适配的场景要是图集与小视频界面,这两个界面仅有一套色值与 icon,界面中的元素需要单独处,在切换深色模式后避免现错误。
4. 界面展示
Dark Mode 适配是一项费费力的巨大工程,也是探索和优化用户体验的全新挑战。本文主要描述了凰新闻 APP 在 Dark Mode 适配中的一整套心路历程,从规范、计以及实现的角度对整个项目进行复盘总结。
在 Dark Mode 落地过程,仅投入 1 名设计师和 2 名 iOS&Android 开发工程师,用时 3 完成了适配,并结出上述套适配流程与设计开发并协作,希望可以有需要设计师提供个参考。