Im Web haben wir die Möglichkeit, Arbeit zu leisten, die Dinge für Menschen repariert. Es fasziniert mich, wie unterschiedlich der Umfang dieser Korrekturen sein kann.
Betrachten Sie die Media Query prefers-reduced-motion. Eric schrieb
Ich denke, es lohnt sich auch, den wahren Wert hervorzuheben, den
prefers-reduced-motiondarstellt: Nicht, um rekrutierende Buzzword-Jäger auf LinkedIn anzuziehen, sondern um die Lebensqualität der Menschen zu verbessern, die von dem Effekt profitieren, den er erzeugt. Die Verwendung dieser Media Query könnte jemandem ersparen, unnötigerweise enorme Schmerzen ertragen zu müssen, nur weil er die Neugier hatte, auf einen Link zu klicken oder nach unten zu scrollen.
Die Verwendung dieser Media Query dient ausschließlich dazu, die Erfahrung der Menschen im Web zu verbessern. Wir können Code schreiben, der die Bewegung für Benutzer reduziert, die explizit eine reduzierte Bewegung angefordert haben.
Es ist erwähnenswert, dass die Tatsache, dass Menschen eine reduzierte Bewegung wünschen, nicht bedeutet, dass sie absolut keine Bewegung wünschen. Aber lassen wir das für einen Moment beiseite. Es ist wahrscheinlich besser, auf Null zu setzen, wenn Sie nicht darauf vorbereitet sind, die nuancierte Arbeit zu leisten, um herauszufinden, welches Maß an Reduzierung für Ihre Benutzer am besten geeignet ist.
Nehmen wir also an, wir werden alle Bewegungen für eine Website eliminieren. Das könnten wir so machen
@media (prefers-reduced-motion: reduce), (update: slow) {
*, ::before, ::after {
animation-delay: -1ms !important;
animation-duration: 1ms !important;
animation-iteration-count: 1 !important;
background-attachment: initial !important;
scroll-behavior: auto !important;
transition-duration: 0s !important;
transition-delay: 0s !important;
}
}
Dadurch reparieren wir die Website für alle Benutzer, die weniger Bewegung bevorzugen, für all diese Benutzer, für eine Website. Das ist ein Umfang, den wir erreichen können.
Eine weitere Sache, die wir als Webentwickler tun könnten, ist eine Browser-Erweiterung zu erstellen. Wunderbarerweise hat das Web ein standardisiertes Format für Erweiterungen, sodass Sie es größtenteils einmal schreiben und das Ding an jeden Desktop-Browser versenden können. Wenn Sie eine Erweiterung erstellen, können Sie niemanden wirklich zwingen, sie zu verwenden, und die Wahrscheinlichkeit ist sehr gering, dass ein sehr geringer Prozentsatz der Besucher Ihrer Website sie installiert hat, und noch weniger von denen, die davon profitieren könnten. Aber für diejenigen, die es tun, haben Sie nicht nur *eine* Website, sondern *alle* Websites für *diese eine* Person repariert. Das ist ein sehr anderer, aber auch sehr interessanter und mächtiger Umfang.
Es ist daher kein Wunder, dass einige Leute davon angezogen werden, an den Browsern selbst zu arbeiten. Oder für die Standardisierungsorganisationen, die diese Arbeit leiten. Ich sage nicht, dass Browser etwas wie erzwungene reduzierte Bewegung auf CSS-Ebene implementieren sollten oder würden, aber sie *könnten* es. Und wenn Sie etwas auf Browser- oder Standardebene reparieren, könnten Sie etwas für *alle* Websites für *alle* Benutzer reparieren, was der größte Umfang ist, den es gibt.
Es sind diese unterschiedlichen Umfänge, die mich so interessieren
- Reparieren von einer Website für alle Benutzer
- Reparieren von allen Websites für einen Benutzer
- Reparieren von allen Websites für alle Benutzer
Sie müssen sich nicht nur für eine entscheiden. Die meisten von uns verbringen wahrscheinlich die meiste Arbeit mit dem ersten Punkt. Aber es lohnt sich zu überlegen, ob Ihre Arbeit zu den anderen beitragen könnte.
Ich würde vorschlagen, von vornherein keine ablenkenden und nervigen Animationen zu erstellen, aber ich schätze, diese Option steht für Marketing-orientierte Designteams außer Frage
Nein, Erweiterungen sind in keiner Weise standardisiert, WebExtensions unterscheiden sich stark von Chromium Extensions, und selbst die Kompatibilitätsschicht, die in Firefox implementiert ist, deckt einige Berechtigungs- und Manifestunterschiede nicht ab, abgesehen davon, dass Safari nur eine Teilmenge von WebExtensions implementieren wird und Chrome sich in Richtung der Ersetzung von BackgroundScripts durch ServiceWorkers bewegt (ich mag die Idee, sie zu unterstützen, aber die Abschaffung von BackgroundScripts wird ein Problem sein, und viele andere Änderungen stehen bevor!)
Und außerdem haben wir unsere großartigen klassischen Erweiterungen und klassischen Erweiterungen mit ersetzten Bindungen, damit sie mit Photon funktionieren.