Öğreticiler

Kontrastın Ötesinde Erişilebilirlik: Kapsayıcı Tasarımda Renk

10 dk okuma

Renk erişilebilirliğine dair çoğu konuşma kontrast oranlarıyla başlar ve orada sona erer. 4.5:1 eşiğini geçin, işi bitmiş sayın. Ancak kontrast, kapsayıcı bir renk stratejisinin yalnızca bir parçasıdır. WCAG çok daha ileri giden gereksinimler içerir — ve bu gereksinimleri ihlal etmek, her metin öğesi kontrast testini geçmiş olsa bile arayüzü izleyicilerin büyük bir kesimi için tamamen kullanılamaz hale getirebilir.

Bu kılavuz, tasarımcıların ve geliştiricilerin sıklıkla gözden kaçırdığı erişilebilirlik gereksinimlerini ele alır: bilginin yalnızca renkle iletilmemesi ilkesinin ne anlama geldiği, odak göstergelerinin renkle nasıl etkileşime girdiği, yalnızca kırmızıya dayanmayan hata durumlarının nasıl tasarlanacağı, renk görme bozukluğu olan kullanıcılar için desenlerin nasıl anlaşılır kılınacağı ve renkle ilgili hareket hassasiyetinin etkileşim tasarımı için ne anlam ifade ettiği.


"Yalnızca Renkle Değil" İlkesi

WCAG 1.4.1: Rengin Kullanımı

WCAG Başarı Kriteri 1.4.1 (Seviye A — minimum seviye) şunu belirtir:

"Renk, bilgi iletmek, bir eylemi belirtmek, yanıt istemek veya görsel bir öğeyi ayırt etmek için tek görsel araç olarak kullanılmaz."

Bu, ilk bakışta göründüğünden çok daha kapsamlı bir gereksinimdir. Bilgi iletmek için renk kullanamayacağınızı söylemez — rengin tek araç olamayacağını söyler. İkincil bir görsel ipucu gereklidir.

"Bilgiyi Yalnızca Renkle İletmek" Ne Anlama Gelir?

1.4.1'i ihlal eden yaygın desenleri düşünün:

Yalnızca kırmızı etiket rengiyle işaretlenmiş zorunlu form alanları

Zorunlu alanların kırmızı etiket metni ve isteğe bağlı alanların gri etiket metni bulunduğu bir form, rengi tek farklılaştırıcı olarak kullanır. Kırmızı-yeşil renk körlüğü olan veya tek renkli ekran kullanan bir kullanıcı zorunlu ile isteğe bağlı alanları ayırt edemez.

Çözüm: Renge ek olarak bir metin göstergesi ("Zorunlu" veya yıldız işaretinin ne anlama geldiğini açıklayan bir açıklamayla birlikte yıldız işareti) ekleyin.

Yalnızca renge dayanan durum göstergeleri

"Aktif" için yeşil satırlar ve "Pasif" için kırmızı satırlar içeren bir gösterge tablosu tablosu 1.4.1'i geçemez. Kullanıcı, renk algısı olmadan durumu belirleyemez.

Çözüm: Bir metin durum sütunu ("Aktif" / "Pasif") ekleyin ya da aynı bilgiyi şekil aracılığıyla ileten bir simge (onay işareti / X) kullanın.

Çevresindeki metinden yalnızca renkle ayrılan bağlantılar

Gövde metni #1E293B ve bağlantılar alt çizgi olmadan #3B82F6 ise, renk körlüğü olan kullanıcılar bağlantıları bağlantı olmayan metinden ayırt edemeyebilir. WCAG 1.4.1, bağlantıların çevresindeki metinden renkten başka bir şeyle — genellikle alt çizgiyle — ayırt edilmesini gerektirir.

Kontrast tabanlı istisna: Bağlantı rengi çevreleyen metne karşı 3:1 kontrast oranına sahipse ve bağlantının görünür bir odak/hover göstergesi varsa (üzerine gelindiğinde beliren bir alt çizgi gibi), dinlenme durumunda alt çizgi kaldırılabilir. Ancak bu, dikkatli kontrast doğrulaması gerektiren dar bir istisnадır.

Yalnızca renkli veri serilerine sahip grafikler

Dört renkli çizgi ve etiket, desen veya işaretçi içermeyen bir çizgi grafik, söz konusu renkleri birbirinden ayırt edemeyen kullanıcılar tarafından okunamaz.

Çözüm: Şekli farklı veri noktası işaretçileri (daireler, kareler, üçgenler, elmaslar) ekleyin, desenler içeren doğrudan etiketler veya göstergeler ekleyin ya da renge ek olarak kesik/noktalı çizgi stilleri kullanın.

