Tasarım diliErişilebilirlik

Tasarım dili Erişilebilirlik

Erişilebilirlik

zeronesecurity.com'u Türkçe ve İngilizce olarak WCAG 2.2 AA seviyesine göre geliştiriyor ve her değişiklikte sınıyoruz. Bu sayfa sitenin uyduğu kuralları, her kuralı hangi testin koruduğunu ve henüz hiçbir testin ulaşmadığı yerleri anlatır.

WCAG 2.2 AA, her değişiklikte.

#

WCAG 2.2 AA, iki dildeki her sayfa için alt sınırdır; bir erişilebilirlik kontrolünden geçemeyen değişiklik siteye ulaşmaz.

  • 0 bir sayfada izin verilen axe ihlali, etkisi ne olursa olsun
  • 63 taranan her sayfada çalışan axe kuralı, 5 WCAG etiket kümesinden
  • 320 CSS piksel genişlikte hiçbir sayfa yana kaymaz
  • 100 21 sayfada istenen masaüstü Lighthouse erişilebilirlik puanı

axe-core bir makinenin karar verebildiği şeylere bakar. Karar veremediği ölçütlerin birkaçını, aralarında yeniden akış, sabit üst menünün altında kalan odak ve hareketli içerik için duraklatma düğmesi olmak üzere, kendi betikli tarayıcı testleri sınar. Kontroller her birleştirme isteğinde ve her gönderimde çalışır; bir sonraki bölüm her birini, testinin koddaki adıyla listeler.

  • 404 sayfası dahil derlenen her sayfa taranır.

    NedenTest sayfa listesini derlenmiş sitenin kendisinden çıkarır: derlemenin yazdığı, Türkçe ve İngilizce her HTML dosyası; ziyaretçinin var olmayan her adreste gördüğü 404 sayfası da dahil. Yeni bir sayfa, kimse eklemeden taramaya girer.

    TestHer değişiklikte bir testle korunur.

  • Bir kontrolden geçemeyen değişiklik siteye ulaşmaz.

    NedenSitenin yayına alınması derleme kapılarını, tarayıcı testlerini ve masaüstü Lighthouse ölçümünü bekler. Biri kırılırsa site yayına alınmaz. CI'da başarısız olan bir tarayıcı testi bir kez daha çalıştırılır; yayına almayı yalnızca yine başarısız olursa durdurur.

    DerlemeHer değişiklikte derleme hattıyla korunur.

Neyi, nasıl sınıyoruz.

#

Her satır, her değişiklikte çalışan bir kontroldür. Bu sayfa derlenirken her satır onu çalıştıran testle eşleştirilir; bir test yeniden adlandırılır, silinir ya da atlanırsa bu sayfanın derlemesi kırılır, geride eskimiş bir iddia kalmaz.

