2016-06-29 7 views
2

Ich möchte etwas mehr Kontrast machen, wenn das Betriebssystem im Hochkontrastmodus ist. Unter Windows können wir die Anfragen Medien nutzen wieWie erkennt man den invertierten Farbmodus von MAC OS in Javascript/CSS?

@media screen and (-ms-high-contrast: active) {} 

, welche diese über Medienabfrage erkennen würde, und wir können die Funktionalität von dort erstrecken. Wenn wir in Mac OS keine Medienabfrage haben - vielleicht gibt es eine JS-Alternative? Oder invertiert es die Farben auf so niedrigem Niveau, dass wir es gar nicht wirklich sehen können?

+0

Wusste nicht, dass diese Medienabfrage überhaupt existiert. Ich habe ein bisschen darüber gelesen und habe keine ähnliche Lösung für andere Browser gefunden, aber ich habe ein Postcss-Plugin gefunden. Hoffe, dass das ein bisschen hilft. https://github.com/admdh/postcss-high-contrast – Phil

+0

@Phil danke für Ihren Beitrag. Ich suche eigentlich den hochauflösenden Modus von OSX, das Plugin scheint die Farben zu invertieren und die Seite in den HC-Modus zu versetzen. Also im Grunde suchen nach einer Medienabfrage oder ein JS, die mir sagen kann, dass es im HC-Modus ist. –

Antwort

1

Nein. Dies ist nicht möglich.

Dies ist eine Antwort basierend auf Meinung und Indizien:

  1. Invert-Farbmodus nicht wie High Windows-Contrast-Modus funktioniert. Der Inhalt wird nicht geändert (z. B. durch Entfernen von Hintergrundbildern auf einer Seite), sodass die Bereitstellung über eine Medienabfrage für den Endbenutzer keine Vorteile bietet, sondern stattdessen eine Möglichkeit für Missbrauch eröffnet.

  2. Die Funktion in Objective-C zur Bestimmung, ob der Accessibility-Modus aktiv ist (boolean AXAPIEnabled(void);), wurde ab 10.9 als veraltet angegeben, ohne dass ein Ersatz vorhanden ist. Sie können see it on the Apple Developer site. Wenn Entwickler auf dieser Ebene des Systems keinen Zugriff mehr haben, erwarte ich, dass Web-Entwickler ebenfalls eingeschränkt werden (wie AppleScript writers seem to not have access).

  3. Im Allgemeinen wird das Testen auf das Vorhandensein von unterstützender Technologie oder die Aktivierung von Hilfsfunktionen von den Benutzern, die es am meisten benötigen, verpönt. Es entsteht das sehr reale Risiko, dass sowohl gutmeinende Entwickler diese Funktionen durchbrechen (vielleicht indem sie die Seite auflösen) als auch bösartigen Akteuren erlauben, persönliche Gesundheitsinformationen von jemandem zu bestimmen.

  4. Ich kann keine Dokumentation von Apple finden, wie man das tut oder sogar anerkennt, dass es einen Weg gibt, dies zu tun. Ich habe auch nach der Zugänglichkeits-Community gefragt und die meisten denken, dass es nicht existiert (und wäre eine schlechte Idee).

  5. Dort was a plan for an inverted-colors Medienabfrage in CSS 4, aber Sie werden sehen, es ist nicht im neuesten Entwurf (6.4 is now color-gamut). Es fiel scheinbar zugunsten einer Lichtstärke MQ while accessibility-specific MQs are defined.

Ich hoffe, jemand kann Ihnen eine klarere Antwort geben. Ich schlage vor, dass Sie auf Twitter nach Apple Dev Rel-Leuten suchen und diese hier leiten (vorausgesetzt, Sie sind kein Mitglied des Apple Developer Program, obwohl ich vermute, dass Sie dort gefragt hätten).

0

Sie können jetzt in Safari technische Vorschau dies tun:

  • Fotos
  • :

    @media (inverted-colors) { 
        img.cancel-inversion { 
         filter: invert(1); 
        } 
    } 
    

    Sie diese auf verwenden sollten.icns-ish Symbolbilder (Dinge wie App-Symbole sind in Ordnung)

Sie nicht auf diese verwenden sollten:

  • Bilder von Text (ich meine, Sie keine Bilder von Text verwenden sollte, aber wenn Sie aus irgendeinem Grund müssen ... nicht diese Technik auf diese Bilder verwenden)
  • dekorative Bilder
  • monochrome Glyphen (Dinge, die wie Schriftart Icons sehen)

während wir zu diesem Thema reduce motion media query ist jetzt auch in der safari-technischen Vorschau.

Verwandte Themen