如何通过JavaScript或CSS检查用户是否处于高对比度模式

pag*_*gid 5 javascript css high-contrast

当按Shift+ Left+ Alt+ PrintWindows切换到高对比度模式时 - 有没有机会在网页上检测到(使用JavaScript或CSS)?

有没有机会在HTTP-Request(也就是服务器端,例如通过PHP或Ruby)检测到它?

ins*_* me 6

根据这篇关于高对比度使用CSS精灵的文章,在Windows上的高对比度模式下,背景图像应该设置为"无",它也会改变背景颜色.这应该覆盖任何CSS样式表.所以你可以在初始渲染后执行一些javascript来检测它.检查他的演示页面("高对比度模式下的FYI [Not]"文本).

我有Mac(FYI开关使用Cmd + Alt + Ctrl + 8),他的技术对我不起作用,但他说它适用于Windows.

如果它有效,您可以使用一些JavaScript来简单地更改CSS或设置(会话)cookie并重新加载页面以将其传递给服务器并执行服务器端操作.

  • 此回复没有回答问题,即:开发人员如何确定用户是否处于高对比度模式?此响应(以及随附的链接)提供了关于在确定用户处于高对比度模式之后 * 之后做什么的建议。 (4认同)