Erişilebilirlik kontrolleri ve her birinin nasıl çalıştığı
Ölçüt ya da kontrolNasıl sınanır
WCAG 2.2 A ve AA, otomatikaxe-core 4.13.0, 404 sayfası dahil derlenen her sayfada wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa etiketleriyle çalışır. axe deneysel ve eskimiş kurallarını dışarıda bırakır; çalışan kural sayısı 63. Görseller son hâlleriyle değerlendirilsin diye sayfa önce baştan sona kaydırılır; test, ihlal listesinin boş olmasını bekler.
1.4.10 Yeniden akış320 × 640 CSS piksellik tek bir tarayıcı penceresi, 404 sayfası dahil derlenen her sayfayı açar. Hiçbir sayfa pencereden geniş olamaz, bir piksel bile.
2.4.11 Odak örtülmez/, /zero-door ve /tr/contact sayfalarında, önce 1280 × 800 boyutunda bir masaüstü penceresinde, sonra 390 × 844 boyutunda dar bir pencerede 60 kez Tab, ardından 40 kez Shift+Tab. Her basıştan sonra test kaydırmanın durmasını bekler; sabit üst menü odaktaki öğenin merkezini ve dört köşesini birden örtüyorsa test kırılır.
2.2.2 Duraklat, durdur, gizleTaranan her sayfada: bir döngü başladıysa sayfada görünür bir duraklatma düğmesi de olmalıdır, yoksa sayfa testi geçemez. Her döngü başlarken data-ambient işaretini koyar. Ortak hareket yaşam döngüsü bu işareti kendi çalıştırdığı döngülere koyar; gürültü tuvali, iki kaydırma sahnesinin bekleme hareketi ve ana sayfa girişindeki kaydırma işareti kendileri koyar. Bir bileşen bu işareti koymadan döngü kurarsa bu sayfanın derlemesi durur.
2.2.2 Karar kalıcıdırAna sayfada duraklatmak bütün siteyi duraklatır. Zero Door sayfasında düğme hâlâ duraklatılmış görünür; ana sayfaya dönünce gürültü tuvali kendini duraklatılmış olarak bildirir.
Zero Door sayfasında 2.2.2 ve 2.5.8Döngüdeki her görselin kendi düğmesi vardır; ilki en az 24 × 24 pikseldir ve etiketi duraklatmadır. Tek tıklama bütün düğmeleri duraklatır, akan satırlar durur ve karar sayfa yeniden yüklendiğinde de geçerlidir.
2.5.8 Hedef boyutu (en az)wcag22aa etiket kümesindeki axe kuralı target-size, taranan her sayfada çalışır.
1.4.13 Üzerine gelince ya da odakla açılan içerikGeniş ekranda ana sayfadaki bir kural, klavye odağı başlığına gelince açılır. Odak yerinde kalırken Escape kapatır; odak kanıt bağlantısına geçince kural yeniden açılır, sonraki kurala geçince kapanır. Dar ekranda kurallar akordeondur: biri açılınca açık olan kapanır, kapalı kuralın bağlantısı gizli kalır.
2.1.1 KlavyeAna sayfadaki kanıt sahnesinde ok tuşları adımlar arasında gezinir, odağı da beraberinde taşır; ilk ve son adımda durur.
1.1.1 ve 4.1.2 Etiket adımı izlerBir adım seçmek, sahnenin role=img etiketini sözlükteki o adımın cümlesiyle değiştirir.
1.3.1 Bilgi ve ilişkiler: başlık sırasıDerlenen her HTML dosyasında <main> içindeki başlık seviyeleri atlanmaz. axe başlık sırasını bir WCAG kuralı değil iyi uygulama sayar; bu yüzden onu bir derleme kapısı korur.
3.1.2 Bölümlerin diliTürkçe ana sayfanın giriş bölümünde güven satırındaki çerçeve adları ve üst başlık lang=en taşır. Türkçe sektör sayfalarında ürünün İngilizce çıktısından alınan kanıt satırı lang=en taşır; Türkçe yazılmış kanıt satırı dil işareti taşımaz.
Azaltılmış hareket, site geneli404 sayfası dışında derlenen her sayfa, azaltılmış hareket istenerek açılır. Beliren hiçbir öğede transform kalmaz; ana içerikteki etiketli her görsel çizilir, gizlenmez ve kırpılıp kapatılmaz; motion sınıfı eklenmez ve hiçbir döngü başlamaz.
Azaltılmış hareket, ana sayfaAna sayfada, azaltılmış hareket istendiğinde beliren her öğe son yerinde durur: üzerinde transform kalmaz, tam opaktır ve gizli değildir. motion sınıfı da hiç eklenmez.
JavaScript olmadan, site geneli404 sayfası dışında derlenen her sayfa betikler kapalıyken açılır. Beliren her öğe transform olmadan son yerinde durur; ana içerikteki etiketli her görsel çizilir, gizlenmez ve kırpılıp kapatılmaz.
JavaScript olmadan, ana sayfaBetikler kapalıyken ana sayfadaki kanıt sahnesi dört kartını alt alta dizer, sahne kıpırdamaz ve duraklatma düğmesi gizli kalır.
1.4.3 Kontrast (en az): metin rengi tokenlarıink, ink-muted, ink-subtle ve accent-deep paper ve paper-2 zeminlerine karşı hesaplanır; ikisinde de 4,5:1'e ulaşmak zorundadır.
1.4.11 Metin dışı kontrast: odak halkası ve alan kenarlığıVurgu renginde odak halkası paper, paper-2, accent-tint ve ink zeminlerine, form alanlarının ink-subtle kenarlığı da paper, paper-2 ve accent-tint zeminlerine karşı renk tokenlarından hesaplanır; her biri 3:1'e ulaşmak zorundadır. Test ayrıca iletişim formunun, eylem çağrısı bandının ve sözlük filtresinin alanlarını bu kenarlıkla çizdiğine ve genel odak kuralının vurgu renginde 2px'lik düz bir halka olduğuna bakar.
Lighthouse erişilebilirlikMasaüstü Lighthouse 21 sayfayı her birinde 2 kez açar; her sayfanın her ölçümü erişilebilirlikte 100 puan almak zorundadır.
  1. WCAG 2.2 A ve AA, otomatik

    Nasıl sınanıraxe-core 4.13.0, 404 sayfası dahil derlenen her sayfada wcag2a, wcag2aa, wcag21a, wcag21aa, wcag22aa etiketleriyle çalışır. axe deneysel ve eskimiş kurallarını dışarıda bırakır; çalışan kural sayısı 63. Görseller son hâlleriyle değerlendirilsin diye sayfa önce baştan sona kaydırılır; test, ihlal listesinin boş olmasını bekler.

  2. 1.4.10 Yeniden akış

    Nasıl sınanır320 × 640 CSS piksellik tek bir tarayıcı penceresi, 404 sayfası dahil derlenen her sayfayı açar. Hiçbir sayfa pencereden geniş olamaz, bir piksel bile.

  3. 2.4.11 Odak örtülmez

    Nasıl sınanır/, /zero-door ve /tr/contact sayfalarında, önce 1280 × 800 boyutunda bir masaüstü penceresinde, sonra 390 × 844 boyutunda dar bir pencerede 60 kez Tab, ardından 40 kez Shift+Tab. Her basıştan sonra test kaydırmanın durmasını bekler; sabit üst menü odaktaki öğenin merkezini ve dört köşesini birden örtüyorsa test kırılır.

  4. 2.2.2 Duraklat, durdur, gizle

    Nasıl sınanırTaranan her sayfada: bir döngü başladıysa sayfada görünür bir duraklatma düğmesi de olmalıdır, yoksa sayfa testi geçemez. Her döngü başlarken data-ambient işaretini koyar. Ortak hareket yaşam döngüsü bu işareti kendi çalıştırdığı döngülere koyar; gürültü tuvali, iki kaydırma sahnesinin bekleme hareketi ve ana sayfa girişindeki kaydırma işareti kendileri koyar. Bir bileşen bu işareti koymadan döngü kurarsa bu sayfanın derlemesi durur.

  5. 2.2.2 Karar kalıcıdır

    Nasıl sınanırAna sayfada duraklatmak bütün siteyi duraklatır. Zero Door sayfasında düğme hâlâ duraklatılmış görünür; ana sayfaya dönünce gürültü tuvali kendini duraklatılmış olarak bildirir.

  6. Zero Door sayfasında 2.2.2 ve 2.5.8

    Nasıl sınanırDöngüdeki her görselin kendi düğmesi vardır; ilki en az 24 × 24 pikseldir ve etiketi duraklatmadır. Tek tıklama bütün düğmeleri duraklatır, akan satırlar durur ve karar sayfa yeniden yüklendiğinde de geçerlidir.

  7. 2.5.8 Hedef boyutu (en az)

    Nasıl sınanırwcag22aa etiket kümesindeki axe kuralı target-size, taranan her sayfada çalışır.

  8. 1.4.13 Üzerine gelince ya da odakla açılan içerik

    Nasıl sınanırGeniş ekranda ana sayfadaki bir kural, klavye odağı başlığına gelince açılır. Odak yerinde kalırken Escape kapatır; odak kanıt bağlantısına geçince kural yeniden açılır, sonraki kurala geçince kapanır. Dar ekranda kurallar akordeondur: biri açılınca açık olan kapanır, kapalı kuralın bağlantısı gizli kalır.

  9. 2.1.1 Klavye

    Nasıl sınanırAna sayfadaki kanıt sahnesinde ok tuşları adımlar arasında gezinir, odağı da beraberinde taşır; ilk ve son adımda durur.

  10. 1.1.1 ve 4.1.2 Etiket adımı izler

    Nasıl sınanırBir adım seçmek, sahnenin role=img etiketini sözlükteki o adımın cümlesiyle değiştirir.

  11. 1.3.1 Bilgi ve ilişkiler: başlık sırası

    Nasıl sınanırDerlenen her HTML dosyasında <main> içindeki başlık seviyeleri atlanmaz. axe başlık sırasını bir WCAG kuralı değil iyi uygulama sayar; bu yüzden onu bir derleme kapısı korur.

  12. 3.1.2 Bölümlerin dili

    Nasıl sınanırTürkçe ana sayfanın giriş bölümünde güven satırındaki çerçeve adları ve üst başlık lang=en taşır. Türkçe sektör sayfalarında ürünün İngilizce çıktısından alınan kanıt satırı lang=en taşır; Türkçe yazılmış kanıt satırı dil işareti taşımaz.

  13. Azaltılmış hareket, site geneli

    Nasıl sınanır404 sayfası dışında derlenen her sayfa, azaltılmış hareket istenerek açılır. Beliren hiçbir öğede transform kalmaz; ana içerikteki etiketli her görsel çizilir, gizlenmez ve kırpılıp kapatılmaz; motion sınıfı eklenmez ve hiçbir döngü başlamaz.

  14. Azaltılmış hareket, ana sayfa

    Nasıl sınanırAna sayfada, azaltılmış hareket istendiğinde beliren her öğe son yerinde durur: üzerinde transform kalmaz, tam opaktır ve gizli değildir. motion sınıfı da hiç eklenmez.

  15. JavaScript olmadan, site geneli

    Nasıl sınanır404 sayfası dışında derlenen her sayfa betikler kapalıyken açılır. Beliren her öğe transform olmadan son yerinde durur; ana içerikteki etiketli her görsel çizilir, gizlenmez ve kırpılıp kapatılmaz.

  16. JavaScript olmadan, ana sayfa

    Nasıl sınanırBetikler kapalıyken ana sayfadaki kanıt sahnesi dört kartını alt alta dizer, sahne kıpırdamaz ve duraklatma düğmesi gizli kalır.

  17. 1.4.3 Kontrast (en az): metin rengi tokenları

    Nasıl sınanırink, ink-muted, ink-subtle ve accent-deep paper ve paper-2 zeminlerine karşı hesaplanır; ikisinde de 4,5:1'e ulaşmak zorundadır.

  18. 1.4.11 Metin dışı kontrast: odak halkası ve alan kenarlığı

    Nasıl sınanırVurgu renginde odak halkası paper, paper-2, accent-tint ve ink zeminlerine, form alanlarının ink-subtle kenarlığı da paper, paper-2 ve accent-tint zeminlerine karşı renk tokenlarından hesaplanır; her biri 3:1'e ulaşmak zorundadır. Test ayrıca iletişim formunun, eylem çağrısı bandının ve sözlük filtresinin alanlarını bu kenarlıkla çizdiğine ve genel odak kuralının vurgu renginde 2px'lik düz bir halka olduğuna bakar.

  19. Lighthouse erişilebilirlik

    Nasıl sınanırMasaüstü Lighthouse 21 sayfayı her birinde 2 kez açar; her sayfanın her ölçümü erişilebilirlikte 100 puan almak zorundadır.

