ユーザーがJavaScriptやCSSを介して高コントラストモードであるかどうかを確認する方法

StackOverflow https://stackoverflow.com/questions/1921047

  •  20-09-2019
  •  | 
  •  

質問

を押した場合シフト + + Altキー + 印刷 Windowsがハイコントラストモードに切り替わり - いずれかがあります(JavaScriptやCSSを使用して)、Webページ上でそれを検出するチャンス?

(PHPやRubyを経由して、例えば、サーバ側a.k.a)HTTP-Requestにそれを検出するチャンスはありますか?

役に立ちましたか?

解決

CSSを使用してについては、この記事rel="noreferrer">のの中スプライトは、Windows上のハイコントラストモードでは、背景画像は、「なし」に設定する必要があり、それはまた、背景色を変更します。これは、任意のCSSスタイルシートをオーバーライドする必要があります。だから、最初のレンダリング後にそれを検出するために、いくつかのJavaScriptを実行することができます。 (テキスト "ハイコントラストモードでFYI [未]")彼のデモページを確認してください。

私は、Macを持っている(FYI Cmd + Alt + Ctrl + 8を使用して、スイッチ)と彼のテクニックは私のために動作しませんが、彼はそれがWindows上で動作しますと言います。

それが動作する場合は、

、単にあなたのCSSを変更したり(セッション)クッキーを設定し、それをサーバに渡し、サーバ側のアクションを実行するためにページをリロードするためにいくつかのJavaScriptを使用することができます。

他のヒント

(、デスクトップ)とWin8の私のために、次の作品IEます:

<style type="text/css">
// ...
@media screen and (-ms-high-contrast: active) {
   /* any rules may come here, for example: */
   .leftMenu a:hover { text-decoration: underline; }
}
// ...
</style>

私はそれが同様にWindowsストアアプリと連携しなければならないと思います。 これは完全なソリューション、多分便利少しではありません。

MSDNドキュメント: @media に、 -ms-高コントラストに。 ハイコントラストモードの説明も言及する価値がある。

あなたのWebアプリケーションでの高いコントラストを実装している場合は、

、その後に - 白 - 黒と黒地に白のコントラスト選択検出するために、次のコードブロックを使用します。これはIEで正常に動作します。

@media画面と(-ms-高コントラスト:ブラック・オン・ホワイト){  / *  あなたのスタイリングのコードを入れて.............   * /   }

@media画面と(-ms-高コントラスト:ホワイト・オン・ブラック){  / * あなたのスタイリングのコードを入れて............. * /   }

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top