Ich versuche, meine Website im kontrastreichen Modus zugänglich zu machen. Um zu erkennen, wenn der Hochkontrastmodus aktiviert ist, habe ich eine JavaScript-Methode entwickelt, um zu erkennen, ob Hintergrundbilder deaktiviert sind, weil der Hochkontrastmodus Hintergrundbilder deaktiviert. Wenn der Browser im Hochkontrastmodus ist, füge ich eine CSS-Datei an mache Korrekturen für die Anzeige in hohem Kontrast. Dies funktioniert in Firefox, Edge und IE gut, aber Chrome verwendet eine eigene Erweiterung, um einen hohen Kontrast zu erstellen, und deaktiviert die Hintergrundbilder nicht, sodass in Chrome die CSS für hohen Kontrast nicht angehängt wird.Erkennen des kontrastreichen Modus im Chrome-Browser
Von der Suche habe ich festgestellt, dass Chrome einen Filter über die Website im Gegensatz zum Aktivieren/Deaktivieren/Ändern der Website Farben oder Bilder selbst hinzugefügt. Ich habe gesucht und gesucht, aber ich kann nichts finden, um zu prüfen, ob Chrome den Modus mit hohem Kontrast verwendet. Wenn es einen Weg gäbe herauszufinden, welche Erweiterungen verwendet werden, würde das auch das Problem lösen, aber ich war auch nicht in der Lage, einen Weg zu finden, dies zu tun.
Mein Code funktioniert tatsächlich gut, alles was ich brauche, ist in der Lage, den kontrastreichen Modus in Chrome zu erkennen. Hier ist die Methode, die ich verwende, um auf den Modus mit hohem Kontrast zu prüfen.
let highContrast = (options) => {
let hcDetect = jQuery(`<div id="jQHighContrastDetect"></div>`).css('background', 'url(../uploads/c-wht-small.png)');
hcDetect.appendTo(document.body);
if (hcDetect.css('background-image') === 'none') {
$('head').append('<link rel="stylesheet" href="../css/highcontrast.min.css" type="text/css" media="all">');
}
}
Wenn Sie mehr von dem Code sehen wollen, lassen Sie es mich wissen, ich bin nur nicht sicher, was sonst noch hilfreich wäre, zu zeigen.
Danke, wenn für alle Hilfe voraus!
siehe: http: // stackoverflow.com/questions/1921047/how-to-check-wenn-user-is-in-high-contrast-mode-via-javascript-or-css – DiceXQ
@DiceXQ Ich fand das schon, es ist ähnlich wie das, was ich tue, aber es funktioniert auch nicht für Chrome. – CascadiaJS
Erwähnenswert, dass es am besten ist, diese Notwendigkeit wo immer möglich zu vermeiden. Wenn die Entwürfe den WCAG AA-Kontrastanforderungen entsprechen, werden die meisten Ihrer Projekte in den verschiedenen kontrastreichen Modi gut aussehen. Hintergrundbilder werden in den meisten kontrastreichen Modi verborgen sein, aber sie sollten niemals wichtige Informationen vermitteln. Wenn Sie möchten, dass Hintergrundfarben im Modus mit hohem Kontrast angezeigt werden, sollten Sie große Rahmen derselben Farbe verwenden und Ihre Boxgröße auf "Rahmen", "Überlauf" auf "Versteckt" einstellen. –