Odak her zaman görünür.

#

Klavye odağı her yerde aynı görünür: vurgu renginde, 2 piksel kalınlığında düz bir halka. Tarayıcı odağın görünmesi gerektiğine karar verdiğinde çizilir; bu yüzden bir düğmeye ya da bağlantıya fareyle tıklamak geride halka bırakmaz. Bileşenler aralığı değiştirebilir, kalınlığı ve rengi asla.

Klavyeyle deneyin.

Bu kontrol öğeleri arasında Tab ile gezinin. Sitenin kendi düğme ve bağlantı sınıflarını ve sade bir metin alanını kullanırlar; hepsi tek bir genel odak kuralına bağlıdır. Düğmeler örnektir, bir şey yapmaz.

Metin bağlantısı
Canlı: .btn, .btn-ghost, .btn-ink, .link ve bir metin alanı. Buradaki her halka genel kuraldan gelir: 2px, aralık 3px.

Dört zeminde halka

Halka metin değildir; arkasındaki renge karşı 3:1 gerekir. Vurgu rengi aşağıdaki dört zeminin her birinde bunu sağlar: iki sayfa zemini, accent-tint (vurgu renginin açık tonu) ve kod panellerinin koyu zemini.

  • paper4,38:1 3:1'i karşılar
  • paper-24,12:1 3:1'i karşılar
  • accent-tint3,97:1 3:1'i karşılar
  • ink3,78:1 3:1'i karşılar
