deniz.in

Piyasalar

Hava durumu

Hava durumu yükleniyor

· kaynak Hacker News – Front Page (native)

Safari 27.3 beta, açık renk siteleri karanlık görüntüleyen Adaptif Dark Mode özelliğini getiriyor

Safari 27.3 beta, tonu koruyan bir renk dönüşümüyle açık temalı web sitelerini otomatik olarak karanlık hale getiren Adaptif Dark Mode özelliğini tanıtıyor; yerleşik dark mode desteği olan sitelere ise dokunmuyor.

Safari 27.3 beta, açık renk siteleri karanlık görüntüleyen Adaptif Dark Mode özelliğini getiriyor

Safari 27.3 beta neler getiriyor

Apple'ın WebKit ekibi, Safari 27.3 beta'da yer alan ve açık temalı web sitelerini otomatik olarak yeniden biçimlendirerek karanlık görüntülenmelerini sağlayan Adaptif Dark Mode özelliğini duyurdu. WebKit blog yazısına göre özellik yalnızca kullanıcı istediğinde devreye giriyor: sistem görünümü karanlık olarak ayarlıyken parlak arka planlı bir site ziyaret edildiğinde Safari, dönüştürülmüş sayfanın bir önizlemesini sunuyor ve kullanıcı bunu "Dene" etiketli bir düğmeye dokunarak onaylıyor.

Yazıda özellik, süre gelen bir uyumsuzluğa cevap olarak konumlandırılıyor. 2019 baharında yayımlanan Safari 12.1, web'de dark mode desteği sunan ilk tarayıcıydı; ancak WebKit'in tahminine göre sayfa yüklemelerinin yaklaşık %40'ı artık dark mode ile gezinen kullanıcılardan gelirken, sayfa yüklemelerinin yalnızca yaklaşık %10'u buna gerçekten destek veriyor. Adaptif Dark Mode, web'in geri kalanı için bu boşluğu kapatmayı amaçlıyor.

Dönüşüm nasıl çalışıyor

HTML head bölümündeki bir color-scheme meta etiketiyle ya da CSS'te color-scheme: light dark ile dark mode desteğini zaten beyan eden her sayfa tamamen olduğu gibi bırakılıyor. Diğer tüm sayfalarda Safari, sayfanın renklerini analiz ederek ağırlıklı olarak açık mı yoksa karanlık mı okunduğunu tahmin ediyor. Zaten karanlık olan sayfalara dokunulmuyor; açık sayfalar dönüştürülüyor.

Temel mekanizma, bir rengin tonunu korurken parlaklığını tersine çeviren bir renk matrisi; böylece açık arka planlar karanlık, karanlık metinler açık hale geliyor. Metni ayarlarken Safari, WCAG'nin önerdiği 4.5:1 kontrast oranını hedefliyor ve açık CSS gradyanları da paletin geri kalanıyla birlikte dönüştürülüyor. WebKit'e göre motor bağlama dayalı kararlar da veriyor: düğmeler arka planlarına karşı kontrastlarını koruyor, metin görsellerin üzerinde okunabilir kalıyor ve hover menüleri okunaklı olmaya devam ediyor.

Görseller daha temkinli bir muamele görüyor. Çoğu olduğu gibi bırakılıyor; ancak ikonlar ve logolar arkalarındaki arka plan renkleri değiştiğinde kontrast kaybedebildiği için Safari, SVG görselleri inceliyor ve gerektiğinde renklerini değiştiriyor. Bitmap görseller için piksel histogramlarını inceleyip basit siyah-beyaz logoları tersine çeviriyor. Maskeler ve mix-blend-mode gibi CSS efektleri dönüştürülen renklerle kötü etkileşebileceğinden Safari bunları bazı öğelerde devre dışı bırakıyor; canvas içeriği ise çıktısı çok öngörülemez olduğu için asla değiştirilmiyor. Bu iş WebKit motorunun derinliklerinde gerçekleştiğinden, ekip dönüşümlerin hızlı ve güç verimli bir şekilde uygulanabildiğini söylüyor.

Geliştiriciler neler yapabilir

WebKit, modern pratiklerle oluşturulan sayfaların genelde iyi uyum sağlayacağını belirtiyor ve eski siteler için somut öneriler sunuyor: bitmap logoları SVG ile değiştirmek, döşenmiş arka plan görselleri yerine düz veya gradyan CSS renkleri kullanmak, yuvarlak köşeler, gölgeler ve düğme durumları için image sprite'ları CSS ile değiştirmek ve içerik görsellerini sayfa arka planını içine gömmeden şeffaf arka planlarla dışa aktarmak.

Açık kalmak isteyen siteler, bunu bir meta etiketi olarak ya da CSS'te color-scheme: light only beyan ederek devre dışı bırakabiliyor; CSS yolu öğe bazında da tercih değişikliğine izin veriyor. Duyurudaki bir uyarı ise şu: "only" anahtar kelimesi henüz ilk Safari 27.3 beta'da desteklenmiyor. Tam kontrol isteyen geliştiriciler, prefers-color-scheme, light-dark() fonksiyonu, color-mix(), contrast-color() ve ilgili CSS ile gerçek bir dark mode desteği kurmaya, ayrıca color-scheme değerini sonradan JavaScript ile enjekte etmek yerine belgede statik olarak beyan etmeye teşvik ediliyor.

Gizlilik korumaları

Tarayıcı genelinde bir yeniden temalandırma, siteler bunu algılayabilseydi bir parmak izi (fingerprinting) vektörüne dönüşebilirdi. WebKit bu nedenle Safari'nin dönüşümü JavaScript'ten tamamen gizlediğini söylüyor: CSS renklerini sorgulayan kod, orijinal yazılmış değerleri alıyor ve canvas'a çizilen her şey değiştirilmemiş haliyle görüntüleniyor.

Neden önemli

Sayfa görüntülemelerinin kabaca dörtte biri artık dark mode ile gezinen kullanıcılardan geliyor, buna uyum sağlayan sayfalar ise onda bir civarında; şu ana kadar bu boşluğu kapatmak tek tek sitelerin işine kalmıştı. Adaptif Dark Mode bu işi tarayıcı motoruna taşıyor; bu da web'in büyük bir bölümünün, yazarlarının katılımı olmadan yeniden görüntülenebileceği anlamına geliyor. Geliştiriciler için pratik çıkarım şu: color-scheme beyanı bir kontrol düğmesine dönüştü — Safari'nin sayfanızı otomatik dönüştürmesiyle kendi stillerinizin sayılması arasındaki fark bu. Ayrıca dönüşüm JavaScript'e görünmez olduğu için siteler, hangi ziyaretçilerin dönüştürülmüş bir sürüm gördüğünü bilemez — bu hem bir gizlilik kazancı hem de analitik verilerinin bu sayfaların bu kullanıcılara gerçekte nasıl göründüğünü ortaya çıkaramayacağı anlamına geliyor.

  • #safari
  • #webkit
  • #dark-mode
  • #css
  • #browsers