İki Kanal Kuralını Tasarım Sürecinize Yerleştirme

Arayüzünüzde rengin anlam taşıdığı her yerde şunu sorun: "Birisi bunu gritonlarla görseydi, bu rengin ne ilettiğini anlayabilir miydi?"

Cevap hayırsa, aynı bilgiyi taşıyan ikinci bir görsel kanal — metin, şekil, desen, konum veya doku — ekleyin.


Odak Göstergeleri ve Renk

Odak Göstergelerinin Neden Renk Sorunu Olduğu

Klavye navigasyonu tamamen görünür odak göstergelerine dayanır — şu anda klavye odağına sahip olan öğeyi işaretleyen anahat veya vurgu. Odak göstergeleri bir renk sorunudur çünkü birçok tasarım ya:

  1. Odak anahatlını tamamen kaldırır (outline: none CSS'deki en yaygın erişilebilirlik hatalarından biridir)
  2. Çevreleyen sayfaya karşı yetersiz kontrasta sahip bir odak rengi kullanır
  3. Tasarımlarındaki belirli arka plan renkleri üzerinde görünmez olan bir odak rengi kullanır

WCAG 2.4.11: Odak Görünümü (AA, WCAG 2.2)

WCAG 2.2, odak göstergesi kontrastı için özellikle yeni bir başarı kriteri tanıttı. Odak göstergeleri şunları karşılamalıdır:

  • Odaklanmamış bileşenin çevresi × 2 CSS piksel minimum alanına sahip olma
  • Odaklanmış ve odaklanmamış durumlar arasında en az 3:1 kontrast oranı
  • Bitişik renkler (odak göstergesi etrafındaki arka plan) ile en az 3:1 kontrast oranı

Tarayıcının varsayılan odak anahatlı (Chrome'da mavi halka, Firefox'ta noktalı anahat) belirli arka plan renkleri için bu gereksinimleri sıklıkla karşılamaz. Tarayıcı varsayılanının yeterli olduğunu asla varsaymayın.

Erişilebilir Odak Stilleri Tasarlamak

En güvenilir desen, herhangi bir arka planda çalışan yüksek kontrastlı düz bir anahattır:

:focus-visible {
  outline: 3px solid #1D4ED8;
  outline-offset: 2px;
}

Bu, #1D4ED8 (koyu mavi) kullanarak öğe ile anahat arasında 2 piksel boşluk bırakır ve göstergeyi görsel olarak belirgin kılar.

Koyu arka planlar için tek renkli anahat hem açık hem koyu bağlamlarda yeterli kontrast sağlamayabilir. İki renkli anahat tekniği bunu çözer:

:focus-visible {
  outline: 3px solid #FFFFFF;
  box-shadow: 0 0 0 5px #1D4ED8;
}

Bu, beyaz iç halka ve mavi dış halka oluşturur. Beyaz anahat koyu arka planlara karşı; mavi anahat açık arka planlara karşı kontrast sağlar. Birleşik etki, bileşen bazında özelleştirme gerektirmeksizin çoğu arka plan renginde çalışır.

Odak renginizi arayüzünüzdeki en açık ve en koyu arka planlara göre doğrulamak için Kontrast Denetleyici kullanın.

outline: none'ın Kullanıcılarınıza Gerçekte Ne Yaptığı

Odak anahatlını kaldırmak şunları etkiler:

  • Yalnızca klavye kullanan kullanıcılar (fare/izleme paneli yok)
  • Anahtarlı kontrol kullanıcıları (iOS/macOS erişilebilirlik özelliği)
  • Motor bozukluğu olan sıralı gezinme kullanıcıları
  • Hız için klavye gezinmesini tercih eden ileri kullanıcılar

:focus-visible sahte sınıfı, fare etkileşimleri için anahatlı kaldırırken klavye etkileşimleri için korur — dolayısıyla artık outline: none'ı genel olarak kullanmak için geçerli bir neden yoktur:

/* Klavye aracılığıyla erişilmediğinde anahatlı kaldırır */
:focus:not(:focus-visible) {
  outline: none;
}

/* Klavye navigasyonu için anahatlı korur */
:focus-visible {
  outline: 3px solid #1D4ED8;
  outline-offset: 2px;
}

Kırmızının Ötesinde Hata Durumları

Kırmızı Problemi

Kırmızı, Batı UI geleneklerinde hatalar için evrensel renktir — ve aynı zamanda renk körü kullanıcıların güvenilir biçimde ayırt edemediği iki en yaygın renkten biridir. Kuzey Avrupa kökenli erkeklerin yaklaşık %8'inde kırmızı-yeşil renk körlüğü (deuteranopia veya protanopia) vardır. Onlar için kırmızı hata durumu, zeytin, koyu kahverengi veya benzer soluk bir renge benzer görünür.

Bu, hata için kırmızı kullanamayacağınız anlamına gelmez. Kırmızının bir hata durumunun tek göstergesi olamayacağı anlamına gelir.

Çok Kanallı Hata Tasarımı

Tüm kullanıcılar için işe yarayan bir hata durumu birden fazla eş zamanlı kanal aracılığıyla iletişim kurar:

Renk — Giriş kenarlıkları, etiketler veya arka planlar üzerindeki geleneksel kırmızı renk tonu (örn. kenarlıklar için #DC2626, arka plan tonu için #FEF2F2)

Simge — Hata mesajından önce gelen hata simgesi (daire içinde ünlem işareti evrensel olarak anlaşılır)

Metin — Neyin yanlış olduğunu ve ideal olarak nasıl düzeltileceğini açıklayan açık bir hata mesajı

Konum — Hata mesajını uzak bir bildirim alanında değil, sorunlu girişin hemen yanına yerleştirme

Desen — Giriş alanlarında, renksiz görsel ipucu eklemek için daha kalın bir kenarlık veya farklı bir kenarlık stili (kesik noktalı veya düz yerine)

<!-- Erişilebilir hata durumu deseni -->
<div class="field-group">
  <label style="color: #DC2626; font-weight: 600;">
    E-posta adresi
    <span aria-hidden="true">*</span>
    <span class="sr-only">zorunlu</span>
  </label>
  <input
    type="email"
    aria-invalid="true"
    aria-describedby="email-error"
    style="border: 2px solid #DC2626; background-color: #FEF2F2;"
  >
  <p id="email-error" role="alert" style="color: #DC2626;">
    <!-- Hata simgesi şekil aracılığıyla anlam iletir, renkle değil -->
    ⚠ Lütfen geçerli bir e-posta adresi girin.
  </p>
</div>

aria-invalid="true" özelliği, hata durumunu ekran okuyuculara görsel renkten bağımsız olarak iletir — hiçbir ek maliyet gerektirmeyen üçüncü bir erişilebilirlik kanalıdır.

Farklı Uyarı Türleri için Renkler

Tam bir uyarı/bildirim sistemi tasarlarken her türün onu ayırt etmek için renkten fazlasını kullandığından emin olun:

Tür Renk İpucu Simge Metin Etiketi
Hata #DC2626 kırmızı ✕ veya ⚠ "Hata" öneki veya role="alert"
Uyarı #D97706 amber "Uyarı" öneki
Başarı #16A34A yeşil "Başarı" öneki
Bilgi #2563EB mavi "Not" veya "Bilgi" öneki

Burada kullanılan amber (#D97706) ve kırmızı (#DC2626) hem ton hem de parlaklık açısından birbirinden ayırt edilebilir; bu nedenle birçok renk körlüğü biçiminde farklılaşmış kalırlar. Ancak simgeler ve metin etiketleri bunların herkes için farklılaştırılmasını sağlar.


Renk Körü Dostu Desenler

Renk Görme Bozukluklarını Anlamak

Renk körlüğü tek bir durum değildir — fotoreseptörlerin ışığa nasıl tepki verdiğini etkileyen ilgili koşullar ailesidir:

  • Deuteranopia/Deuteranomaly (en yaygın, erkeklerin ~%5'i): Yeşile azalmış duyarlılık
  • Protanopia/Protanomaly (erkeklerin ~%2'si): Kırmızıya azalmış duyarlılık
  • Tritanopia/Tritanomaly (her iki cinsiyetin ~%0.01'i): Mavi-sarıya azalmış duyarlılık
  • Akromatopsi: Rengi tamamen algılayamama (çok nadir)

Kırmızı-yeşil yetmezlikler (birlikte deuteranopia ve deuteranomaly) yaklaşık 12 erkekten 1'ini etkiler. Tipik renk görüşüne sahip birine oldukça belirgin görünen kırmızı ve yeşil, neredeyse özdeş sarı-kahverengi tonlar olarak görünebilir.

Paletinizin farklı renk görme koşulları altında nasıl göründüğünü kontrol etmek için Renk Körlüğü Simülatörü kullanın.

Renk Körü Kullanıcılar için İşe Yarayan Paletler Tasarlamak

İkili ayrımlar için kırmızı-yeşil yerine mavi-turuncu tercih edin

Mavi (#2563EB) ve turuncu (#EA580C) tüm yaygın renk körlüğü biçimlerine sahip kullanıcılar tarafından ayırt edilebilir. Kırmızı ve yeşil değildir.

Yedek olarak parlaklık kontrastını kullanın

Ton ayrımı başarısız olduğunda bile iki renk arasındaki yüksek parlaklık kontrastı farklılaştırmaya izin verir. Koyu kırmızı (#7F1D1D) ve açık yeşil (#DCFCE7), kırmızı-yeşil çift olmalarına rağmen gritonlarda ayırt edilebilir kalır.

Renkle kodlanmış bilgilere şekiller, desenler ve etiketler ekleyin

Yalnızca rengi kullanarak dilimleri ayırt eden bir pasta grafik erişilemezdir. Aynı grafik doğrudan etiketler, yüzde ek açıklamaları veya farklı dokulu dolgularla herkes için çalışır.

Genellikle sorunlu olan renk kombinasyonlarından kaçının

Sorunlu Çift Neden Daha İyi Alternatif
Kırmızı ve yeşil Deuteranopia'da ikisi de doygunluğunu kaybeder Mavi ve turuncu
Kırmızı ve siyah Kırmızı koyu kahverengi görünebilir Koyu arka planlarda beyaz veya sarı metin kullanın
Yeşil ve kahverengi Protanopia'da benzer görünür Desen veya metin etiketi kullanın
Mavi ve mor Benzer parlaklık, yalnızca tonla ayırt edilebilir Parlaklığı önemli ölçüde ayarlayın

Renk Körlüğü Simülatörü ile Test Etme

Renk Körlüğü Simülatörü, herhangi bir rengin farklı renk görme koşulları altında nasıl göründüğünü gösterir. Şunları yapmak için kullanın:

  1. Marka renk paletinizi deuteranopia ve protanopia simülasyonu altında kontrol edin
  2. Tüm serilerinin ayırt edilebilir kaldığından emin olmak için veri görselleştirme paletlerini test edin
  3. Durum renk çiftlerini (başarı/hata, aktif/pasif) doğrulayın
  4. Odak göstergesi renginizi en yaygın arka plan renklerinize göre kontrol edin

Tritanopia testini atlamamayın — mavi-sarı duyarlılığı, kırmızı-yeşil testinin yakalamadığı şekillerde görüntü ve simge tasarımını etkiler.


Hareket ve Renk Hassasiyeti

Yanıp Sönen İçerik ve WCAG 2.3.1

WCAG Başarı Kriteri 2.3.1 (Seviye A), flaş boyut ve kontrast açısından belirli eşiklerin üzerindeyse saniyede üç kezden fazla yanıp sönen içeriği yasaklar. Hızla yanıp sönen renkli içerik, savunmasız kullanıcılarda ışığa duyarlı epilepsiyi tetikleyebilir.

İlgili renk değerlendirmesi: Yüksek kontrastlı, doygun renk geçişleri düşük kontrastlı geçişlerden daha tehlikelidir. #FF0000 (kırmızı) ve #00FF00 (yeşil) arasındaki hızlı geçiş, her iki renk de son derece doygun olduğundan ve geçiş geniş bir parlaklık aralığında hızla gerçekleştiğinden özellikle risklidir.

Animasyonlu Renk ve prefers-reduced-motion

Nöbet riskinin ötesinde, bazı kullanıcılar renkli animasyonlar da dahil olmak üzere animasyonlu görsel öğelerden bulantı, yönelim bozukluğu veya bilişsel yük yaşar. prefers-reduced-motion CSS medya sorgusu, cihazlarında "hareketi azalt" erişilebilirlik ayarını etkinleştirmiş kullanıcılar için animasyonları devre dışı bırakmanızı veya azaltmanızı sağlar:

/* Varsayılan: animasyonlu renk geçişi */
.status-indicator {
  background-color: #16A34A;
  transition: background-color 0.3s ease, opacity 0.3s ease;
}

/* Hareketi azalt: anlık renk değişimi, animasyon yok */
@media (prefers-reduced-motion: reduce) {
  .status-indicator {
    transition: none;
  }
}

Animasyonlu renk kullanan yükleme durumları (nabız atan iskeletler, dönen renkli göstergeler) için prefers-reduced-motion ayarlandığında statik bir alternatif sağlayın.

Renk Doygunluğu ve Bilişsel Yük

Geniş alanlarda yüksek doygunluklu renkler, belirli bilişsel engelli, migren durumlu veya görsel hassasiyeti olan kullanıcılar için görsel stres oluşturur. Bu, WCAG kontrast gereksinimleri tarafından ele alınmaz (parlaklık tabanlı, doygunluk tabanlı değil).

En iyi uygulamalar:

  • Gövde metni için arka plan olarak büyük alanları tamamen doygun renkten kaçının (tam doygunluklu #FF0000 veya #00FF00 arka planı görsel açıdan saldırgandır)
  • Doygun rengi birincil yüzey olarak değil, vurgu olarak kullanın
  • Arka plan renklerini yumuşatın — doygunluğu azaltılmış bir ton (#FF0000 yerine #FEF2F2) daha sakin görünür ve ton aracılığıyla hata durumu anlamını hala iletir

Kapsayıcı Renk İnceleme Süreci Oluşturma

Her Tasarım Teslimi için Kontrol Listesi

Renk kararları içeren herhangi bir UI göndermeden önce:

  • [ ] Rengin bilgi ilettiği her durumun ikincil bir renk dışı ipucu (metin, simge, şekil, desen) var
  • [ ] Gövde metnindeki tüm bağlantıların alt çizgisi veya çevreleyen metne karşı 3:1 kontrastı var
  • [ ] Zorunlu alanlar renge ek olarak metin veya yıldız göstergeleri kullanıyor
  • [ ] Hata durumları yalnızca renk değil, simge + mesaj metni kullanıyor
  • [ ] Odak göstergeleri tasarlandı ve tüm arka planlara göre doğrulandı
  • [ ] Kontrast oranları doğrulandı: gövde metni için 4.5:1, büyük metin ve UI bileşenleri için 3:1
  • [ ] Renk paleti deuteranopia, protanopia ve tritanopia simülasyonunda kontrol edildi
  • [ ] Saniyede üçten fazla yanıp sönen hızla yanıp sönen içerik yok
  • [ ] Animasyonlu renk geçişleri için hareket azaltma alternatifi var

ColorFYI Araçlarını Birlikte Kullanma

Kontrast Denetleyici ve Renk Körlüğü Simülatörü renk erişilebilirliğinin farklı boyutlarını ele alır ve birlikte kullanılmalıdır:

  • Kontrast Denetleyici: Parlaklık tabanlı okunabilirlik başarısızlıklarını yakalar (metin ile arka plan oranları)
  • Renk Körlüğü Simülatörü: Ton tabanlı ayrım başarısızlıklarını yakalar (tipik görüşte farklı görünen ancak renk körlüğünde özdeş olan iki renk)

Bir renk çifti tüm kontrast gereksinimlerini geçebilir ve yine de erkek kullanıcılarınızın %8'i tarafından ayırt edilemez olabilir. Her iki kontrolü çalıştırmak renk erişilebilirliği için minimum standarttır.


Önemli Çıkarımlar

  • WCAG 1.4.1 (Rengin Kullanımı) bir Seviye A gereksinimidir — minimum — ve rengin bilgi iletmek için tek araç olarak kullanılmasını yasaklar. İkincil ipucu olarak simgeler, metin veya desenler ekleyin.
  • Bağlantılar çevreleyen metinden yalnızca renkten fazlasıyla ayırt edilmelidir — genellikle dinlenme durumunda alt çizgi veya hover/odak göstergesiyle çevreleyen metne karşı 3:1 kontrast.
  • Hata durumları birden fazla kanal gerektirir: renk tonu, hata simgesi ve açık hata mesajı metni. Bir hatayı belirtmek için asla yalnızca kırmızı renge güvenmeyin.
  • Odak göstergeleri görünür olmalı ve bitişik renklere karşı 3:1 kontrastı olmalıdır. Eşdeğer bir alternatif sağlamadan asla anahatlı kaldırmayın.
  • Renk körlüğü kırmızı-yeşil yetmezlikler için yaklaşık 12 erkekten 1'ini etkiler — ikili ayrımlar için mavi-turuncu kullanın, grafiklere şekiller ve etiketler ekleyin ve Renk Körlüğü Simülatörü ile test edin.
  • Doygun, hızla yanıp sönen renk ışığa duyarlı epizotları tetikleyebilir — yüksek kontrastta saniyede üçten fazla yanıp sönen içerikten kaçının.
  • prefers-reduced-motion, işletim sistemi ayarlarında hareket azaltmayı etkinleştirmiş kullanıcılar için animasyonlu renk geçişlerini devre dışı bırakmalıdır.
  • Kontrast Denetleyici ve Renk Körlüğü Simülatörü'nü birlikte kullanın — her iki araç da tek başına karşılamadığı renk erişilebilirliğinin tamamlayıcı boyutlarını ele alır.

İlgili Renkler

İlgili Markalar

İlgili Araçlar