Oranlar bu sayfa derlenirken renk tokenlarından hesaplanır ve hep aşağı yuvarlanır.

Kullanımdaki aralıklar

Kullanımdaki aralıklar 3px ile -2px arasındadır. Varsayılan halka öğeden biraz uzakta durur, duraklatma düğmesi ve alanlar daha yakındadır, adım düğmelerini halka sıkıca sarar, kod panellerinde halka içe çizilir.

  • Varsayılan3px
  • Duraklatma düğmesi2px
  • Sözlük alanı1px
  • Adım düğmesi0px
  • Kod paneli-2px
Her bileşenin CSS'inden okunan aralıklarla çizildi. Varsayılan örnek sitenin kendi .btn sınıfıdır.
Sitenin bileşenlerinde, yerleşimlerinde, sayfalarında ve genel CSS'inde outline yazan bütün odak kuralları
SeçiciAralık
:focus-visible3px
.fd:focus-visible2px
li:focus-within-2px
.v:focus-visibleyok, bkz. :focus-within
.tw:focus-visible2px
pre:focus-visible-2px
.tw:focus-visible2px
.t:focus-visibleyok, bkz. :focus-within
.row:focus-within-2px
.tw:focus-visible2px
.tw:focus-visible2px
.tw:focus-visible2px
.tw:focus-visible2px
.tw:focus-visible2px
.b:focus-visible2px
.tg:focus-visible2px
.chip:focus-visible, .play:focus-visible2px
.b:focus-visible, .card:focus-visible2px
.in:focus-visible1px
.tw:focus-visible2px
.dots button:focus-visible0
.mb:focus-visible2px
.integ summary:focus-visible3px
.errs .err:focus-visible2px
input:focus-visible, select:focus-visible, textarea:focus-visible2px
input:focus-visible1px
.card:focus-within2px
.title a:focus-visibleyok, bkz. :focus-within
.file pre:focus-visible-2px
.dots button:focus-visible0

Sabit üst menü ve kaydırma payı

Üst menü pencerenin üstünde sabit durur ve 67 piksel yüksekliğindedir. Bağlantılar, düğmeler, form alanları, summary öğeleri ve tabindex taşıyan her öğe üstte 84, altta 16 piksellik kaydırma payı taşır; odak bunlardan birini görünüme kaydırdığında öğe menünün altında, arada 17 piksel boşluk kalarak durur. Bölüm çapaları kendi paylarını taşır.

Gerçek boyut. Menü yüksekliği gezinme bileşeninden, paylar aşağıdaki genel kuraldan gelir.
CSSGenel odak ve kaydırma payı kuralları, stil dosyasının yazdığı gibi
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 3px; }
:where(a[href], button, input, select, textarea, summary, [tabindex]) { scroll-margin-top: 84px; scroll-margin-bottom: 16px; }
  • Odak, vurgu renginde 2px'lik düz bir halkadır. Yalnızca aralık değişir.

    NedenOdağın her yerde tek bir işareti vardır; kimse ikincisini öğrenmek zorunda kalmaz. Bu sayfa derlenirken bileşenlerdeki, yerleşimlerdeki, sayfalardaki ve genel CSS'teki bütün odak kurallarını okur; biri farklı bir kalınlık ya da renk çizerse, ya da halkayı outline alt özellikleriyle veya bir gölgeyle (box-shadow) çizerse derleme durur.

    DerlemeHer değişiklikte derleme hattıyla korunur.

  • Odak hiçbir zaman sabit üst menünün altında tamamen kaybolmaz.

    NedenWCAG 2.4.11. Klavye kullanıcısı sayfada odakla ilerler; odaktaki öğeyi örten bir menü, kullanıcının nerede olduğunu gizler. Test 3 sayfayı masaüstü genişliğinde gezer; ikinci bir test aynı sayfaları 390 piksel genişliğinde bir pencerede yeniden gezer.

    TestHer değişiklikte bir testle korunur.

  • Odak halkası yalnızca kapsayıcıya taşındığı yerde kaldırılır.

    NedenKartın tamamı bağlantı olduğunda halka :focus-within ile karta geçer ve hedefin tamamını çevreler. Bir bileşen, :focus-within kuralı olmayan bir dosyada halkayı kaldırırsa bu sayfanın derlemesi durur.

    DerlemeHer değişiklikte derleme hattıyla korunur.

YapınKartın tamamı bağlantıysa halkayı karta taşıyın.
YapmayınHalkayı kaldırıp yerini boş bırakmayın.

Renk tek başına anlam taşımaz.

#

Metin iki sayfa zemininde de 4,5:1'e ulaşır ve anlam hiçbir zaman yalnızca renge dayanmaz. Bağlantıların altı çizilidir, duraklatma düğmesi biçim değiştirir, bu sayfalardaki yapın ve yapmayın işaretleri simgenin yanında bir kelime de taşır.

Paletin tamamı ve her tokenın hesaplanmış metin kontrastı Renk sayfasındadır. Bu bölüm erişilebilirliğin ona eklediklerini anlatır.

Metin dışı öğelerde kontrast

Odak halkaları, simgeler ve bir kontrol öğesini belli eden kenarlıklar arkalarındaki renge karşı 3:1 ister (WCAG 1.4.11). Vurgu rengi, ink-muted ve ink-subtle bunu sağlar; form alanları kenarlıklarını ink-subtle ile çizer. hair ve hair-2 tokenları sağlamaz: site ayırıcıları ve çerçeveleri onlarla çizer, duraklatma düğmesinin, çerçeveli düğmenin ve menü düğmesinin kenarlığını da.

