页头背景改成 #111,logo 还是原来那个 #222 的深灰版本,肉眼分不出边界,截图里测出来的对比度只有 1.2:1。乍看像缓存或者权限的锅,追下去往往不是。
<picture> <source srcset="/img/logo-light.svg" media="(prefers-color-scheme: dark)"> <img src="/img/logo-dark.svg" alt="品牌名"> </picture>
追下去是这么回事:品牌资源只做了浅色背景一版,深色主题直接复用,明度差不够。设计稿里那版本来就是给白底准备的。
「logo 对比度」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
偶发问题先统计频率,一小时几次和一天一次,查法完全不同。改完顺手把文档补一句,省得下次自己重新推一遍。
监控和日志的时间要对上,时区不一致会多绕很大一圈。
具体做法是,单独出一版浅色 logo 给深色背景用;用 picture 加 prefers-color-scheme 自动切换;容器背景变化时同步切 logo 文件;用取色工具算一遍对比度 至少 3:1。
验收就看一点,切到暗色模式后 logo 清晰可辨 对比度工具测出来在 3:1 以上。
