如何为色盲适配图形用户界面

首发日期 2024-05-25, 以下为原文内容:


答案很简单: 把彩色去掉, 测试.

色盲, 正式名称 色觉异常. 众所周知, 色盲分不清颜色. 如果用户界面设计的不合理, 比如不同项目只使用颜色区分, 而没有形状区分, 那么色盲使用起来就会非常难受, 甚至无法使用.

色盲中最严重的情况称为全色盲, 也就是完全不能分辨颜色, 只能看出亮度. 所以, 要测试一个图形用户界面对色盲的适配情况, 只需以全色盲为标准即可. 如果全色盲使用起来没问题, 那么更轻度的色盲, 使用起来当然也没问题.

一般情况下, 图形用户界面的设计者 (UI 美工) 不可能是色盲, 所以需要有相应的测试方法. 具体的方法是, 把用户界面的彩色完全去掉, 只使用灰度, 也就是类似古老的黑白电视, 或者单色墨水屏的情况. 在这种情况下, 如果软件能够正常使用, 那么测试通过. 否则需要修改设计.

目录

  • 1 web 前端 (CSS) 的实现方式
  • 2 胖喵拼音的灰度模式 (禁用彩色)
  • 3 总结与展望

1 web 前端 (CSS) 的实现方式

参考资料 (MDN): https://developer.mozilla.org/en-US/docs/Web/CSS/filter

使用 CSS 来实现这个效果是非常容易的:

css 复制代码
filter: grayscale(100%);

2 胖喵拼音的灰度模式 (禁用彩色)

胖喵拼音中的相关实现代码:

js 复制代码
export function 启用灰度模式() {
  document.body.style.filter = "grayscale(100%)";
}

export function 禁用灰度模式() {
  document.body.style.filter = null;
}

默认情况下, 界面是彩色的.

启用之后, 所有界面都会以灰度显示.

这是界面以灰度显示的效果.

手机上界面的显示效果 (皮肤: 冰蓝).

经过测试, 胖喵拼音的所有界面, 都对色盲很友好.

3 总结与展望

在设计图形用户界面, 或者说制作软件的时候, 应该尽量能够适用于更多的人, 努力达到更高的覆盖率.

技术能力可以差, 但是态度一定要好. 希望这个世界多一些方便, 少一些歧视.


本文使用 CC-BY-SA 4.0 许可发布.

相关推荐
liangshanbo12154 小时前
前端面试题:AI 对话中超长消息导致内存溢出,怎么解决?
java·开发语言·前端
律宏阔4 小时前
Dart FFI 内存管理:用 using + Arena 替代嵌套 try-finally
前端·flutter
guslegend5 小时前
脚手架入门:必要性、核心功能与执行原理
前端·架构·node.js·脚手架·前端工程化
律宏阔5 小时前
Flutter 调用 Go:从 c-shared + ffigen 到 @Native + Native Assets 踩坑记录
前端·flutter
LEE5 小时前
前端转型全栈 05:SQL 与迁移,AI 写的 SQL 怎么安全上线
前端·后端·ai编程
用户15741568165345 小时前
macOS 打包体积异常的排查实录
前端
数据掘金5 小时前
小程序埋点方案上线前要检查哪些点?我用一张检查清单过了二十多项
前端
Hooray5 小时前
后台管理框架存活率大调查(2026版)
前端
律宏阔5 小时前
Dart FFI 回调无法使用局部变量?使用 NativeCallable.isolateLocal
前端·flutter
hai_android5 小时前
一个公式看懂动态跨表查找:P8 + VLOOKUP
前端·javascript·vue.js