Metin dışı renkler iki sayfa zeminine karşı
Tokenpaper üzerindepaper-2 üzerinde
accent4,38:1 · 3:1'i karşılar4,12:1 · 3:1'i karşılar
ink-muted6,85:1 · 3:1'i karşılar6,44:1 · 3:1'i karşılar
ink-subtle4,89:1 · 3:1'i karşılar4,60:1 · 3:1'i karşılar
hair-21,56:1 · 3:1'in altında1,47:1 · 3:1'in altında
hair1,27:1 · 3:1'in altında1,19:1 · 3:1'in altında

Bu sayfa derlenirken tokens.css dosyasındaki tokenlardan WCAG 2.x formülüyle hesaplanır ve aşağı yuvarlanır. Duraklatma düğmesinin, çerçeveli düğmenin ya da menü düğmesinin tanınmak için kenarlığına ihtiyaç duyup duymadığı henüz incelenmedi; aşağıdaki boşluklar arasında listelenir.

Akan metindeki bağlantılar

Akan metinde bir bağlantıyı altındaki çizgi gösterir. Renk çizgiyi destekler, onun yerini tutmaz.

Bir renk çifti seçmeden önce kontrast tablosuna bakın.

YapınAkan metindeki bağlantıların altını çizin.

Bir renk çifti seçmeden önce kontrast tablosuna bakın.

YapmayınBağlantıyı yalnızca renkle ayırmayın.

Durumu biçim ve kelime taşır.

Duraklatma düğmesi hareket sürerken iki çubuk, durunca bir üçgen gösterir; etiketi “Animasyonları duraklat” ile “Animasyonları oynat” arasında değişir. Bu sayfalardaki yapın ve yapmayın işaretleri bir onay ya da çarpı simgesini bir kelimeyle birlikte kullanır.

  • Animasyonları duraklat
  • Animasyonları oynat
Duraklatma düğmesinin iki durumu, kendi şekilleriyle, ekran okuyucunun duyduğu etiketin yanında.
  • Küçük metin hiçbir zaman 4,5:1'in altına düşmez.

    NedenWCAG 1.4.3. axe taranan her sayfadaki metni ölçer; metin tokenlarını iki zemine karşı ayrıca bir birim testi sabitler.

    TestHer değişiklikte bir testle korunur.

  • Düz vurgu rengi metin dışı işler içindir: halkalar, alt çizgiler, çizgiler ve noktalar.

    NedenKâğıt üzerinde 4,38:1 ölçülür; küçük metnin istediği 4,5:1'in altındadır. Dolu düğmeler bunun yerine accent-deep kullanır; üzerindeki kâğıt renginde metin 6,65:1 ölçülür.

    İncelemeBir testle değil, incelemeyle korunur.

  • Akan metindeki bir bağlantı yalnızca rengiyle ayrılmaz.

    NedenWCAG 1.4.1. axe, akan metindeki bir bağlantının rengi çevresindeki metinden 3:1'den az ayrışıyorsa ve alt çizgi gibi başka bir işareti yoksa onu yakalar.

    TestHer değişiklikte bir testle korunur.

Her döngü durdurulabilir.

#

Hareket, zaten orada olan içeriğin üstüne eklenir. Tek bir düğme bütün döngüleri durdurur, kimsenin görmediği döngü durur ve sisteminden daha az hareket isteyen kişi için hiçbir şey kıpırdamaz.

Eğriden kaydırma sahnelerine, hareketin nasıl kurulduğu Hareket sayfasındadır. Bu bölüm erişilebilirliğin hareketten istediklerini anlatır.

Diyagramın canlı durumu

Yaşam döngüsü data-state
atanmadı
Döngü data-ambient
atanmadı
Site genelinde duraklatıldı html.paused
hayır

Canlı: mimari sayfasındaki diyagram, gerçek duraklatma düğmesiyle. Burada duraklatmak sitedeki bütün döngüleri duraklatır ve açtığınız bir sonraki sayfada da hatırlanır.

Duraklatma düğmesi

28 piksellik, yalnızca simgeli yuvarlak bir düğmedir ve etiketi “Animasyonları duraklat” ya da “Animasyonları oynat” olur: tek tıklama sayfadaki bütün döngüleri durdurur; tercih tarayıcıda zs-motion anahtarıyla saklanır, böylece bir sonraki sayfa da duraklatılmış açılır.

Görünmeyen döngü durur.

Görseli ekrandan çıktığında ya da sekme arka plana geçtiğinde döngü duraklar; site genelindeki duraklatma kararına da uyar.

Azaltılmış hareket

Sistem azaltılmış hareket istediğinde aşağıdaki blok yumuşak kaydırmayı kapatır, geçişleri neredeyse sıfıra indirir ve CSS animasyonlarını kaldırır; görseller doğrudan son hâllerine geçer.

