强制颜色模式模拟器 - Windows高对比度预览
渲染网页在Windows强制颜色模式下的样式,协助调试和适应系统高对比度主题。
UD5工具箱
模拟 Windows 高对比度模式,预览网站在 forced-colors 模式下的渲染效果,帮助您构建更具可访问性的 Web 体验。
| 系统颜色 | CSS关键字 | 模拟值 |
|---|
下方预览中带有 preserve-colors 标记的元素设置了 forced-colors-adjust: none,在高对比度模式下保持原始颜色。这在需要保留品牌色或特定视觉提示时非常有用。
@media (forced-colors: active) {
.my-element {
forced-colors-adjust: none;
border: 2px solid ButtonText;
}
}
使用系统颜色关键字如 ButtonText、Canvas、LinkText 等,可在高对比度模式下自动适配。
Windows 高对比度模式(在 CSS 中称为 强制颜色模式 / Forced Colors Mode)是 Windows 操作系统的辅助功能。当启用时,系统会强制替换网页和应用程序中的颜色,使用有限的系统调色板来渲染内容。这大大提高了低视力用户和色觉障碍用户的可读性。
在该模式下,浏览器会自动:
CSS 通过 @media (forced-colors: active) 媒体查询来检测该模式。
方法一(快捷方式): 按 左Alt + 左Shift + Print Screen 快速开关。
方法二(设置):
方法三(浏览器 DevTools):
forced-colors: activeforced-colors 媒体查询有两个可能的值:
none — 未启用强制颜色模式(正常模式)active — 已启用强制颜色模式(高对比度模式)/* 检测强制颜色模式 */
@media (forced-colors: active) {
/* 在此添加高对比度适配样式 */
.button {
border: 2px solid ButtonText;
}
}
/* 结合 prefers-color-scheme */
@media (forced-colors: active) and (prefers-color-scheme: dark) {
/* 深色高对比度模式下的特定样式 */
}
CSS 定义了以下系统颜色关键字,它们在强制颜色模式下会被映射到实际系统颜色:
| CSS关键字 | 用途 | HC黑色主题典型值 |
|---|---|---|
Canvas | 内容背景色 | #000000 |
CanvasText | 内容文字色 | #FFFFFF |
LinkText | 链接颜色 | #FFFF00 |
VisitedText | 已访问链接 | #C078FF |
ButtonFace | 按钮背景 | #000000 |
ButtonText | 按钮文字 | #FFFFFF |
Highlight | 选中高亮背景 | #1AEBFF |
HighlightText | 选中高亮文字 | #000000 |
GrayText | 禁用/灰色文字 | #A0A0A0 |
Field | 输入框背景 | #000000 |
FieldText | 输入框文字 | #FFFFFF |
使用这些关键字而非硬编码颜色,可以让网站在高对比度模式下自动获得正确的颜色映射。
forced-colors-adjust 属性控制元素在强制颜色模式下是否被浏览器自动调整颜色:
auto(默认)— 浏览器自动调整颜色以适配高对比度模式none — 浏览器不调整该元素的颜色,保持原始样式/* 保护品牌Logo在高对比度模式下不变色 */
.brand-logo {
forced-colors-adjust: none;
}
/* 对于纯装饰性元素 */
.decorative-icon {
forced-colors-adjust: none;
}
注意: 请谨慎使用 forced-colors-adjust: none,因为它可能导致元素在高对比度模式下难以辨认。通常仅用于品牌标识、数据可视化图表等必须保持原始颜色的场景。在预览面板中,我们展示了带有此属性的元素效果。
最佳实践清单:
ButtonText、CanvasText 等系统颜色outline 而非仅 box-shadow,因为阴影在高对比度模式下会被移除alt 属性内联 SVG: 使用 fill="currentColor" 或 stroke="currentColor" 的 SVG 元素会在高对比度模式下自动适配系统文字颜色。这是推荐的做法。
Font Awesome 等图标字体: 图标字体使用 CSS color 属性,在高对比度模式下颜色会被替换为系统文字色,通常表现良好。
SVG 作为 img 标签: <img src="icon.svg"> 通常保持原始颜色(浏览器不会替换 img 中的颜色)。如果需要适配,考虑使用内联 SVG。
背景图片中的图标: 背景图片在高对比度模式下可能被移除(取决于浏览器实现)。不要将关键信息放在背景图片中。
在 Chrome/Edge 中模拟强制颜色模式:
forced-colors: active也可以使用命令面板(Ctrl+Shift+P),搜索 "forced-colors" 快速定位。
在 Firefox 中,该功能位于 DevTools 的 Accessibility 面板中。
渲染网页在Windows强制颜色模式下的样式,协助调试和适应系统高对比度主题。
加载大量DOM元素,对比启用和不启用content-visibility: auto时的渲染时间和滚动体验。
将压缩的SQL语句按标准缩进美化,关键字高亮,兼容MySQL/PostgreSQL等方言。
演示并测试:focus-visible伪类在不同输入模式下的表现,辅助无障碍设计。
显示一系列石原色觉测试图,框选所见数字,初步判断色觉异常。
实时显示当前浏览器窗口分辨率、屏幕分辨率、像素比(DPR)和色彩深度等信息。
比较两段文本,在单词级别高亮新增、删除和修改的部分,类似 Google Docs 修订。
使用Eyedropper API激活系统取色器,拾取屏幕任意位置的颜色值。
输入字体名或从列表选择,在示例文本上立刻看效果,获得@import代码。
设定FCP、LCP、CLS等指标值,模拟计算PageSpeed Insights得分估算。
将已有戒指放在屏幕圆圈上比对,或测量指围,转换为美/英/欧/中式号数。
验证 Origin Trial 令牌的有效性与作用域,显示令牌启用的实验功能列表及过期时间。
选择颜色、透明度等特征,缩小可能的水晶种类范围并展示图片。
一键切换当前页面的 media 类型为 screen 或 print,方便调试打印样式。
生成一个书签工具,点击后在当前页面动态加载任何 Google 字体并应用到所选文字。
悬浮在页面上的虚拟直尺和量角器,可测量屏幕元素的角度和像素距离。
分析页面结构,提示哪些长列表区域适合添加content-visibility: auto优化。
利用简单的边缘检测或熵分析,自动将图片裁剪到保留视觉主体的大小。
添加城市,拖动时间轴,直观查看各时区对应时间,找到公共可用段。
提供代码评审和文档评审的通用检查项,标出等级并生成评审报告。
粘贴 HTML 和 CSS,交叉比对找出在 CSS 中定义但在 HTML 中从未使用的类选择器。
选择两种开源许可证,并排显示全文,高亮关键差异条款,帮助选择合适许可证。
实时显示当前页面可见状态,当切换标签页时记录时间并给出日志。
校验Sitemap格式合法性,列出所有URL并统计数量。
输入 origin trial token,解析出启用的特性、域名和过期时间。
输入事件名称与年代,自动生成美观的横向时间轴图,打印用于学习展示。
调用屏幕共享 API,捕获整个屏幕或窗口并在页面内实时显示,可用于录制演示。
在照片上框选眼睛区域,自动检测并降低红色色相和饱和度消除红眼。
输入一段文本,同时显示其在多种语言中的静态翻译对照,辅助语言学习。
创建可选择的时间段,参与者勾选自己方便的时间,自动计算最佳交集。