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.
| Ölçüt ya da kontrol | Nasıl sınanır |
|---|---|
| WCAG 2.2 A ve AA, otomatik | axe-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, gizle | Taranan 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ır | Ana 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.8 | Dö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çerik | Geniş 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 Klavye | Ana 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ı izler | Bir 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 dili | Tü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 geneli | 404 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 sayfa | Ana 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 geneli | 404 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 sayfa | Betikler 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şilebilirlik | Masaüstü Lighthouse 21 sayfayı her birinde 2 kez açar; her sayfanın her ölçümü erişilebilirlikte 100 puan almak zorundadır. |
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,wcag22aaetiketleriyle ç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ış
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.
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.
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-ambientiş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ı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.
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.
2.5.8 Hedef boyutu (en az)
Nasıl sınanır
wcag22aaetiket kümesindeki axe kuralıtarget-size, taranan her sayfada çalışır.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.
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.
1.1.1 ve 4.1.2 Etiket adımı izler
Nasıl sınanırBir adım seçmek, sahnenin
role=imgetiketini sözlükteki o adımın cümlesiyle değiştirir.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.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=entaşır. Türkçe sektör sayfalarında ürünün İngilizce çıktısından alınan kanıt satırılang=entaşır; Türkçe yazılmış kanıt satırı dil işareti taşımaz.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.
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.
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.
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.
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.
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.
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.
.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
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
.btn sınıfıdır.| Seçici | Aralık |
|---|---|
| :focus-visible | 3px |
| .fd:focus-visible | 2px |
| li:focus-within | -2px |
| .v:focus-visible | yok, bkz. :focus-within |
| .tw:focus-visible | 2px |
| pre:focus-visible | -2px |
| .tw:focus-visible | 2px |
| .t:focus-visible | yok, bkz. :focus-within |
| .row:focus-within | -2px |
| .tw:focus-visible | 2px |
| .tw:focus-visible | 2px |
| .tw:focus-visible | 2px |
| .tw:focus-visible | 2px |
| .tw:focus-visible | 2px |
| .b:focus-visible | 2px |
| .tg:focus-visible | 2px |
| .chip:focus-visible, .play:focus-visible | 2px |
| .b:focus-visible, .card:focus-visible | 2px |
| .in:focus-visible | 1px |
| .tw:focus-visible | 2px |
| .dots button:focus-visible | 0 |
| .mb:focus-visible | 2px |
| .integ summary:focus-visible | 3px |
| .errs .err:focus-visible | 2px |
| input:focus-visible, select:focus-visible, textarea:focus-visible | 2px |
| input:focus-visible | 1px |
| .card:focus-within | 2px |
| .title a:focus-visible | yok, bkz. :focus-within |
| .file pre:focus-visible | -2px |
| .dots button:focus-visible | 0 |
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.
- Sabit üst menü · 67px
- 17px boşluk
- scroll-margin-top: 84px
- scroll-margin-bottom: 16px
: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ı
outlinealt ö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-withinile karta geçer ve hedefin tamamını çevreler. Bir bileşen,:focus-withinkuralı olmayan bir dosyada halkayı kaldırırsa bu sayfanın derlemesi durur.DerlemeHer değişiklikte derleme hattıyla korunur.
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.
| Token | paper üzerinde | paper-2 üzerinde |
|---|---|---|
| accent | 4,38:1 · 3:1'i karşılar | 4,12:1 · 3:1'i karşılar |
| ink-muted | 6,85:1 · 3:1'i karşılar | 6,44:1 · 3:1'i karşılar |
| ink-subtle | 4,89:1 · 3:1'i karşılar | 4,60:1 · 3:1'i karşılar |
| hair-2 | 1,56:1 · 3:1'in altında | 1,47:1 · 3:1'in altında |
| hair | 1,27:1 · 3:1'in altında | 1,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.
Bir renk çifti seçmeden önce kontrast tablosuna bakı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
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-deepkullanı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.
@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-ambientiş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-pathya 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.
İç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.
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.
<figure class="fd" data-flow role="img" aria-label={d.label} tabindex="0">
<svg viewBox="0 0 760 260" preserveAspectRatio="xMidYMid meet"><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.
- Sahne 1: iki eğri kesişir. Bir sunucudaki binlerce ham değişiklik tek bir alarma iner.
- 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.
- Sahne 3: sinyal etiketleri tek karar etiketinde birleşir.
- 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=imgtaşı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-hiddentaşı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.
| Sayfa | Ölçüm | İstenen erişilebilirlik puanı |
|---|---|---|
| /solutions/banking-and-finance | 2 | 100 |
| /research/inside-symbiote-malware-deep-dive | 2 | 100 |
| /legal/terms-of-use | 2 | 100 |
| /tr/legal/terms-of-use | 2 | 100 |
| /design/motion | 2 | 100 |
Ölçümde 16 sayfa daha
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ı
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-sizekuralı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.