CSSAzaltılmış hareket bloğu, stil dosyasının yazdığı gibi
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: 0.01ms !important; animation: none !important; }
}
  • Hiçbir döngü, sayfada görünür bir duraklatma düğmesi olmadan çalışmaz.

    NedenWCAG 2.2.2. Tarayıcı bir sayfanın hareket edip etmediğini bilemez; bu yüzden her döngü başlarken data-ambient işaretini koyar, axe testindeki 2.2.2 kontrolü de görünür bir düğme arar. Ortak yaşam döngüsü bu işareti kendi çalıştırdığı döngülere koyar; gürültü tuvali, iki kaydırma sahnesinin bekleme hareketi ve giriş bölümündeki kaydırma işareti kendileri koyar. Bir bileşen bu işareti koymadan döngü kurarsa bu sayfanın derlemesi durur.

    TestHer değişiklikte bir testle korunur.

  • Tek bir karar her sayfadaki bütün döngüleri duraklatır.

    NedenHareketi durdurmak her sayfada yeniden yapılacak bir iş olmamalı. Test ana sayfada duraklatır ve sonraki sayfayı duraklatılmış bulur.

    TestHer değişiklikte bir testle korunur.

  • Görseli ekrandan çıkan döngü durur.

    NedenKimsenin görmediği hareket de pil ve işlemci harcar. Test Zero Door sayfasındaki baraj çizimini ekrandan çıkarır ve kartlarının durduğuna bakar.

    TestHer değişiklikte bir testle korunur.

  • Azaltılmış harekette görseller son hâllerinde durur, düğme gizlenir.

    Nedenİstenen şey daha az hareket; basılacak bir düğme değil. Test Zero Door sayfasındaki görsellere bakar.

    TestHer değişiklikte bir testle korunur.

  • Beş saniyeden kısa, bir kez oynayan animasyon düğme gerektirmez.

    NedenWCAG 2.2.2 yalnızca beş saniyeden uzun süren hareket için bir düğme ister. Kaydırınca görünüme giren bir blok, yerine bir kez 0,8 saniyede yükselir ve durur.

    İncelemeBir testle değil, incelemeyle korunur.

  • Animasyonda saydamlık (opacity) kullanılmaz.

    NedenSolarken yarı saydamlıktan geçen metin kontrastı yolda kaybeder; otomatik kontrast kontrolleri bir kez tam da bu yüzden kırılmıştı. Öğeler bunun yerine transform, clip-path ya da çizgi çizimiyle girer.

    İncelemeBir testle değil, incelemeyle korunur.

İçerik betikten önce gelir.

#

Sunucu her sayfayı son, okunur hâliyle gönderir. Betikler hareketi bunun üstüne ekler; yalnızca ana sayfa açılışının ikinci bloğu bir betiği bekler, betik gecikirse de onu bir CSS kurtarması açar.

Her sayfa kök öğesinde no-js sınıfıyla başlar. Bir betik bu sınıfı kaldırır ve azaltılmış hareket istenmemişse motion sınıfını ekler. Canlanmadan önce bir şeyi gizleyen her durum, ana sayfa açılışının ikinci bloğu dışında, bu motion sınıfının altında yazılır; açılışın betiği gecikirse o bloğu bir CSS kurtarması açar. Betik çalışmazsa hiçbir içerik gizlenmez.

Betik çalışır ama gözlemci bir öğeyi hiç görmezse, bir güvenlik ağı 3 saniye sonra beliren bütün öğeleri görünür yapar.

JavaScript olmadan kaydırma sahneleri kartlarını alt alta dizer, duraklatma düğmeleri gizli kalır, sözlük tam listesini gösterir ve iletişim formu düz bir HTML formu olarak gönderilir.

YapınÖnce son hâli çizin, hareketi ondan başlatın.
Yapmayınİçeriği görünmez başlatıp bir betiğin göstermesini beklemeyin.
  • İçerik JavaScript olmadan da eksiksizdir.

    NedenBir betik yüklenmeyebilir, engellenebilir ya da hata verebilir. Sayfanın söylediği şey buna bağlı olmamalı. Bir tarayıcı testi, 404 sayfası dışında derlenen her sayfayı betikler kapalıyken açar: beliren her öğe son yerinde durmalı, ana içerikteki etiketli her görsel çizilmiş olmalı, gizlenmemeli ve kırpılıp kapatılmamalıdır. İkinci bir test ana sayfadaki kanıt sahnesine ayrıntılı bakar.

    TestHer değişiklikte bir testle korunur.

  • İletişim formu JavaScript olmadan da çalışır.

    NedenTarayıcının kendi doğrulamasını kullanan gerçek bir HTML formudur; betik olsa da olmasa da aynı adrese gönderilir.

    TestHer değişiklikte bir testle korunur.

  • Azaltılmış hareket hiçbir öğeyi yarı açık bırakmaz.

    NedenDaha az hareket isteyen kişi, betikler ne yaparsa yapsın içeriğin tamamını görür. Bir tarayıcı testi, 404 sayfası dışında derlenen her sayfayı azaltılmış hareket istenerek açar: beliren hiçbir öğe yerinden kaymış kalmaz, ana içerikteki etiketli her görsel çizilir, motion sınıfı eklenmez ve hiçbir döngü başlamaz. İkinci bir test, ana sayfada beliren her öğenin ayrıca tam opak olduğuna ve gizlenmediğine bakar.

    TestHer değişiklikte bir testle korunur.

Bir şey anlatan görselin bir cümlesi vardır.

#

Bir şey anlatan görsel, cümlesi olan bir resimdir: role=img ve sözlükten gelen, iki dilde yazılmış bir etiket. Yalnızca süsleyen görsel yardımcı teknolojiden gizlenir.

Ekran okuyucunun Hareket bölümündeki mimari diyagramı için okuduğu metin

Sunucuda ajan çalışır; bağlantıyı ajan dışarı doğru açar, platform verileri tutar. Sunucularınıza dışarıdan hiçbir bağlantı gelmez.

AstroO diyagramın açılış etiketleri, bileşenin yazdığı gibi. {d.label}, yukarıdaki cümledir ve sözlükten okunur.
<figure class="fd" data-flow role="img" aria-label={d.label} tabindex="0">
  <svg viewBox="0 0 760 260" preserveAspectRatio="xMidYMid meet">
AstroYapın işaretindeki onay simgesi, bileşenin yazdığı gibi. Yalnızca süstür, bu yüzden aria-hidden taşır.
<span class="lbl"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M3.5 8.5 6.5 11.5 12.5 4.5"></path></svg>{c.do}</span>

Etiket sahneyi izler.

