Renkler token’dır ve kontrast hesaplanan bir sayıdır
Palet 14 değişkenlik bir blokta durur ve ikincil metin tek bir token kullanır: `--muted: #666b65`. Sitin yedi arka planında WCAG’nin göreli parlaklık formülüyle yeniden hesaplanan oranlar: beyazda 5,45:1, 5,15, 5,11, 5,03, 5,02, 4,79 ve 4,72. Ana metin, `--ink: #181a19`, beyazda 17,49:1 elde eder; yeşil vurgu `#355c46`, 7,58:1. Bir renk eşiğe ulaşmadığında token değiştirilir, toplantıda gerekçelendirilmez.
Bileşenlerin yalnızca görünüşü değil, klavye düzeni de var
Başlangıç sayfasındaki sekme grubu hareketli sekme indeksini kullanır: yalnızca etkin sekme Tab ile erişilebilir, diğerleri sıra dışıdır ve sol/sağ oklar, Home ve End odağı taşır; tuşun varsayılan davranışı iptal edilir. Bu, erişilebilir bileşenler için önerilen uygulama modelidir; alıntı değil, uygulanmıştır. Sitenin temel bileşenlerinde 21 erişilebilir etiket, 7 basılı/basılmamış durumu, başlık ile bölge arasında 3 bağlantı, 2 seçim durumu, değişiklikleri duyuran 2 bölge ve komut ile denetlediği panel arasında 2 bağlantı vardır.
Hareketin durdurma düğmesi vardır ve sistem tercihinde söner
Başlangıç sayfasında otomatik başlayan, sonsuza kadar animasyonlu, beş saniyeden uzun süren 38 öğe vardır — tam da “Duraklat, Durdur, Gizle” kriterinin düzenlediği durum. Bu 38 öğenin tamamı duraklatma düğmeleriyle kaplıdır: basıldığında animasyonlar duraklatılmış duruma geçer ve düğmenin durumu değişir. Ayrı olarak, `prefers-reduced-motion: reduce` altında küresel bir kural herhangi bir animasyonu ve geçişi iptal eder, düzgün kaydırmayı durdurur, fareyle üzerine gelinceki yer değiştirmeyi kaldırır ve duraklatma düğmesini gizler. Ana stil sayfasında böyle yedi blok, ayrıca temel stil sayfasında bir tane vardır.
Görünür odak göstergesi, yalnızca gerektiği yerde
5 px boşluklu, vurgu yeşilinde 2 px düz çerçeve, `:focus-visible` ile uygulanır — yani klavye ile gezinmede görünür, fare tıklamasında değil. Tarayıcıda, öğe öğe doğrulandı; üst bilgi ve içerikteki ilk komutlarda: dört farklı öğe, aynı çerçeve. Stil sayfasının hiçbir yerinde yerine konulmadan kaldırılmış bir çerçeve yok.
Durumlarını duyuran formlar
Sitenin iletişim formunda etiketler alanlara gömülüdür, hata uyarı olarak, onay ise durum olarak işaretlenir — böylece ekran okuyucular bunları kullanıcının aramasına gerek kalmadan duyurur. Bot tuzağı doğru şekilde gizlenmiştir: üst öğe görüntüleme dışıdır, yardımcı teknolojiler için gizli olarak işaretlenmiştir ve sekme sırasından çıkarılmıştır. Kendi denetim, etiketleme, seçiciler için ad ve otomatik tamamlama kurallarının hepsinin geçtiğini doğrular.
Doğrulama araçla, gerçek sayfalarda yapılır
axe-core 4.10.2’yi test ortamında değil, canlı sayfada; başlangıç sayfası, katalog, bir ürün sayfası, hizmetler dizini, bir hizmet sayfası, çözüm matrisi, matristeki bir kombinasyon, iletişim, tarifeler, bir makale ve bir hukuk belgesini kapsayan on sayfalık bir örneklem üzerinde çalıştırıyoruz. Ham sonuç sayfaya yazılır; özetlenmiş “uygun” olarak değil, düğüm sayısıyla birlikte.
Düşen neyse yayımlanır, yuvarlanmaz
Aynı denetimden: 320 px genişlikte, üst bilgideki komut ve menü düğmesi ekranı 22 px aşar ve sayfa yatay kaydırılır — aritmetik 280 px’lik bir kapsayıcıda 362 px içeriktir. Hukuk belgelerinde metin içindeki bağlantılar, çevrelerindeki metinden yalnızca renk ile ayrılır ve vurgu ile gövde metni arasındaki oran 1,01:1’dir; bu yüzden altı çizili olması zorunludur. Her ikisi de açıktır, düzeltme yazılmıştır. Bunları yayımlıyoruz çünkü erişilebilirlik isteyen bir alıcı, gerçek bir hata listesinin nasıl göründüğünü görmeyi hak eder.
Karanlık tema yok — söylenmiş, simüle edilmemiş
Site’nin koyu teması yoktur. Token bloğu, aynı değerleri alan üç seçici için tanımlanmıştır ve kodda sistemin şema tercihi için hiçbir kural yoktur. Tarayıcıda koyu şema emüle edilerek kontrol edildi: sayfa beyaz kalır. Yararlı sonuç: ölçülen tüm karşıtlık oranları her iki şemada da geçerlidir. İstenmeyen sonuç: tema anahtarı, renk açısından ölü koddur. Gerçek bir koyu tema, değerleri kopyalamak değil, karşıtlığın tamamının yeniden ölçülmesi demektir.
Kurallı tipografi, tercihlerle değil
Başlıklar ve metin için tek bir aile, harf aralığı seviye bazında ayarlanmış — büyük başlıklarda daha sıkı, birinci ve ikinci seviyede `-0,055em`, üçüncü seviyede `-0,035em` — ve başlıklarda 500 ağırlık. Paragraflar satırların dengelenmesini kullanır, böylece son satırda tek bir kelime kalmaz. Konteyner 1240 px maksimum genişliğe ve 48 px kenar boşluklarına sahiptir, düğmelerin satır yüksekliği her yerde aynıdır. Bunlar stil sayfasında yazılı kurallardır, dolayısıyla biz ayrıldıktan sonra da uygulanır.