Scope and Limits
Scoreba scans your site with automated tools (axe-core-based scanning plus our own Playwright checks) and, for some criteria, AI-assisted analysis. But let's be honest: no automated tool, ours included, can guarantee "full compliance" with WCAG. Based on published research, automated tools can reliably detect only a portion of WCAG success criteria; the rest — contextual keyboard usability, the meaningfulness of a screen-reader experience, cognitive accessibility, the semantic correctness of a form or checkout flow — can only be evaluated through an EXPERT, HUMAN audit.
This page lists, criterion by criterion, which ones we evaluate fully automatically, which are partial (an automated signal exists but can't fully verify the context), and which are entirely manual (no automated check exists in this codebase at all). These tables are not hand-written — they're generated directly from the real check references in our codebase, and a separate test verifies before every release that every referenced check actually exists in the code and can actually produce a finding.
WCAG 2.2 Level A and AA — 55 Success Criteria
The table below lists every WCAG 2.2 Level A and AA success criterion by coverage status. For 'Partial' criteria, a note explains exactly what the automated check does and does not verify.
Of 55 criteria, 9 are fully automatic, 44 are partial, and 2 are manual.
How partial is "partially measured"?
For criteria where we have an automated check that doesn't cover the whole criterion, we show one of three bands. These bands are not a score — they summarise the explanation in that row.
- Substantially measured
We automatically detect most of this criterion's failure modes. What remains is usually a judgement of meaning — for example, we measure the presence of alt text precisely, but whether it is accurate takes judgement. What to do: fix the findings; this criterion usually doesn't also require an expert audit.
- Partially measured
We measure a significant part of the criterion, but common patterns can escape us — for example media embedded in an iframe, or text over a gradient background. What to do: fix the findings, and also review the areas left out of scope by hand; the row's explanation states which areas those are.
- Limited signal
For this criterion we can only measure a narrow signal; most of it cannot be reliably evaluated by automated tools, ours included — for example, telling whether a touch gesture can also be performed with a single finger requires seeing how the code behaves at runtime. This criterion requires human review: a clean result does not mean the criterion is met. What to do: have an accessibility specialist review this criterion by hand.
| Criterion | Name | Coverage Status | Explanation |
|---|---|---|---|
| 1.3.1 | Bilgi ve İlişkiler / Info and Relationships | Fully Automatic | list, listitem, definition-list, td-headers-attr, th-has-data-cells + runContentStructureCheck (başlık hiyerarşisi, tablo başlığı, fieldset/legend, pseudoNavRegions, nonSemanticTextBlocks, cssOnlyEmphasis) |
| 1.3.4 | Yönlendirme / Orientation | Fully Automatic | css-orientation-lock (axe-core'da 'experimental' etiketli, axeRunner.ts'te elle etkinleştirildi — bkz. proje geçmişi) |
| 1.3.5 | Girdi Amacının Belirlenmesi / Identify Input Purpose | Fully Automatic | autocomplete-valid |
| 1.4.3 | Kontrast (Minimum) / Contrast (Minimum) | Fully Automatic | color-contrast (degrade/görsel arka planda karar verilemeyen öğeler skorlanmaz — raporun 'İncelenmesi Gerekenler' bölümünde listelenir) + displayModeCheck (karanlık mod destekleniyorsa kontrast yeniden kontrolü) |
| 1.4.12 | Metin Aralığı / Text Spacing | Fully Automatic | avoid-inline-spacing |
| 2.4.2 | Sayfa Başlığı / Page Titled | Fully Automatic | document-title |
| 2.5.3 | İsimlerin Kullanılan Etiketi İçermesi / Label in Name | Fully Automatic | label-content-name-mismatch (axe-core'da 'experimental' etiketli, axeRunner.ts'te elle etkinleştirildi — bkz. proje geçmişi) |
| 3.1.1 | Varsayılan İçerik Dili / Language of Page | Fully Automatic | html-has-lang, html-lang-valid |
| 3.1.2 | Parçaların Dili / Language of Parts | Fully Automatic | valid-lang |
| 1.1.1 | Metinsel Olmayan İçerik (Non-text Content) | Substantially measured | image-alt + checkAltText |
| 1.2.1 | Sadece Ses ve Sadece Video / Audio-only and Video-only (Prerecorded) | Partially measured | runMediaPresenceCheck (native <audio> için transkript bağlantısı; iframe embed medya içeriği değerlendirilemez ama varlığı artık raporlanır) |
| 1.2.2 | Altyazılar / Captions (Prerecorded) | Substantially measured | video-caption + runMediaPresenceCheck (iframe embed medyanın varlığı kapsam sınırı olarak bildirilir) |
| 1.2.3 | Sesli Betimleme veya Medya Alternatifi / Audio Description or Media Alternative (Prerecorded) | Partially measured | runMediaPresenceCheck |
| 1.2.5 | Sesli Betimleme (Önceden Kaydedilmiş) / Audio Description (Prerecorded) | Partially measured | runMediaPresenceCheck (bulgu 1.2.3 altında raporlanır — sesli betimleme yokluğu iki kriterin ortak sinyalidir) |
| 1.3.2 | Anlamlı Sıralama / Meaningful Sequence | Partially measured | readingOrderCheck + checkMeaningfulSequence |
| 1.3.3 | Duyusal Özellikler / Sensory Characteristics | Partially measured | checkSensoryLanguage |
| 1.4.1 | Renk Kullanımı / Use of Color | Partially measured | link-in-text-block + runColorOnlyStatusCheck (aktif sekme deseni) + runFormInteractionCheck (form hatası sadece renkle mi gösteriliyor — gönderim öncesi/sonrası renk ile metin/simge/aria-invalid karşılaştırması; grafik/lejant renk kodlaması kapsam dışı) |
| 1.4.2 | Ses Kontrolü / Audio Control | Substantially measured | runAudioAutoplayCheck (3sn + sesli otomatik çalma ölçümü + durdurma mekanizmasının tıklanarak doğrulanması; iframe embed medyası kapsam dışı) |
| 1.4.4 | Metni Yeniden Boyutlandırma / Resize Text | Substantially measured | meta-viewport + displayModeCheck (%200 yakınlaştırmada yatay taşma/kesilen metin) |
| 1.4.5 | Metin Görselleri / Images of Text | Partially measured | checkTextInImage |
| 1.4.10 | Yeniden Akış / Reflow | Substantially measured | reflowCheck (320px yatay taşma — sayfa geneli, örneklemsiz) + displayModeCheck (%200'de üst üste binme — İçerik kaybı boyutu, ilk 60 mutlak-konumlu öğe örneklemi) |
| 1.4.11 | Metin Olmayan Kontrast / Non-text Contrast | Partially measured | nonTextContrastCheck + displayModeCheck (yüksek kontrast modda görünürlük kaybı) |
| 1.4.13 | Üzerine Gelme veya Odaklanma ile Ortaya Çıkan İçerik / Content on Hover or Focus | Partially measured | hoverContentCheck (aria-describedby tetikleyicileri + stylesheet'ten çıkarılan CSS :hover menüleri, en fazla 6 aday; hoverable/persistent alt koşulları kapsam dışı) |
| 2.1.1 | Klavye Erişimi / Keyboard | Substantially measured | frame-focusable-content, scrollable-region-focusable + keyboardCheck + accordionTabsStateCheck (etkileşimli durumda açılan içerik/sekme klavye erişimi) + keyboardTaskFlowCheck (birincil görevin uçtan uca sadece klavyeyle tamamlanabilirliği) + runAutoPopupCheck (otomatik açılan pop-up varlığı) |
| 2.1.2 | Klavye Kilitlenmesinin Olmaması / No Keyboard Trap | Substantially measured | keyboardCheck (Tab gezinmesi 400 basımla sınırlı) + modalStateCheck (açık modalda Escape ile kaçış testi) |
| 2.1.4 | Klavye Kısayolları / Character Key Shortcuts | Limited signal | runCharKeyShortcutProbe (davranışsal tuş sondajı — yalnız pozitif tespit bulgu üretir, negatif sonuç kanıt sayılmaz) |
| 2.2.1 | Zaman Kontrolü / Timing Adjustable | Limited signal | meta-refresh + runTimeLimitCheck (20sn üstü setTimeout/setInterval kaydı ve ekranda gerçekten azalan geri sayım — Ölçülen: zaman sınırının varlığı; Ölçülmeyen: sınırın ayarlanabilir olması, yani kriterin asıl şartı — bunu ölçmek sınırın dolmasını beklemeyi gerektirir ve tarama bütçesinde yapılamaz) |
| 2.2.2 | Duraklatma, Durdurma, Gizleme / Pause, Stop, Hide | Partially measured | blink, marquee + displayModeCheck (prefers-reduced-motion altında sonsuz döngüler) + runLongMotionCheck (5sn + süren sonlu animasyon ve otomatik dönen carousel; duraklat kontrolü varsa bulgu üretilmez) |
| 2.3.1 | Üç Kere veya Aşağısı Yanıp Sönme Eşiği / Three Flashes or Below Threshold | Partially measured | runFlickerCheck (faz 9.1 — Tüm kademelerde varsayılan açık; ~6sn ekran görüntüsü örneklemesi, ağır katman sayfalarında) |
| 2.4.1 | Tekrarlanan Blokların Atlanabilmesi / Bypass Blocks | Substantially measured | runBypassCheck (atlama bağlantısı Enter ile davranışsal sınanır; landmark + başlık yapısı alternatif mekanizma kabul edilir) |
| 2.4.3 | Odaklama Sırası / Focus Order | Substantially measured | focusOrderCheck (60 Tab basımı örneklemi) + modalStateCheck (modal odak yönetimi/Tab-döngüsü) + accordionTabsStateCheck (roving tabindex) + spaRouteCheck (SPA rota değişiminde odak yönetimi) |
| 2.4.4 | Bağlantının Maksadı / Link Purpose (In Context) | Substantially measured | link-name + checkLinkText |
| 2.4.5 | Birden Fazla Yol / Multiple Ways | Substantially measured | multipleWaysCheck (arama kutusuna gerçek sorgu yazılıp sonuç ürettiği doğrulanır; gizli girdiler ve salt-dış-bağlantılı üstbilgiler sayılmaz) |
| 2.4.6 | Başlıklar ve Etiketler / Headings and Labels | Partially measured | checkHeadingLabelQuality |
| 2.4.7 | Odak Görünürlüğü / Focus Visible | Partially measured | focusIndicatorCheck (Tab ile ulaşılan öğelerden baş/orta/son katmanlarına dağıtılmış 39 öğe; Tab gezinmesi 400 basımla sınırlı) + displayModeCheck (yüksek kontrast modda odak göstergesi kaybı) |
| 2.4.11 | Odak Engellenmiyor (Minimum) / Focus Not Obscured (Minimum) (WCAG 2.2) | Substantially measured | focusNotObscuredCheck (baş/orta/son katmanlı 12 öğe örneklemi; doğal odak kaydırması + üst-kenar okuması) |
| 2.5.2 | İşaretçi İptali / Pointer Cancellation | Limited signal | pointerInteractionCheck |
| 2.5.4 | Hareket ile Çalıştırma / Motion Actuation | Limited signal | motionActuationCheck |
| 2.5.7 | Sürükleme Hareketleri / Dragging Movements (WCAG 2.2) | Partially measured | pointerInteractionCheck |
| 2.5.8 | Hedef Boyutu (Minimum) / Target Size (Minimum) (WCAG 2.2) | Substantially measured | target-size (axe-core'da varsayılan kapalı gelir, axeRunner.ts'te elle etkinleştirildi; 'eşdeğer hedef' istisnası değerlendirilemez) |
| 3.2.1 | Odaklanma Üzerine / On Focus | Substantially measured | contextChangeCheck (şablon temsilcisi sayfalarda ilk 40, şablon kopyalarında ilk 8 odaklanabilir öğe) |
| 3.2.2 | Girdi Üzerine / On Input | Substantially measured | contextChangeCheck (şablon temsilcisi sayfalarda ilk 50, şablon kopyalarında ilk 6 form alanı) |
| 3.2.3 | Tutarlı Gezinme / Consistent Navigation | Partially measured | crossPageConsistencyCheck |
| 3.2.4 | Tutarlı Tanımlama / Consistent Identification | Partially measured | crossPageConsistencyCheck (10 işlev türü karşılaştırılır: sepet, arama, dil, giriş, hesap, iletişim, favori, paylaş, indir, devamını oku) |
| 3.2.6 | Tutarlı Yardım / Consistent Help (WCAG 2.2) | Partially measured | crossPageConsistencyCheck |
| 3.3.1 | Hata Tanımlaması / Error Identification | Substantially measured | formInteractionCheck (sayfa başına en fazla 1 'güvenli' formda gerçek gönderim denemesi) |
| 3.3.2 | Etiketler ve Talimatlar / Labels or Instructions | Partially measured | runContentStructureCheck (zorunlu alan işareti ve format talimatı varlığı) + runLabelInstructionCheck (yalnızca-placeholder etiket; biçim kısıtı olan alanda talimat yokluğu — etiketin/talimatın anlamlı olup olmadığı kapsam dışı) |
| 3.3.3 | Hata Önerisi / Error Suggestion | Partially measured | checkErrorMessageQuality |
| 3.3.4 | Hata Önleme (Yasal, Finansal, Veri) / Error Prevention (Legal, Financial, Data) | Partially measured | formInteractionCheck |
| 3.3.7 | Tekrarlanan Giriş / Redundant Entry (WCAG 2.2) | Partially measured | formInteractionCheck |
| 3.3.8 | Erişilebilir Kimlik Doğrulama (Minimum) / Accessible Authentication (Minimum) (WCAG 2.2) | Partially measured | authenticationCheck |
| 4.1.2 | İsim, Rol, Değer / Name, Role, Value | Substantially measured | aria-*, button-name, label, select-name, summary-name + decorativeCharCheck + modalStateCheck (diyalog erişilebilir adı) + accordionTabsStateCheck (aria-expanded/aria-selected güncellemesi) + checkScreenReaderTranscriptQuality (seslendirme dökümünde adsız yığılma/tekrar/bağlam kaybı) |
| 4.1.3 | Durum Mesajları / Status Messages | Partially measured | contentInventoryCheck (aria-live/role=status/alert varlığı) + spaRouteCheck (SPA rota değişiminde canlı bölgenin gerçekten güncellenip güncellenmediği, sezgisel/zamanlama tabanlı) |
| 1.2.4 | Altyazılar (Canlı) / Captions (Live) | Manual | — |
| 2.5.1 | İşaretçi Hareketleri / Pointer Gestures | Manual | — |
How Monthly Monitoring differs in scope
Monthly Monitoring is designed to catch CHANGES on your site: every cycle rescans your pages and compares them to the previous state. However, Monitoring does not repeat the ENTIRE Full Audit every month — the heavy checks below run at full depth in the Full Audit but are skipped in monthly cycles (a regression in these areas will not be caught by Monitoring):
- Display modes (high contrast, reduced motion, 200% zoom, dark mode)Related criteria: 1.4.3, 1.4.4, 1.4.10, 1.4.11, 2.2.2, 2.4.7
- Keyboard task flow (completing the primary task end-to-end with the keyboard only)Related criteria: 2.1.1
- Screen reader transcript and its quality evaluationRelated criteria: 4.1.2
- Single-character keyboard shortcut probeRelated criteria: 2.1.4
- Flash sampling (runs only at the Enterprise tier even in the Full Audit)Related criteria: 2.3.1
Everything else — the axe scan, keyboard access, focus checks, 320px reflow, form interaction, modal/tab/accordion state scanning, cross-page consistency, and the AI-assisted content checks — keeps running in the monthly cycles too.
Türkiye Ministry Checklist
The A-Level checklist published by Türkiye's Ministry of Family and Social Services (kept below in its original Turkish, as an official regulatory text) has two kinds of questions: 'scope detection' questions determine WHICH content types exist on your site (e.g. "is there video content?"); 'conformance' questions ask whether that content MEETS the requirements (e.g. "does that video have an audio description?"). The two are shown in separate tables below.
Scope Detection Questions
Of 59 criteria, 28 are fully automatic, 26 are partial, and 5 are manual.
| # | Question | Criterion | Coverage Status | Explanation |
|---|---|---|---|---|
| 1 | Web sayfasında / Mobil uygulamada metinsel olmayan içerikler (görsel, grafik, ikon, video, ses, animasyon, CAPTCHA vb.) bulunuyor mu? | 1.1.1 | Fully Automatic | contentInventoryCheck |
| 2 | Bilgi sunan metinsel olmayan içerikler (görsel, grafik, infografik, harita, diyagram, veri görselleştirmesi vb.) bulunuyor mu? | 1.1.1 | Partial | contentInventoryCheck (boyut + alt-metin sezgisi — sınıflandırma değil, aday tespiti) |
| 4 | Dekoratif amaçlı metinsel olmayan içerikler bulunuyor mu? | 1.1.1 | Fully Automatic | contentInventoryCheck |
| 6 | Test veya alıştırma amacıyla kullanılan metinsel olmayan içerikler bulunuyor mu? | 1.1.1 | Manual | — |
| 8 | Belirli bir duyusal deneyim sunmak amacıyla kullanılan metinsel olmayan içerikler bulunuyor mu? | 1.1.1 | Manual | — |
| 10 | CAPTCHA doğrulaması bulunuyor mu? | 1.1.1 | Fully Automatic | contentInventoryCheck |
| 13 | Zamana dayalı medya içerikleri (video, film, slayt, ses kaydı gibi) bulunuyor mu? | 1.1.1 | Fully Automatic | contentInventoryCheck |
| 15 | Metin içermeyen veya yalnızca simge ile sunulan arayüz bileşenleri bulunuyor mu? | 1.1.1 | Fully Automatic | contentInventoryCheck |
| 17 | Yalnızca ses içeren zamana dayalı medya (podcast, ses kaydı, konuşma kaydı gibi) bulunuyor mu? | 1.2.1 | Fully Automatic | contentInventoryCheck |
| 19 | Yalnızca görüntü içeren zamana dayalı medya (sessiz video, animasyon, ekran kaydı vb.) bulunuyor mu? | 1.2.1 | Partial | contentInventoryCheck (muted + autoplay video sezgisi — kesin değil) |
| 21 | Önceden kaydedilmiş, hem ses hem görüntü içeren zamana dayalı medya (multimedya) içerikleri bulunuyor mu? | 1.2.2 | Fully Automatic | contentInventoryCheck |
| 24 | Önceden kaydedilmiş video içeriklerinde, sesle aktarılmayan ancak anlaşılması için gerekli görsel bilgiler bulunuyor mu? | 1.2.3 | Partial | runMediaPresenceCheck (track kind="descriptions" VARLIĞI — betimlemenin KALİTESİ/doğruluğu değil) |
| 26 | Bilgi/yapı/ilişkileri ifade eden arayüz bileşenleri, içerik yapıları veya metnin yapısal sunumuna ilişkin öğeler bulunuyor mu? | 1.3.1 | Partial | contentInventoryCheck (başlık/liste/tablo/nav sayımı — yapısal öğe VARLIĞI, ilişkilerin DOĞRU kodlanıp kodlanmadığı değil) |
| 27 | İçerik yapısını tanımlayan başlıklar bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 29 | Liste yapısı (list) bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 31 | Tablolar (table) bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 32 | Tablolar, veri tablosu niteliğinde mi? | 1.3.1 | Partial | contentInventoryCheck (th/scope varlığı sezgisi) |
| 36 | Gezinti (navigasyon) bağlantılarının bulunduğu bir bölüm bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 38 | Form elemanları (metin alanı, onay kutusu, radyo düğmesi, seçim listesi vb.) bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 40 | Birbiriyle ilişkili form alan grupları (radyo/onay kutusu/seçenek grupları gibi) bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 42 | Paragraf yapısına sahip metin içerikleri bulunuyor mu? | 1.3.1 | Fully Automatic | contentInventoryCheck |
| 44 | Bilgilerin yalnızca görsel biçimlendirme (renk, kalın veya italik) kullanılarak vurgulandığı içerikler bulunuyor mu? | 1.3.1 | Partial | runContentStructureCheck (cssOnlyEmphasis — semantik etiket OLMADAN CSS ile kalın/italik metin VARLIĞI) |
| 46 | İçeriğin anlamının doğru iletilebilmesi için belirli bir sırayla okunması gereken bir yapı bulunuyor mu? | 1.3.2 | Partial | readingOrderCheck + checkMeaningfulSequence |
| 49 | Kullanıcıya bir içeriği/arayüz öğesini bulması ya da kullanması için yönlendirme veya kullanım talimatı veriliyor mu? | 1.3.3 | Partial | checkSensoryLanguage |
| 51 | Bilgi, durum, kullanıcı yanıtı veya eylemin renk kullanılarak ifade edildiği içerikler bulunuyor mu? | 1.4.1 | Partial | runColorOnlyStatusCheck (SADECE aktif sekme deseni — form hatası/zorunluluk/stok durumu gibi diğer örnekler bu turda KAPSANMIYOR) |
| 54 | Kullanıcı tarafından başlatılmadan otomatik başlayan ve 3 saniyeden uzun süren ses içeriği bulunuyor mu? | 1.4.2 | Fully Automatic | contentInventoryCheck |
| 56 | Klavye veya platforma uygun eşdeğer giriş yöntemleriyle kullanılabilmesi gereken etkileşimli bileşenler bulunuyor mu? | 2.1.1 | Fully Automatic | contentInventoryCheck |
| 57 | Medya oynatıcı bileşenleri bulunuyor mu? | 2.1.1 | Fully Automatic | contentInventoryCheck |
| 59 | Açılır menüler (dropdown menu) bulunuyor mu? | 2.1.1 | Partial | contentInventoryCheck (aria-haspopup varlığı) |
| 61 | Diyalog kutuları (dialog box) bulunuyor mu? | 2.1.1 | Fully Automatic | contentInventoryCheck |
| 63 | Otomatik açılır pencereler (pop-up) bulunuyor mu? | 2.1.1 | Partial | runAutoPopupCheck (yüklemeden sonraki pasif bekleme sırasında hidden→visible geçişi — sayfa yüklenirken ZATEN açık olan pop-up'lar kapsam DIŞI) |
| 65 | Fare/dokunma etkileşimiyle (hover, focus, tıklama) durumu değişen veya ek içerik ortaya çıkan bağlantı/bileşenler bulunuyor mu? | 2.1.1 | Partial | contentInventoryCheck (hoverFocusRevealCount — hover/focus olay dinleyicisi/aria-describedby VARLIĞI) + runHoverContentCheck (Esc ile kapanma alt koşulu, sadece aria-describedby deseni) |
| 67 | Sürükle-bırak (drag-and-drop) işlevleri bulunuyor mu? | 2.1.1 | Fully Automatic | contentInventoryCheck |
| 69 | Kullanıcı etkileşimi veya sistem tarafından tetiklenen, kullanıcının kontrol etmesi gereken içerik/işlemler bulunuyor mu? | 2.1.2 | Partial | contentInventoryCheck (ariaLiveRegionCount — aria-live/role=status/alert bölgelerinin VARLIĞI, kullanıcı KONTROLÜ sağlanıp sağlanmadığı DEĞİL) |
| 71 | Tek bir karakterle (harf, sayı, noktalama, sembol) tetiklenen klavye kısayolları bulunuyor mu? | 2.1.4 | Partial | runCharKeyShortcutProbe (davranışsal tuş sondajı — POZİTİF tespit kesin cevaptır, negatif sonuç kanıt değildir) |
| 73 | Kullanıcı arayüzünde gerçekleştirilen işlemler için zaman sınırlaması bulunuyor mu (istisnalar hariç)? | 2.2.1 | Partial | meta-refresh (yalnız meta-refresh ile otomatik yenilenme tespit edilir; JS oturum zaman aşımı ve geri sayımlar kapsam dışı) |
| 75 | Otomatik başlayan, hareket eden/kayan/yanıp sönen veya otomatik güncellenen bir bilgi/bileşen bulunuyor mu? | 2.2.2 | Partial | contentInventoryCheck (sadece blink/marquee etiketi, CSS animasyonlarını YAKALAMAZ) |
| 76 | Bu içerik 5 saniyeden uzun süre kesintisiz devam ediyor mu? | 2.2.2 | Manual | — |
| 77 | Bu içerik, durdurulması sayfanın temel işlevini engelleyecek zorunlu bir işlevin parçası mı? | 2.2.2 | Manual | — |
| 79 | Yanıp sönme (flashing) etkisi içeren bilgi veya arayüz bileşenleri bulunuyor mu? | 2.3.1 | Partial | runFlickerCheck (opt-in — SADECE Kurumsal kademede varsayılan açık; ekran görüntüsü örneklemesine dayanır, DAİMA manuel doğrulama gerektirir) |
| 80 | Bu içerik, 1 saniyelik aralıkta saniyede 3 kereden fazla ışık çakması içeriyor mu? | 2.3.1 | Partial | runFlickerCheck (aynı sinyal — saniyede 3 + geçiş eşiği) |
| 82 | Farklı sayfalarda/ekranlarda tekrar eden içerik blokları (menü, üst gezinme çubuğu vb.) bulunuyor mu? | 2.4.1 | Partial | contentInventoryCheck (tek sayfada nav/header varlığı — GERÇEK tekrar sayfalar arası doğrulanmaz) |
| 86 | Klavye veya platforma uygun odaklama yöntemiyle erişilebilen etkileşimli öğeler bulunuyor mu? | 2.4.3 | Partial | focusOrderCheck |
| 88 | İç sayfalara, uygulama içi ekranlara veya farklı kaynaklara yönlendiren bağlantılar bulunuyor mu? | 2.4.4 | Fully Automatic | contentInventoryCheck |
| 91 | Yalnızca simge ile sunulan veya görsel olarak kısa tutulan bağlantılar bulunuyor mu? | 2.4.4 | Partial | contentInventoryCheck |
| 93 | Aynı bağlantı metnine/erişilebilir ada sahip birden fazla bağlantı bulunuyor mu? | 2.4.4 | Fully Automatic | contentInventoryCheck |
| 95 | Birden fazla işaretçi hareketi veya belirli bir hareket (gesture) gerektiren işaretçi etkileşimleri bulunuyor mu? | 2.5.1 | Manual | — |
| 97 | İşaretçi (pointer) ile tetiklenen işlemler bulunuyor mu (istisnalar hariç)? | 2.5.2 | Partial | pointerInteractionCheck |
| 99 | Kullanıcıya görünür metin etiketleri (label) ile sunulan arayüz bileşenleri bulunuyor mu? | 2.5.3 | Fully Automatic | contentInventoryCheck |
| 101 | Cihazın hareket ettirilmesine (sallama, döndürme, eğme) bağlı gerçekleştirilen bir işlem bulunuyor mu (istisnalar hariç)? | 2.5.4 | Partial | motionActuationCheck |
| 105 | Odaklanılabilen (klavye/platforma uygun yöntemlerle erişilebilen) arayüz bileşenleri bulunuyor mu? | 3.2.1 | Fully Automatic | contextChangeCheck |
| 107 | Kullanıcı bir arayüz bileşenine girdi verdiğinde bağlam değişikliği gerçekleşiyor mu? | 3.2.2 | Fully Automatic | contextChangeCheck |
| 109 | İletişim sayfaları, insan etkileşimli yardım kanalları, SSS/destek içerikleri veya chatbot gibi yardım mekanizmaları bulunuyor mu? | 3.2.6 | Partial | crossPageConsistencyCheck |
| 111 | Kullanıcının veri girişi yapmasını gerektiren ve hata yapma olasılığı bulunan bir işlem bulunuyor mu? | 3.3.1 | Partial | formInteractionCheck |
| 115 | Kullanıcıdan veri girişi veya seçim yapılması istenen alanlar/bileşenler bulunuyor mu? | 3.3.2 | Fully Automatic | contentInventoryCheck |
| 117 | Belirli bir formatta veya kurala bağlı veri girişi gerektiren alanlar bulunuyor mu? | 3.3.2 | Fully Automatic | contentInventoryCheck |
| 119 | Zorunlu doldurulması gereken alanlar bulunuyor mu? | 3.3.2 | Fully Automatic | contentInventoryCheck |
| 121 | Aynı adımlar dizisi içinde, kullanıcıdan daha önce girdiği bir bilginin tekrar girilmesi isteniyor mu (istisnalar hariç)? | 3.3.7 | Partial | formInteractionCheck |
| 123 | Kullanıcı arayüzü bileşenleri (form alanları, bağlantılar, butonlar, sekmeler, menüler vb.) bulunuyor mu? | 4.1.2 | Fully Automatic | contentInventoryCheck |
Conformance Questions
Of 67 criteria, 15 are fully automatic, 43 are partial, and 9 are manual.
| # | Question | Criterion | Coverage Status | Explanation |
|---|---|---|---|---|
| 3 | Bilgi sunan metinsel olmayan içerikler için yardımcı teknolojiler tarafından algılanabilir metin alternatifleri sağlandı mı? | 1.1.1 | Fully Automatic | image-alt |
| 5 | Dekoratif amaçlı metinsel olmayan içerikler, yardımcı teknolojiler tarafından göz ardı edilecek şekilde işaretlendi mi? | 1.1.1 | Partial | image-alt |
| 7 | Test/alıştırma içerikleri için, sonucu ifşa etmeyen açıklayıcı bir metin alternatifi sunuldu mu? | 1.1.1 | Manual | — |
| 9 | Belirli bir duyusal deneyim sunan içerikler için algılanabilir tanımlayıcı metin alternatifleri sağlandı mı? | 1.1.1 | Manual | — |
| 11 | CAPTCHA için içeriğin amacını açıklayan bir metin alternatifi sağlandı mı? | 1.1.1 | Manual | — |
| 12 | CAPTCHA için farklı duyusal algı türlerine dayalı alternatif veya CAPTCHA dışı erişilebilir doğrulama yöntemleri sağlandı mı? | 1.1.1 | Manual | — |
| 14 | Zamana dayalı medya içerikleri için algılanabilir bir metin alternatifi (erişilebilir ad) sağlandı mı? | 1.1.1 | Partial | video-caption |
| 16 | Bu bileşenler için, amacını ifade eden ve yardımcı teknolojiler tarafından algılanabilir bir erişilebilir ad sağlandı mı? | 1.1.1 | Fully Automatic | button-name / input-button-name / aria-command-name |
| 18 | Yalnızca ses içeren medya için içeriğin tamamını sunan bir transkript sağlandı mı? | 1.2.1 | Partial | mediaPresenceCheck |
| 20 | Yalnızca görüntü içeren medya için eşdeğer bir metin alternatifi veya sesli açıklama sağlandı mı? | 1.2.1 | Manual | — |
| 22 | Multimedya içerikleri için konuşmaları ve önemli ses bilgilerini içeren senkronize altyazılar sağlandı mı? | 1.2.2 | Partial | video-caption |
| 23 | Sağlanan altyazılar konuşmaları, konuşmacı değişimlerini ve önemli ses bilgilerini eksiksiz ve doğru içeriyor mu? | 1.2.2 | Manual | — |
| 25 | Bu görsel bilgiler için sesli betimleme veya metin temelli medya alternatifi sağlanıyor mu? | 1.2.3 | Partial | mediaPresenceCheck |
| 28 | Başlıklar, mantıksal bir hiyerarşi içinde ve programatik olarak tanımlanmış uygun başlık yapıları kullanılarak oluşturuldu mu? | 1.3.1 | Partial | contentInventoryCheck |
| 30 | Listeler, platforma uygun semantik yapılar kullanılarak programatik olarak tanımlandı mı? | 1.3.1 | Fully Automatic | list / listitem / definition-list / dlitem |
| 33 | Veri tabloları, doğru semantik yapılar kullanılarak programatik olarak tanımlandı mı? | 1.3.1 | Fully Automatic | td-headers-attr / th-has-data-cells |
| 34 | Veri tablolarında, tablonun amacını tanımlayan erişilebilir bir başlık sağlandı mı? | 1.3.1 | Partial | contentInventoryCheck |
| 35 | Veri tablolarında satır/sütun başlıkları, bilgi ve ilişkileri gösterecek şekilde programatik olarak tanımlandı mı? | 1.3.1 | Fully Automatic | td-headers-attr / th-has-data-cells |
| 37 | Gezinti bölümleri, platforma uygun semantik yapı veya rol kullanılarak tanımlandı mı? | 1.3.1 | Partial | runContentStructureCheck (pseudoNavRegions — header/footer/aside içinde nav/[role=navigation] SARMALAMAYAN 3 + bağlantılık küme) |
| 39 | Form elemanlarının etiketleri, ilgili alanlarla programatik olarak algılanabilir şekilde ilişkilendirildi mi? | 1.3.1 | Fully Automatic | label / aria-input-field-name |
| 41 | İlişkili form alanları anlamlı şekilde gruplandırılmış ve grup başlığı programatik olarak tanımlandı mı? | 1.3.1 | Partial | contentInventoryCheck |
| 43 | Metin içerikleri, platforma uygun semantik yapılar kullanılarak paragraf hâlinde programatik olarak tanımlandı mı? | 1.3.1 | Partial | runContentStructureCheck (nonSemanticTextBlocks — <p> içinde OLMAYAN uzun düz yazı metni) |
| 45 | Metin vurguları, bilgi ve ilişkilerin programatik olarak belirlenebilir olmasını sağlayacak semantik yapılar kullanılarak sunuldu mu? | 1.3.1 | Partial | runContentStructureCheck (cssOnlyEmphasis — aynı sinyal, uygunluk yargısı) |
| 47 | İçeriğin programatik okuma sırası, görsel sunumdan bağımsız olarak anlamı koruyacak şekilde mantıklı ve doğru bir sırayla sağlandı mı? | 1.3.2 | Partial | readingOrderCheck + checkMeaningfulSequence |
| 48 | Görsel düzen dikkate alınmadığında (CSS devre dışıyken vb.) içerik mantıksal ve anlaşılabilir bir okuma sırasını koruyor mu? | 1.3.2 | Partial | readingOrderCheck + checkMeaningfulSequence |
| 50 | Yönlendirme/talimatlar, yalnızca duyusal özelliklere (renk, şekil, boyut, konum, yön veya ses) dayalı olmayacak şekilde sunuluyor mu? | 1.3.3 | Partial | checkSensoryLanguage |
| 52 | İçerikte bilgi, durum, yanıt veya eylem YALNIZCA renk kullanılarak mı ifade edildi? | 1.4.1 | Partial | runColorOnlyStatusCheck (aynı sinyal, uygunluk yargısı — SADECE aktif sekme deseni) |
| 53 | Yalnızca renkle ifade edilen bilgi için renge ek olarak metin/ikon/şekil/desen gibi alternatif ipuçları sağlandı mı? | 1.4.1 | Partial | formInteractionCheck (3.3.1 sinyalinin yeniden kullanımı) |
| 55 | Otomatik başlayan ses için kullanıcıya durdurma/kapatma veya ses düzeyini ayarlama imkânı sağlandı mı? | 1.4.2 | Partial | runAudioAutoplayCheck (3sn + sesli otomatik çalma ölçülür, durdurma mekanizması TIKLANARAK doğrulanır; iframe embed medyası ve ses düzeyi ayarı kapsam dışı) |
| 58 | Medya oynatıcıdaki işlemler klavye veya eşdeğer giriş yöntemleriyle kontrol edilip kapatılabiliyor mu? | 2.1.1 | Partial | keyboardCheck |
| 60 | Açılır menüler klavye veya eşdeğer giriş yöntemleriyle açılıp menü seçenekleri arasında gezinilebiliyor mu? | 2.1.1 | Partial | accordionTabsStateCheck (etkileşimli durumda tetikleyici etkinleştirilip aria-expanded güncellemesi + ok tuşu gezinmesi test edilir — statik VARLIK değil GERÇEK etkileşim) |
| 62 | Diyalog kutuları klavye veya eşdeğer giriş yöntemleriyle kontrol edilip kapatılabiliyor mu? | 2.1.1 | Partial | modalStateCheck (etkileşimli durumda modal AÇILIP Escape ile kapanması, odak yönetimi ve Tab-döngüsü GERÇEKTEN test edilir — statik VARLIK değil GERÇEK etkileşim) |
| 64 | Otomatik açılan pencereler klavye veya eşdeğer giriş yöntemleriyle kontrol edilip kapatılabiliyor mu? | 2.1.1 | Partial | keyboardCheck |
| 66 | Bu bağlantı/bileşenler klavye veya eşdeğer giriş yöntemleriyle de odaklanılıp kontrol edilebiliyor mu? | 2.1.1 | Partial | keyboardCheck |
| 68 | Sürükle-bırak işlevleri klavye veya eşdeğer giriş yöntemleriyle de gerçekleştirilebiliyor mu? | 2.1.1 | Partial | contentInventoryCheck |
| 70 | Bu bileşenlere klavye ile erişildikten sonra, klavye kilitlenmesi oluşmadan aynı yöntemlerle çıkılabiliyor mu? | 2.1.2 | Fully Automatic | keyboardCheck |
| 72 | Tek karakterli kısayollar devre dışı bırakılabiliyor, değiştirilebiliyor veya yalnızca ilgili bileşen odaklandığında etkin mi? | 2.1.4 | Manual | — |
| 74 | Zaman sınırlaması için kullanıcı durdurabiliyor, uzatabiliyor veya süre dolmadan uyarılıp uzatabiliyor mu? | 2.2.1 | Manual | — |
| 78 | Zorunlu olmayan otomatik içerik için duraklatma/durdurma/gizleme veya güncelleme sıklığı kontrolü seçeneklerinden en az biri sağlanıyor mu? | 2.2.2 | Partial | blink / marquee |
| 81 | Bu yanıp sönme, genel veya kırmızı yanıp sönme eşiğini aşan sağlık riski taşıyan ışık çakmaları barındırıyor mu? | 2.3.1 | Partial | runFlickerCheck (YAKLAŞIK bir sinyal — genel/kırmızı yanıp sönme SAĞLIK RİSKİ eşiği AYRI test EDİLMEZ, sadece genel parlaklık geçiş sıklığı ölçülür; bu yüzden UNDESIRABLE yargısı için MANUEL doğrulama ZORUNLUDUR) |
| 83 | Kullanıcıların tekrar eden blokları atlayıp ana içeriğe doğrudan erişmesini sağlayan bir mekanizma sunuluyor mu? | 2.4.1 | Partial | runBypassCheck (atlama bağlantısı Enter ile davranışsal sınanır, landmark + başlık alternatifi değerlendirilir; egzotik atlama mekanizmaları kapsam dışı) |
| 84 | Her bir sayfa veya ekran için bir başlık bulunuyor mu? | 2.4.2 | Fully Automatic | document-title |
| 85 | Sayfa/ekran başlıkları, içeriğin konusunu açık, doğru ve ayırt edici biçimde tanımlıyor mu? | 2.4.2 | Partial | crossPageConsistencyCheck |
| 87 | Etkileşimli öğeler arasında gezinildiğinde odak sırası mantıklı, tutarlı ve anlamlı bir sırayı takip ediyor mu? | 2.4.3 | Partial | focusOrderCheck |
| 89 | Bağlantı metni/erişilebilir ad, tek başına değerlendirildiğinde bağlantının amacını açık ve anlaşılır ifade ediyor mu? | 2.4.4 | Partial | link-name + checkLinkText |
| 90 | Bağlantının amacı, bulunduğu bağlamla (başlık, paragraf, liste öğesi vb.) birlikte programatik olarak belirlenebilir mi? | 2.4.4 | Partial | link-name + checkLinkText |
| 92 | Bu bağlantılar için amacını açıklayan erişilebilir bir ad sağlandı mı? | 2.4.4 | Fully Automatic | link-name / area-alt |
| 94 | Aynı metne sahip bağlantıların her birinin amacı, bağlamıyla birlikte kullanıcı tarafından ayırt edilebilir mi? | 2.4.4 | Partial | contentInventoryCheck |
| 96 | Bu işlevler için karmaşık işaretçi hareketi gerektirmeyen alternatif bir etkileşim yöntemi sunuluyor mu? | 2.5.1 | Manual | — |
| 98 | İşaretçiyle tetiklenen işlemler; yalnızca bırakma anında tetiklenme, iptal edilebilme veya geri alınabilme koşullarından birini sağlıyor mu? | 2.5.2 | Partial | pointerInteractionCheck |
| 100 | Erişilebilir ad, görünür etiket metniyle aynı mı veya onunla başlıyor mu? | 2.5.3 | Fully Automatic | label-content-name-mismatch |
| 102 | Cihaz hareketiyle gerçekleştirilen işlemler için hareket kullanılmadan aynı sonucu sağlayan bir alternatif sunuluyor mu? | 2.5.4 | Partial | motionActuationCheck |
| 103 | Cihaz hareketiyle tetiklenen işlevler kullanıcı tarafından devre dışı bırakılabiliyor mu? | 2.5.4 | Partial | motionActuationCheck |
| 104 | Sunulan içeriğin varsayılan dili programatik olarak tanımlandı mı? | 3.1.1 | Fully Automatic | html-has-lang / html-lang-valid |
| 106 | Bir bileşene YALNIZCA odaklanılması sonucu, ek bir işlem yapılmadan bağlam değişikliği gerçekleşiyor mu? | 3.2.1 | Fully Automatic | contextChangeCheck |
| 108 | Bu bağlam değişikliği, kullanıcının başlattığı açık bir işlemle mi gerçekleşiyor veya önceden bildiriliyor mu? | 3.2.2 | Fully Automatic | contextChangeCheck |
| 110 | Bu yardım mekanizmaları, farklı sayfalar/ekranlar arasında tutarlı ve öngörülebilir bir konumda sunuluyor mu? | 3.2.6 | Partial | crossPageConsistencyCheck |
| 112 | Kullanıcı veri girişinde hata yaptığında, hata durumu metinsel bir mesajla bildiriliyor mu? | 3.3.1 | Partial | formInteractionCheck |
| 113 | Hata mesajı, hatanın nedenini kullanıcı tarafından anlaşılabilir şekilde açık ve net ifade ediyor mu? | 3.3.1 | Partial | formInteractionCheck |
| 114 | Hata mesajı, hangi giriş alanıyla ilgili olduğunu kullanıcıya açıkça bildiriyor mu? | 3.3.1 | Partial | formInteractionCheck |
| 116 | Bu alanlar için anlamlı ve açıklayıcı etiketler veya gereken talimatlar sağlanıyor mu? | 3.3.2 | Partial | runContentStructureCheck + label (zorunlu alan işareti ve format talimatı VARLIĞI ölçülür; etiketin ANLAMLILIĞI kapsam dışı) |
| 118 | Bu alanlar için veri girişinden önce açık ve erişilebilir talimatlar sunuluyor mu? | 3.3.2 | Partial | contentInventoryCheck |
| 120 | Zorunlu alanlar kullanıcıya açık ve anlaşılır şekilde belirtildi mi? | 3.3.2 | Partial | contentInventoryCheck |
| 122 | Daha önce alınmış bilgiler otomatik dolduruluyor veya yeniden kullanılmasına imkân tanınıyor mu? | 3.3.7 | Partial | formInteractionCheck |
| 124 | Kullanıcı arayüzü bileşenlerinin ad (name) ve rol (role) bilgileri programatik olarak belirlenebilir mi? | 4.1.2 | Fully Automatic | aria-roles / button-name / label / select-name |
| 125 | Bileşenlerin durum (state), özellik (property) ve değer (value) bilgileri programatik olarak belirlenebilir mi? | 4.1.2 | Fully Automatic | aria-valid-attr-value / aria-required-attr |
| 126 | Etkileşim sonucunda bileşenlerde oluşan durum/değer değişiklikleri, yardımcı teknolojiler tarafından algılanabilir şekilde güncelleniyor mu? | 4.1.2 | Partial | contentInventoryCheck |