Ana sayfadaki ve Zero Door sayfasındaki kaydırma sahneleri, anlamı adım adım değişen tek bir resimdir ve etiketi de onunla değişir. Ana sayfadaki sahnenin bu dildeki dört cümlesi şunlardır.

  1. Sahne 1: iki eğri kesişir. Bir sunucudaki binlerce ham değişiklik tek bir alarma iner.
  2. Sahne 2: takvim ızgarası. Örnek bir senaryoda on dört gün kanıt arama, ilk iki günün üzerinde iki günlük hedef senaryo.
  3. Sahne 3: sinyal etiketleri tek karar etiketinde birleşir.
  4. Sahne 4: bir sıra bellek bölgesi ve tek boşluk, arkasında dosya olmayan bölge.

Etiketler nasıl yazılır

Kullanımdaki etiketlerin birçoğu “Çizim:” ya da “Sahne N:” ile başlar, ardından neyin çizildiğini ve neyi gösterdiğini söyler. Yalnızca süs olan simgeler, işaretler, tuvaller, ayırıcılar ve oklar aria-hidden=true taşır. Ekranda sayarak artan rakamlar da böyle bir resmin içinde durur; ekran okuyucu sayımı değil, resmin cümlesini duyar.

  • role=img taşıyan bir görsel etiketsiz yayına çıkmaz.

    NedenWCAG 1.1.1. axe adı olmayan bir resim rolünü kırar. Etiketler sözlükten gelir; İngilizce ve Türkçe cümleler yan yana durur.

    TestHer değişiklikte bir testle korunur.

  • Sahne adım değiştirince etiketi de değişir.

    NedenEkran okuyucu kullanıcısı, gören bir okurun o adımda gördüğünü duyar.

    TestHer değişiklikte bir testle korunur.

  • Sayan rakamlar yükselirken okunmaz.

    NedenHer değeri okumak gürültüdür. Zero Door çizimlerindeki sayaçlar cümlesi olan bir resmin içinde yükselir; ekran okuyucu onun yerine o cümleyi duyar. Güven merkezindeki taahhüt rakamları hiç saymaz: yükselirken sayaç, hiç söz verilmemiş değerler gösteriyordu.

    İncelemeBir testle değil, incelemeyle korunur.

  • Süs, aria-hidden taşır.

    NedenAnlam taşımayan bir şekil, ekran okuyucuda yalnızca zaman alır.

    İncelemeBir testle değil, incelemeyle korunur.

Geniş içerik kendi kutusunda kayar.

#

Yeniden akış testi, 404 sayfası dahil derlenen her sayfayı 320 CSS piksel genişlikte açar ve hiçbiri yana kaymaz. Küçülemeyen tablolar, kodlar ve diyagramlar kendi kutularında kayar; kutu klavye odağı alır, böylece fare olmadan da kaydırılabilir.

Masaüstü Lighthouse ölçümündeki sayfalar
SayfaÖlçümİstenen erişilebilirlik puanı
/solutions/banking-and-finance2100
/research/inside-symbiote-malware-deep-dive2100
/legal/terms-of-use2100
/tr/legal/terms-of-use2100
/design/motion2100

Ölçümde 16 sayfa daha

320 piksel genişliğinde bir alan. Tablo kendi kutusunda kayar, çevresindeki sayfa kıpırdamaz. Satırlar, masaüstü Lighthouse ölçümündeki 21 sayfa yolunun en uzun 5 tanesidir ve ölçümün yapılandırmasından okunur.

Kendi içinde kayan kutular

  • Markdown tabloları; site derlenirken odak alabilen bir kutuya sarılır
  • Markdown kod blokları; site derlenirken odak alabilir hâle gelir
  • Bu sayfalardaki tablolar ve kod panelleri
  • 760 pikselden dar ekranda mimari diyagramı; çizimini 620 piksel genişlikte tutar ve küçülmek yerine kayar
  • 320 CSS pikselde hiçbir şey sayfayı yana kaydırmaz.

    NedenWCAG 1.4.10. Dar bir ekranda ya da büyük yakınlaştırmada kimse bir satırı okumak için iki yönde kaydırmak zorunda kalmamalı.

    TestHer değişiklikte bir testle korunur.

  • Kayan bir kutu klavye odağı alabilir.

    NedenWCAG 2.1.1. Klavye kullanıcısı yalnızca odak alabilen bir kutuyu kaydırabilir; axe odak alamayan kayan kutuyu kırar.

    TestHer değişiklikte bir testle korunur.

Hedefler isabet ettirilecek kadar büyük.

#

WCAG 2.2, hedeflerin en az 24 × 24 CSS piksel olmasını ya da daha küçük bir hedefin çevresinde yeterli boşluk bırakılmasını ister. Sitenin kendi biçimlendirdiği kontrol öğeleri bu boyutu karşılar ya da aşar.

  • 24 × 24Adım düğmeleri, ana sayfa sahnesi
  • 24 × 24Adım düğmeleri, Zero Door sahnesi
  • 28 × 28Duraklatma düğmesi
  • 28 × 28Alt bilgideki simgeli bağlantı
  • 40 × 40Dar ekranda menü düğmesi
  • 24 × 24Bu sayfalarda her bölüm başlığının yanındaki # bağlantısı
Gerçek boyut. Her boyut bileşenin kendi CSS'inden okunur; kesik çizgili kare 24 × 24 piksellik alt sınırdır ve axe'nin target-size kuralından okunur.

Bir istisnaya dayanan küçük hedefler

Akan metindeki bağlantılar satır içi istisnaya girer: boyutlarını çevrelerindeki metin satırı belirler. axe target-size onları ölçmez.

  • Sitenin kendi biçimlendirdiği kontrol öğeleri WCAG 2.5.8 hedef boyutunu karşılar.

    NedenWCAG 2.5.8. axe target-size kuralını taranan her sayfada çalıştırır; Zero Door testi de ilk duraklatma düğmesini ayrıca ölçer.

    TestHer değişiklikte bir testle korunur.

