Tasarım dili Temeller
Renk
Metni sıcak kâğıt üzerindeki mürekkep taşır; bakır yeşili vurgu doğrulanmış sinyali, soluk bir tuğla tonu ise doğrulanmamış ya da işaretlenmiş olanı gösterir. 11 renk tokenının hepsi tek bir dosyada tanımlıdır; bu sayfadaki her renk değeri ve oran derleme sırasında o dosyadan ya da ürün tokenlarının eşitlenmiş kopyasından okunur veya hesaplanır.
Palet
#Sitenin tanımladığı 11 renk değeri bunlardır; token dosyasından, dosyadaki sırayla okunurlar. Sitedeki diğer her renk bu tokenların bir karışımıdır. Her örnek canlı tokenla boyanır; altında o rengin kâğıda ve mürekkebe karşı kontrastı, normal boy metin ölçütüyle derecelendirilmiş olarak yer alır.
- --color-paper#fdfaf6Sayfanın kendisi; koyu ve dolu yüzeylerde ana metin rengi.
- 16,61:1 ink AAA
- --color-paper-2#f6f3eeİkinci yüzey: alt bilgi, dönüşümlü bölümler, görsel panelleri, kod blokları.
- 1,06:1 paper Geçmez
- 15,62:1 ink AAA
- --color-hair#e2dfdbSatırlar ve bölümler arasındaki 1px ayırıcılar. Metinde kullanılmaz.
- 1,27:1 paper Geçmez
- 13,02:1 ink AAA
- --color-hair-2#cdcac6Daha belirgin çizgi: düğme ve etiket kenarları, diyagram çizgileri, noktalı zemin.
- 1,56:1 paper Geçmez
- 10,58:1 ink AAA
- --color-ink#0f1c26Birincil metin, mürekkep paneller, bir grubu açan 1px çizgi, glif.
- 16,61:1 paper AAA
- --color-ink-muted#5c5753İkincil metin: giriş metinleri, paragraflar, gezinme bağlantıları.
- 6,85:1 paper AA
- 2,42:1 ink Geçmez
- --color-ink-subtle#736d69Yardımcı metin: üst başlıklar, açıklamalar, tarihler, etiketler. Form alanlarının kenarı da odur.
- 4,89:1 paper AA
- 3,39:1 ink Geçmez
- --color-accent#00847eÇizgi ya da nokta olarak doğrulanmış sinyal: alt çizgiler, odak halkası, ince çizgiler. Metinde kullanılmaz.
- 4,38:1 paper Geçmez
- 3,78:1 ink Geçmez
- --color-accent-deep#006560Metin taşıyan bakır yeşili: küçük etiketler ve bağlantının üzerine gelme rengi. Birincil düğmenin dolgusu da odur.
- 6,65:1 paper AA
- 2,49:1 ink Geçmez
- --color-accent-tint#d9f5f3Eylem çağrısı bandının ve etiketlerin açık yüzeyi. Mürekkep üzerinde vurgulanan metin.
- 1,10:1 paper Geçmez
- 15,07:1 ink AAA
- --color-raw#a9432cDoğrulanmamış, saldırgan ya da işaretlenmiş olan: gürültü, şüpheli kararlar, CVE'ler, kritik bulgular. Alarm kırmızısı değil, soluk bir tuğla tonu.
- 5,72:1 paper AA
- 2,90:1 ink Geçmez
Oranlar iki ondalığa aşağı yuvarlanır. Normal boy metinde AA en az 4,5:1, AAA en az 7:1 demektir; Geçmez, oranın 4,5:1'in altında kaldığını gösterir. Bir çizginin ya da yüzeyin metin ölçütünü geçmesi beklenmez: tokenın ne için kullanıldığını her örneğin altındaki açıklama söyler.
Hangi renk ne için.
#Paleti dört rol karşılar: mürekkep, sıcak bir nötr dizi, tek bir vurgu ailesi ve raw. Her rol kullanım hâliyle gösterilir; altında tokenları ve token dosyasındaki hex değerinden hesaplanan OKLCH koordinatları yer alır.
Mürekkep omurgadır.
ink birincil metin rengidir; her koyu panelin dolgusu, bir listeyi ya da grubu açan 1px çizgi ve glifin rengi de odur. Bir testin token dosyasına sokmadığı siyahın yerini tutar. Tonu (243) nötrler arasındaki tek soğuk tondur; bu yüzden metin sıcak kâğıdın üzerinde hafifçe serin durur.
Birincil metin
Mürekkep panelde kâğıt rengi metin
- ink#0f1c26oklch(0.220 0.027 242.6)
Sıcak kâğıt dizisi
paper sayfanın kendisidir, paper-2 ise ikinci yüzey: alt bilgi, dönüşümlü bölümler ve görsel panelleri. Çizgileri hair ve hair-2 çizer; ikincil ve üçüncül metni ink-muted ile ink-subtle taşır. Altısı da 56 ile 81 arasındaki tek bir sıcak ton bandındadır. paper, aynı testin dışarıda tuttuğu beyazın yerini tutar.
Yardımcı metin
Kâğıt üzerinde ikincil metin
Çerçeveİkinci yüzey
- paper#fdfaf6oklch(0.986 0.006 75.4)
- paper-2#f6f3eeoklch(0.965 0.007 80.7)
- hair#e2dfdboklch(0.905 0.006 75.4)
- hair-2#cdcac6oklch(0.840 0.006 75.4)
- ink-subtle#736d69oklch(0.539 0.010 56.2)
- ink-muted#5c5753oklch(0.460 0.009 61.3)
Tek bir vurgu ailesi.
accent doğrulanmış sinyali gösterir. Metin rengi olarak kullanılmaz, çünkü kâğıt üzerinde yalnızca 4,38:1'e ulaşır; bu yüzden alt çizgileri, 2px'lik odak halkasını, ince çizgileri, noktaları ve sinyal eğrisini çizer. accent-deep aynı tonun daha koyusudur. Küçük boyutlu bakır yeşili metni o taşır ve birincil düğmeyi kâğıt rengi metnin arkasında 6,65:1 ile doldurur. accent-tint eylem çağrısı bandının ve etiketlerin açık yüzeyidir; mürekkep üzerinde vurgulanan metnin rengi de odur. Üçü de 189 tonu civarındadır.
- accent-tint#d9f5f3oklch(0.949 0.029 191.4)
- accent#00847eoklch(0.553 0.096 189.2)
- accent-deep#006560oklch(0.457 0.079 188.9)
Raw tuğladır, alarm kırmızısı değil.
raw doğrulanmamış, saldırgan ya da işaretlenmiş olanı gösterir: ana sayfadaki inen eğri, şüpheli bir karar, işaretlenmiş bir bellek bölgesi, zaman çizelgesindeki bir bulgu iğnesi, filo aramasındaki CVE sonuçları ve hizmetler sayfasındaki rapor görselindeki kritik ve yüksek bulgular. Token dosyası onu kanıt sahnesi için tanımlar ve açıkça söyler: alarm kırmızısı değil, soluk bir tuğla tonudur. Form hataları onu kullanmaz; mürekkeple ve 3px'lik bir mürekkep çizgisiyle yazılır. Kâğıt üzerinde raw metin 5,72:1'e ulaşır.
- raw#a9432coklch(0.517 0.140 34.2)
Sinyal ve gürültü
#İki renk yapıyı göstermenin ötesinde anlam taşır. accent doğrulanmış tek sinyaldir. Kanıt sahnelerinde raw, değişmiş ama doğrulanmamış her şeydir. raw'ın neden var olduğunu token dosyası açıklar: anlam için tek bir renk olsaydı, gürültüyü ve sinyali birlikte gösteren bir sahne tek renkli bir grafiğe dönerdi.
rawham değişiklik: inen eğri, yuvarlak işaretlerpaket güncellemesi, günlük rotasyonu, geçici dosya, imzalı ikili ve yapılandırma kaymasıaccentsinyal: çıkan eğri, kare işaretlerdoğrulandı, ilişkilendirildi ve 1 alarm
raw ve accent tokenlarıyla çizildi.Renk tek başına anlam taşımaz.
accent ile raw parlaklıkta birbirine yakındır, OKLCH L değerleri 0,553 ve 0,517; aralarındaki kontrast yalnızca 1,30:1. Onları ayıran tondur. Bu yüzden sahne ikisini yönle, işaretlerin biçimiyle ve her işaretin etiketiyle de ayırır; iki tonu ayırt edemeyen biri de sahneyi okuyabilir. Dar ekranda etiketler açıklama kutusuna taşınır.
Kararı kanıt boyar.
Zero Door sayfasındaki karar sahnesi tek bir vakayı çizer ve rengini kanıta bırakır. Kapsül, içinde sözcük olmadan ink-subtle bir çerçeve olarak doğar. 3 başarısız kanıtın her biri onu raw ile eşit bir parça daha doldurur. Hiçbir yöne bir şey bulmayan 3 nötr kanıtın her biri ise üst kenarında ink-subtle bir çentik bırakır ve renk eklemez. Son parça dolarken çerçeve raw olur; sözcük, Şüpheli, ancak o zaman paper ile açılır. raw, onu hak ettiren kanıttan önce hiçbir zaman boyanmaz.
Doğar
0/3 başarısız · 0/3 nötr
- çerçeve
ink-subtle
- çerçeve
Bir kanıt kaldı
2/3 başarısız · 3/3 nötr
- dolgu
raw - çentikler
ink-subtle - çerçeve
ink-subtle
- dolgu
Karar
3/3 başarısız · 3/3 nötr
- sözcük,
rawüzerindepaper - çerçeve
raw
- sözcük,
Hesaplanmış kontrast
#Buradaki her oran derleme sırasında token değerlerinden WCAG 2.x formülüyle hesaplanır ve iki ondalığa aşağı yuvarlanır; böylece bir eşiğin altında kalan çift hiçbir zaman geçiyormuş gibi görünmez. İlk tablo kullanımdaki başlıca token üzerine token metin çiftlerini, onları yazan dosyayla birlikte listeler.
| Metin / zemin | Oran | Normal metin | Nerede |
|---|---|---|---|
| ink / paper | 16,61:1 | AAA | Gövde metni ve başlıklar |
| ink / paper-2 | 15,62:1 | AAA | Alt bilgi bağlantıları |
| ink / accent-tint | 15,07:1 | AAA | Eylem çağrısı bandının başlığı |
| ink-muted / paper | 6,85:1 | AA | Giriş metinleri ve sayfa alt başlıkları |
| ink-muted / paper-2 | 6,44:1 | AA | Alt bilgideki marka satırı |
| ink-muted / accent-tint | 6,21:1 | AA | Eylem çağrısı bandının metni |
| ink-subtle / paper | 4,89:1 | AA | Üst başlıklar, açıklamalar ve tarihler |
| ink-subtle / paper-2 | 4,60:1 | AA | Alt bilgi sütun başlıkları |
| accent-deep / paper | 6,65:1 | AA | Bağlantının üzerine gelince |
| accent-deep / paper-2 | 6,26:1 | AA | Alt bilgi bağlantısının üzerine gelince |
| accent-deep / accent-tint | 6,04:1 | AA | Eylem çağrısı formunun altındaki not |
| paper / accent-deep | 6,65:1 | AA | Birincil düğme |
| paper / ink | 16,61:1 | AAA | Mürekkep düğme, içeriğe geç bağlantısı, mürekkep paneller |
| accent-tint / ink | 15,07:1 | AAA | security.txt görselindeki alan adları |
| accent-tint / accent-deep | 6,04:1 | AA | Kanıt sahnesindeki gün kapsülünün içindeki açıklama |
| raw / paper | 5,72:1 | AA | İmza uyuşmazlığı etiketi |
| raw / paper-2 | 5,38:1 | AA | İşaretli bir olayın tür etiketi |
| paper / raw | 5,72:1 | AA | Şüpheli karar etiketi |
| paper / raw | 5,72:1 | AA | Karar sözcüğü, karar sahnesi |
| ink-subtle / accent-tint | 4,44:1 | Geçmez | Metinde kullanılmaz |
Eşiğin altında kalanlar
accent-tint üzerinde ink-subtle 4,44:1'e ulaşır, yani 4,5:1'in altında kalır; bu yüzden accent-tint üzerindeki metin her yerde ink, ink-muted ya da accent-deep ile yazılır. accent üzerinde kâğıt rengi 4,38:1'e ulaşır; birincil düğmenin accent-deep ile dolmasının nedeni budur. Kullanımdaki her çift 4,5:1'e ulaşır, dolayısıyla büyük metinde AAA'yı da geçer.
Karışım zemin üzerinde metin
Bazı zeminler token değil, bir tokenın kâğıtla karışımıdır; bileşen onu yerinde, OKLab'de color-mix ile yazar. Aşağıdaki oranlar bileşenin yazdığı ifadenin aynısından hesaplanır ve bir test o ifadeyi dosyadan okur.
| Metin / zemin | Karışım | Oran | Normal metin | Nerede |
|---|---|---|---|---|
| raw / raw + paper | yüzde 86 paper | 4,67:1 | AA | Yüksek bulgu etiketi, rapor görseli |
| raw / raw + paper | yüzde 88 paper | 4,81:1 | AA | Dosyasız olay satırı, taralı |
| ink / raw + paper | yüzde 30 paper | 5,29:1 | AA | Onaltılık dökümde eşleşen baytlar |
| accent-deep / accent-tint + paper | yüzde 30 paper | 6,22:1 | AA | Yasal metinlerde taslak yer tutucusu |
| ink-muted / raw + paper | yüzde 92 paper | 6,12:1 | AA | Hedef bölge etiketi, saldırı yolu |
Çizgiler ve odak halkası
Metin dışı kontrast, sayfayı anlamak ya da kullanmak için bir çizgiye veya şekle ihtiyaç duyulan yerde 3:1 ister. Odak halkası 2px'lik bir accent çerçevedir ve düşebileceği her yüzeyde, mürekkep dahil, 3:1'i aşar. Sitenin formlarındaki alanların, yani iletişim formunun, eylem çağrısı bandının ve sözlük filtresinin kenarı ink-subtle'dır; alanın kendi kâğıt dolgusuna da, çevresindeki paper-2 ve accent-tint yüzeylere de karşı 3:1'i aşar. hair ayırıcısı 3:1'e ulaşmaz ve onun için bu iddiada bulunmayız: içeriği ayırır, içeriğin anlamı ise kendi metnindedir.
| Renk / yüzey | Oran | 3:1 | Görev |
|---|---|---|---|
| accent / paper | 4,38:1 | Geçer | Odak halkası, 2px çerçeve |
| accent / paper-2 | 4,12:1 | Geçer | Odak halkası, 2px çerçeve |
| accent / accent-tint | 3,97:1 | Geçer | Odak halkası, 2px çerçeve |
| accent / ink | 3,78:1 | Geçer | Odak halkası, 2px çerçeve |
| ink-subtle / paper | 4,89:1 | Geçer | Alan kenarı, kendi kâğıt dolgusunda ve sayfada |
| ink-subtle / paper-2 | 4,60:1 | Geçer | Alan kenarı, iletişim formu kartı |
| ink-subtle / accent-tint | 4,44:1 | Geçer | Alan kenarı, eylem çağrısı bandı |
| hair / paper | 1,27:1 | İddia edilmez | Satırlar ve bölümler arasındaki ayırıcı |
Koyu panel var, koyu tema yok.
#Sitenin tek bir teması var, o da açık. Mürekkep yerel bir panel olarak görünür: Güven merkezindeki security.txt dosyası, araştırmadaki onaltılık döküm, Zero Door sayfasındaki kanıt şeridi, görsellerin üzerindeki etiketler ve damgalar. Mürekkep üzerinde metin kâğıt rengindedir; ikincil metin kâğıt ile mürekkebin karışımından gelir; vurgulanan metin accent-tint'tir. Onaltılık döküm bunun istisnasıdır: eşleşen baytları raw bir karışımla işaretler, tarama çizgisini accent ile çizer.
# Zerone Security vulnerability reporting (RFC 9116)# Please do not report security issues in public channels.Contact: mailto:security@zeronesecurity.comEncryption: https://zeronesecurity.com/.well-known/pgp-key.txtAcknowledgments: https://zeronesecurity.com/trust#acknowledgementsPolicy: https://zeronesecurity.com/trust#disclosureExpires: 2027-09-01T00:00:00.000ZPreferred-Languages: en, trCanonical: https://zeronesecurity.com/.well-known/security.txtsecurity.txt dosyası, Güven merkezindeki gibi dizildi: kâğıt rengi metin, accent-tint alan adları, kâğıt ile mürekkebin karışımından gelen yorum satırları ve dosya yolu.Token değil, karışım.
Mürekkep üzerindeki metin için bir token yok, bir karışım ölçeği de tanımlı değil. Her panel adımlarını satır içinde color-mix(in oklab, var(--color-paper), var(--color-ink) N%) olarak türetir; aşağıdaki adımlar kullanımda olanlardır ve her biri onu yazan dosyaya karşı denetlenir. Metin adımları N = 25 ile N = 45 arasındadır ve en zayıfı bile mürekkep üzerinde 5,17:1'e ulaşır. Daha yüksek adımlar nokta ve ayırıcı çizgidir, metinde kullanılmaz.
- paperHer paneldeki metin#fdfaf616,61:1AAA
- N = 25Onaltılık dökümün ASCII sütunu#babcbd9,09:1AAA
- N = 28Kanıt şeridindeki etiketler#b2b5b68,39:1AAA
- N = 30Dosya yolları, etiket açıklamaları, döküm çubuğu#adb0b27,95:1AAA
- N = 35security.txt yorum satırları#a1a5a76,92:1AA
- N = 45Onaltılık dökümde bayt konumları#888d915,17:1AA
- N = 55Pencere noktaları, laboratuvar oturumu#70777c3,79:1Metin değil
- N = 70Pencere noktaları, onaltılık döküm#4d575e2,32:1Metin değil
- N = 80Açıklama ayırıcısı, security.txt#37424b1,68:1Metin değil
- N = 82Ayırıcılar, onaltılık döküm#333e471,58:1Metin değil
- accent-tintVurgular: alan adları, kanıt şeridindeki ok#d9f5f315,07:1AAA
color-mix değeriyle boyandı ve adımın nerede kullanıldığını söyler. Metin adımları metin olarak, nokta ve çizgi adımları nokta ve çizgi olarak çizildi.Mürekkep üzerinde vurgu rengi accent-tint'tir.
Koyu bir panelde metin taşıyan bakır yeşili accent-tint'tir: 15,07:1. Mürekkep üzerinde accent yalnızca 3,78:1'e, accent-deep ise 2,49:1'e ulaşır; bu yüzden ikisi de orada metin taşımaz. Mürekkep üzerinde odak halkasını ve onaltılık dökümün tarama çizgisini yine accent çizer, çünkü bir çizgi için gereken eşik 3:1'dir.
Yapın ve yapmayın.
#Üç çift de tek bir kurala uyar ve onu bir test denetler: hiçbir bileşen metni accent ile yazmaz. Birincil düğme kuralın kendine düşen yarısını bir yorumda da söyler: kâğıt rengi metnin arkasında accent değil, accent-deep. Düğme metni 600 ağırlıkta 14px'dir; WCAG bunu normal boy metin sayar, yani 4,5:1 geçerlidir.
Dolu düğmeler
Küçük bakır yeşili metin
Mürekkep üzerinde vurgulanan metin
Durumlar
#Ortak düğmeler ve bağlantılar, üzerine gelme ve odak durumlarını bir kez, sitenin stil dosyasında tanımlar. Aşağıda her biri zorlanmış durumunda, stil dosyasının yazdığı kuralla boyanmış olarak ve metninin zemine karşı oranıyla gösterilir. Üzerine gelmek bir düğmenin metin rengini hiç değiştirmez; odak ise her öğede aynı 2px'lik accent halkadır. Stil dosyası halkayı öğeden 3px uzağa koyar, bazı bileşenler bu boşluğu kendileri belirler (bkz. Erişilebilirlik).
Birincil düğme.btn
- Normal6,65:1
- Üzerinde9,12:1
- Odaktahalka 4,38:1
Mürekkep düğme.btn-ink
- Normal16,61:1
- Üzerinde13,23:1
- Odaktahalka 4,38:1
Çerçeveli düğme.btn-ghost
- Normal16,61:1
- Üzerinde15,62:1
- Odaktahalka 4,38:1
Metin bağlantısı.link
- Normal16,61:1
- Üzerinde6,65:1
- Odaktahalka 4,38:1
:hover ve :focus-visible kurallarının tam değeriyle zorlanır; hücre, fare ya da klavye o öğeye geldiğinde görüneni gösterir.Birincil düğmede üzerine gelmek accent-deep'i ink ile karıştırarak koyulaştırır. Mürekkep düğmede ink'i paper'a doğru açar, çerçeveli düğmeyi paper-2 ile doldurur, bir bağlantının metnini ise accent-deep yapar.
Tokenların kullanımı
#Tokenlar bir kez, önce varsayılan paleti silen bir Tailwind @theme bloğunda tanımlanır. Bileşenler onları kendi kapsamlı stillerinde var(--color-ad) ile okur.
@theme {
--color-*: initial;
--color-transparent: transparent;
--color-current: currentColor;
--color-paper: #fdfaf6;
--color-paper-2: #f6f3ee;
--color-hair: #e2dfdb;
--color-hair-2: #cdcac6;
--color-ink: #0f1c26;
--color-ink-muted: #5c5753;
--color-ink-subtle: #736d69;
--color-accent: #00847e;
--color-accent-deep: #006560;
--color-accent-tint: #d9f5f3;
--color-raw: #a9432c;
}body {
background: var(--color-paper);
color: var(--color-ink);
}
.btn-ink {
background: var(--color-ink);
border-color: var(--color-ink);
color: var(--color-paper);
}
.link:hover {
color: var(--color-accent-deep);
}@theme bloğu text-ink-muted ya da bg-paper-2 gibi yardımcı sınıflar da üretir. Bugün hiçbir bileşen onları kullanmaz: bileşenlerdeki her renk bir var(--color-*) başvurusu ya da bunların karışımıdır. Bir bileşen paletin karşılamadığı bir adıma ihtiyaç duyduğunda, koyu panellerin yaptığı gibi onu yerinde, OKLab'de color-mix ile karıştırır.
Kurallar ve onları neyin koruduğu
#Bu sayfadaki bir kural ya her değişiklikte koşan bir testle denetlenir ya da incelemenin koruduğu bir kural olarak etiketlenir.
11 renk değeri sabitlenmiştir.
NedenBir renk ancak bilerek değişir. Test her tokenı tam değeriyle listeler; paleti değiştirmek, incelemede testi de değiştirmek demektir.
TestHer değişiklikte bir testle korunur.
Token dosyasında saf siyah ya da beyaz yok.
NedenOnların yerini
inkvepapertutar: soğuk mürekkep ve sıcak kâğıt, dilin görünüşünün bir parçasıdır. Test ikisinin de hex, anahtar sözcük,rgb()veoklch()biçimlerini reddeder.TestHer değişiklikte bir testle korunur.
Yayına çıkan hiçbir stil dosyasında saf siyah ya da beyaz yok.
NedenKapı derleme çıktısındaki her CSS dosyasını ve her HTML sayfasının satır içi
<style>bloklarını bildirim bildirim okur.blackvewhiteanahtar sözcüklerini, üç, dört, altı ya da sekiz haneli hex'i,rgb(),hsl(),hwb(),lab(),lch(),oklab(),oklch()vecolor()biçimlerini ve satır içi SVG resimlerinin içindeki renkleri yakalar. Tamamen saydam bir renk sayılmaz. Bir çatı varsayılanı, Tailwind'in ring-offset rengi, tanımlandığı iki yerde dışarıda bırakılır. Satır içi style öznitelikleri okunmaz: tasarım sayfaları ürünün kendi renklerini orada boyar.TestHer değişiklikte bir testle korunur.
Tailwind'in varsayılan paleti sıfırlanmıştır.
NedenPalet silindiğinde
bg-red-500gibi hazır renk sınıfları hiç oluşmaz. Sınıf adına yazılan keyfi bir değer yine çalışırdı; hiçbir bileşen böyle bir değer yazmaz.TestHer değişiklikte bir testle korunur.
Bakır yeşili metin
accent-deepkullanır,accentkullanmaz.Neden
accent-deep,papervepaper-2üzerinde 4,5:1'i tutar;accenttutmaz (paperüzerinde 4,38:1). Test her bileşeni ve stil dosyasını okur; herhangi biri metni ya da SVG metniniaccentile yazarsa düşer. Yalnız bu tasarım sayfalarının bileşenlerini atlar; yanlış kullanım örneklerini onlar bilerek çizer.TestHer değişiklikte bir testle korunur.
Kontrast tablolarındaki her metin çifti, onu yazan kurala karşı denetlenir.
NedenTablolar veridir, test de aynı veriyi okur. Tablonun gösterdiği dosyada metin rengini ve zemini yazan kuralları bulur ve oranı denetler: kullanımdaki çiftler 4,5:1'e ulaşır, eşiğin altında kalanlar altında kalır. Doğruluğunu yitiren bir kaynak, test koşusunu düşürür.
TestHer değişiklikte bir testle korunur.
axe hiçbir sayfada kontrast ihlali bulmaz.
NedenToken oranları işin yarısıdır. axe derlenmiş her sayfayı ekrana geldiği hâliyle, metnin gerçekten üzerinde durduğu yüzeyle denetler; koşu sıfır ihlalle bitmek zorundadır. axe, karar sahnesi ya da onaltılık döküm gibi resim olarak işaretlenmiş görsellerin içindeki metni görmez; onlar için denetim bu sayfadaki tablolardır.
TestHer değişiklikte bir testle korunur.
Bileşenler düz bir renk değeri yazmaz;
var(--color-*)kullanır.NedenTek kaynak, bir token değişikliğinin her bileşene ulaşması demektir. Token değerleri yalnızca token dosyasının okunamadığı yerlere kopyalanır: tarayıcı tema rengi, derleme sırasında çalışan paylaşım kartı çizicisi, logo SVG dosyaları ve ayrı dağıtılan form servisinin kayıt listesi. Kaynaklar sayfası bu dosyaları listeler; listenin eksiksiz kaldığını bir test denetler.
İncelemeBir testle değil, incelemeyle korunur.
Renk hiçbir zaman tek işaret değildir.
Neden
accentilerawesas olarak tonla ayrılır; parlaklıkta aralarında yalnızca 1,30:1 var. Sahneler onları yön, işaret biçimi ve etiketle de ayırır; anlam renk olmadan da yerinde kalır.İncelemeBir testle değil, incelemeyle korunur.
Zero Door arayüzünde
#Zero Door arayüzü aynı dilin sakin üslubunu konuşur. OKLCH ile yazılmış kendi tokenları, bir açık ve bir koyu teması vardır ve koyu temayla açılır. Aşağıda 15 renk tokenından 10 tanesi yer alır; değerler token dosyasından gelir ve dosyanın son değişikliği 2026-08-23 tarihlidir. Kontrast burada her temanın üç yüzeyine karşı hesaplanır.
Açık tema
Önem derecesi
- Kritik
- Yüksek
- Orta
- Düşük
- Bilgi
Koyu tema
Önem derecesi
- Kritik
- Yüksek
- Orta
- Düşük
- Bilgi
Açık tema
- --surfaceoklch(0.985 0.006 75)Sayfa yüzeyi.
- 15,98:1 fg AAA
- --fgoklch(0.235 0.010 60)Birincil metin: sitenin soğuk mürekkebi değil, sıcak bir ton.
- 15,98:1 surface AAA
- 15,07:1 subtle AAA
- 16,69:1 raised AAA
- --fg-mutedoklch(0.460 0.010 60)İkincil metin.
- 6,83:1 surface AA
- 6,45:1 subtle AA
- 7,14:1 raised AAA
- --fg-subtleoklch(0.540 0.010 60)Üçüncül metin; Düşük ve Bilgi önem derecesi. Anlam taşıyan metnin inebileceği en alt basamak.
- 4,85:1 surface AA
- 4,58:1 subtle AA
- 5,07:1 raised AA
- --brandoklch(0.25 0.025 233)Birincil eylemler, geçerli seçim ve bağlantılar.
- 15,25:1 surface AAA
- 14,38:1 subtle AAA
- 15,93:1 raised AAA
- --signal-successoklch(0.53 0.11 150)Başarı; rozette bir onay simgesi ve bir sözcükle.
- 4,80:1 surface AA
- 4,53:1 subtle AA
- 5,01:1 raised AA
- --signal-warningoklch(0.53 0.12 70)Uyarı ve Yüksek önem derecesi.
- 5,18:1 surface AA
- 4,89:1 subtle AA
- 5,41:1 raised AA
- --signal-dangeroklch(0.53 0.17 25)Tehlike ve Kritik önem derecesi.
- 5,51:1 surface AA
- 5,20:1 subtle AA
- 5,76:1 raised AA
- --signal-infooklch(0.54 0.12 240)Bilgi ve Orta önem derecesi.
- 4,77:1 surface AA
- 4,50:1 subtle AA
- 4,98:1 raised AA
- --focus-ringoklch(0.45 0.10 233)Klavye odağı. Her yüzeyde 3:1 gerekir.
- 6,91:1 surface Metin dışı AA
- 6,52:1 subtle Metin dışı AA
- 7,22:1 raised Metin dışı AA
Koyu tema
- --surfaceoklch(0.190 0.008 250)Sayfa yüzeyi.
- 15,01:1 fg AAA
- --fgoklch(0.930 0.005 85)Birincil metin: sitenin soğuk mürekkebi değil, sıcak bir ton.
- 15,01:1 surface AAA
- 13,90:1 subtle AAA
- 12,82:1 raised AAA
- --fg-mutedoklch(0.665 0.008 250)İkincil metin.
- 6,05:1 surface AA
- 5,60:1 subtle AA
- 5,16:1 raised AA
- --fg-subtleoklch(0.640 0.010 250)Üçüncül metin; Düşük ve Bilgi önem derecesi. Anlam taşıyan metnin inebileceği en alt basamak.
- 5,49:1 surface AA
- 5,08:1 subtle AA
- 4,69:1 raised AA
- --brandoklch(0.62 0.060 245)Birincil eylemler, geçerli seçim ve bağlantılar.
- 5,10:1 surface AA
- 4,73:1 subtle AA
- 4,36:1 raised Geçmez
- --signal-successoklch(0.66 0.13 150)Başarı; rozette bir onay simgesi ve bir sözcükle.
- 6,26:1 surface AA
- 5,80:1 subtle AA
- 5,35:1 raised AA
- --signal-warningoklch(0.76 0.13 75)Uyarı ve Yüksek önem derecesi.
- 8,44:1 surface AAA
- 7,82:1 subtle AAA
- 7,21:1 raised AAA
- --signal-dangeroklch(0.66 0.18 25)Tehlike ve Kritik önem derecesi.
- 5,45:1 surface AA
- 5,05:1 subtle AA
- 4,65:1 raised AA
- --signal-infooklch(0.66 0.12 240)Bilgi ve Orta önem derecesi.
- 6,02:1 surface AA
- 5,58:1 subtle AA
- 5,14:1 raised AA
- --focus-ringoklch(0.62 0.09 245)Klavye odağı. Her yüzeyde 3:1 gerekir.
- 5,11:1 surface Metin dışı AA
- 4,73:1 subtle Metin dışı AA
- 4,36:1 raised Metin dışı AA
Bağlantı metninde marka rengi
Arayüzde bağlantıları da brand boyar. Koyu temada raised yüzeyinde 4,36:1'e ulaşır, yani 4,5:1'in altında kalır. Ne ürünün kontrast testi ne de buradaki denetim brand'i listeler; bu yüzden yukarıdaki örnek bu açığı gizlemek yerine gösterir.
İkisinin buluştuğu yer.
Ürünün açık temadaki tokenlarından 6 tanesi bir site tokenıyla tam olarak aynı sRGB değerine çözülür; tablo bunu iki dosyadan hesaplar. Birincil metinde yolları ayrılır: site onu ink ile, ürün ise sıcak, siyaha yakın bir tonla yazar; ürün, site mürekkebine yakın brand rengini eylemlere ayırır.
| Site tokenı | Ürün tokenı | sRGB |
|---|---|---|
| --color-paper | --surface | #fdfaf6 |
| --color-paper-2 | --surface-subtle | #f6f3ee |
| --color-ink-muted | --fg-muted | #5c5753 |
| --color-ink-subtle | --fg-subtle | #736d69 |
| --color-hair | --zd-border | #e2dfdb |
| --color-hair-2 | --zd-border-strong | #cdcac6 |
Ürün tokenlarının anlık görüntüsünü indirin: product-tokens.json
Kenarlar ince çizgidir.
Ürünün kenar tokenları sitedekiler gibi ince çizgidir ve yüzeye karşı 3:1'in epey altında kalır: açık temada 1,27:1, koyu temada 1,35:1. Onlar için 3:1 iddia etmeyiz.
Ürünün metin ve sinyal tokenları iki temada da üç yüzeyin üçünde 4,5:1'e ulaşır.
NedenBu sayfadaki değerler ürün token dosyasının eşitlenmiş bir anlık görüntüsüdür. Test bu anlık görüntüde
fg,fg-muted,fg-subtleve dört sinyal rengini yeniden denetler; bu çiftlerden birini bozan bir eşitleme üründe olduğu gibi burada da düşer.brandlistede yok.TestHer değişiklikte bir testle korunur.
Ürün kenarları için 3:1 iddiası yok.
NedenTest kenar tokenını yüzeye karşı 3:1'in altında sabitler; aksini iddia eden bir sayfa geçen bir testle çelişmiş olur.
TestHer değişiklikte bir testle korunur.
Önem derecesi olmayan grafik serileri önem derecesi renklerini ödünç almaz.
NedenÜrün token dosyası onlar için ayrı bir kategorik palet tutar ve nedenini söyler: yoksa yan yana iki grafik yüksek bir alarmı ve değişmiş bir dosyayı aynı kehribar renge boyardı.
İncelemeBir testle değil, incelemeyle korunur.