Henüz sınanmayanlar.

#

Otomatik kontroller her şeyi kapsamaz. Bildiğimiz boşluklar aşağıda; bu sayfa arkasındaki testlerden daha büyük bir iddia gibi okunmasın diye listelenir.

Sınanmayanlar

  • Simge ve kontrol öğelerinde metin dışı kontrast (1.4.11)axe bunu ölçmez. Bir birim testi, tokenlardan hesaplayarak odak halkasını düşebileceği dört zemine, form alanı kenarlığını da üzerinde durduğu zeminlere karşı sınar ve sitenin üç formunun bu kenarlığı çizdiğine bakar; simgeleri ya da ekranda çizilmiş kontrol öğelerini sınayan bir test yok. Duraklatma düğmesinin, çerçeveli düğmenin ve menü düğmesinin kenarlığını çizen hair-2, kâğıda karşı 1,56:1 ölçülür; bu düğmelerin tanınmak için kenarlığa dayanıp dayanmadığı henüz incelenmedi. Form alanları kenarlıklarını ink-subtle ile çizer: 4,89:1.
  • Renge eşlik eden ikinci işaretDiyagramlarda accent ile raw arasındaki parlaklık oranı 1,30:1'dir; ikisi daha çok renk tonuyla ayrılır. Aynı şeyi bir yönün, işaret biçiminin ya da bir kelimenin de söylemesi kuralı, incelemeyle korunan bir teamüldür; her sahnenin bu ikinci işareti koruduğuna bakan bir test yok.
  • Görünür odak (2.4.7)Halka tek bir genel kuralda tanımlıdır; bileşenler onu kendi aralıklarıyla yeniden yazar. Yalnızca bu sayfadaki canlı kontrol öğelerinde halkanın çizildiği sınanır; bütün sitede sınayan bir test yok. 2.4.11 için menü testi bütün sayfalarda değil, 3 sayfada çalışır.
  • Metin aralığı, büyütme ve ekran yönüaxe yalnızca yakınlaştırmanın kapatılmadığına (1.4.4) ve satır içi stillerin metin aralığını kilitlemediğine (1.4.12) bakar. Hiçbir test bir sayfayı yüzde 200 büyütmede ya da daha geniş aralıklarla açmaz; ekran yönü (1.3.4) sınanmaz, çünkü axe'nin bu kuralı deneyseldir ve çalışmaz.
  • Zorunlu renklerSitede zorunlu renk ya da yüksek kontrast modları için stil yok, sınanmıyor da.
  • İçeriğe geç bağlantısıHer sayfanın ilk öğesidir ve hiçbir test onu kullanmaz.
  • Yardımcı teknolojiEkran okuyucuyla ya da başka bir yardımcı teknolojiyle yapılıp kayda geçmiş bir test yok. Otomatik taramanın karar veremediği ölçütlerden üçünü birçok sayfayı gezen betikli tarayıcı testleri sınar: derlenen her sayfada yeniden akışı (1.4.10), 3 sayfada sabit üst menünün altında kalan odağı (2.4.11) ve taranan her sayfada duraklatma düğmesini (2.2.2). Klavye kullanımı (2.1.1) gibi diğerleri tek bir bileşende sınanır ya da hiç sınanmaz; hiçbirine bir insan bakmaz.
  • TelefonlarTelefon profilinde axe, /legal/ ve /research/ altındaki bütün sayfaları atlar ama her birinin dizin sayfasını yine tarar; mobil Lighthouse ölçümü yalnızca bilgi amaçlıdır. Yeniden akış testi 320 piksele daraltılmış bir masaüstü tarayıcısında, 2.4.11 için menü testi de masaüstü tarayıcısında 1280 × 800 boyutunda ve 390 × 844 boyutuna daraltılmış olarak çalışır; ikisi de telefon profilinde çalışmaz.
  • Duraklatma düğmesinin yeri2.2.2 kontrolü, bir döngü çalışırken sayfada görünür bir düğme olduğuna bakar; her döngünün yanında bir düğme olduğuna bakmaz.
  • Çizimlerin içindeki metinSitenin bileşenlerinde yazılı en küçük boyut 5,4 pikseldir: Plate. SVG metni dar ekranda çizimiyle birlikte küçülür. Bir alt sınır koyan kural yok, ölçen bir test de yok.
  • Ziyaret sırasında hareket ayarını değiştirmekBetikler ayarı sayfa açılırken okur; döngüler ve belirme hareketleri değişikliğe bir sonraki sayfada uyar. CSS kuralları ise hemen uyar.
  • Lighthouse kapsamıLighthouse sabit bir listedeki 21 sayfada çalışır.

Henüz tanımlanmayanlar

  • İzin verilen renk çiftleriaccent-tint üzerinde ink-subtle metni yasaklayan bir kural yok; bu çift 4,44:1 ölçülür, 4,5:1'in altındadır. Bir sayfa kullansa axe yakalardı.
  • Uygunluk raporuSite için yayımlanmış bir erişilebilirlik uygunluk raporu henüz yok.
  • Kontrast tercihiSite, daha fazla kontrast isteğine (prefers-contrast) yanıt vermez.

Beyan ve bildirim

#

Kısa, herkese açık beyan Güven merkezindedir; bu sayfa onun arkasındaki ayrıntıdır ve testleri eksiksiz listeler.

Sitede bir şey klavyenizle, tarayıcı ayarlarınızla ya da yardımcı teknolojinizle çalışmıyorsa iletişim formundan bize bildirin. Sayfayı ve ne yapmaya çalıştığınızı yazın; size dönüş yaparız.

Bir sorun bildirinGüven merkezindeki erişilebilirlik beyanı