WCAG 1.1.1 · A Seviyesi · EN 301 549 9.1.1.1

Metinsel Olmayan İçerik

Görseller, simgeler, grafikler ve diğer metinsel olmayan içeriğin, onları göremeyen veya duyamayan kullanıcılara eşdeğer amaca hizmet eden bir metin alternatifiyle aktarılmasını ister.

Kısaca

Ekran okuyucu bir görseli göremez; ona ne söylendiyse onu okur. Alternatif metin yoksa kullanıcı çoğu zaman "grafik" ya da dosya adını duyar, görselin taşıdığı bilgiyi ise kaçırır.

Bu kriter, kullanıcıya sunulan her metinsel olmayan içeriğin (fotoğraf, simge, grafik, ses kaydı, animasyon) aynı amaca hizmet eden bir metin alternatifine sahip olmasını ister. Süs amaçlı veya yalnızca biçimlendirme için kullanılan içerik ise yardımcı teknolojinin yok sayabileceği biçimde işaretlenmelidir. Böylece kimse anlamsız bir görseli dinlemek zorunda kalmaz.

Neleri kapsar?

  • Bilgi taşıyan görseller: Fotoğraf, infografik, grafik, diyagram ve haritalar. Kısa bir açıklama yetmiyorsa kısa ad ile birlikte uzun bir açıklama sunulur.
  • Kontroller ve veri girişi: Simge düğmeleri, görsel bağlantılar ve görsel gönder düğmeleri. Alternatif, görselin görünüşünü değil işlevini anlatır.
  • Zamana dayalı medya: Video ve ses kayıtları için en azından neyin ne olduğunu belirten tanımlayıcı bir ad gerekir. Altyazı, transkript ve sesli betimleme ayrıca 1.2 numaralı kriterlerin konusudur.
  • Test ve duyusal deneyim: Metne çevrildiğinde geçersiz olacak bir test ya da yalnızca bir duyusal deneyim sunmak için konmuş içerik (müzik performansı, sanat eseri). Tanımlayıcı bir ad yeterlidir.
  • CAPTCHA: Amacını anlatan bir metin alternatifi ve farklı duyularla çalışan en az bir ikinci CAPTCHA biçimi gerekir.
  • Süs, biçimlendirme ve görünmez içerik: Boşluk bırakmak için konan şeffaf görseller, süsleme amaçlı desenler ve kullanıcıya gösterilmeyen izleme pikselleri yardımcı teknolojiden gizlenir.
  • Kapsam dışı notlar: Metni görsel içine gömmek 1.4.5 (Metin Görselleri), görsellerin kontrastı 1.4.11 (Metin Dışı Kontrast), kontrolün rolünün ve durumunun bildirilmesi ise 4.1.2 (İsim, Rol, Değer) kriterinin konusudur.

Kimleri etkiler?

Ekran okuyucu kullanan kör ve az gören kullanıcılar görselin bilgisine yalnızca metin alternatifinden ulaşır. Metin braille ekrana da aktarılabildiği için görme ve işitme engeli birlikte olan kullanıcılar için de tek yoldur. Ses kayıtlarında işitme engelli kullanıcılar metin karşılığını okur. Görsellerin anlamını kavramakta zorlanan kullanıcılar için kısa ve net bir açıklama destek olur. Metin alternatifleri ayrıca görsel içeriğin aranabilmesine ve başka biçimlere dönüştürülebilmesine yardımcı olur.

EAA ve EN 301 549'da

Avrupa Erişilebilirlik Yasası (Direktif (AB) 2019/882) 28 Haziran 2025'ten sonra piyasaya sunulan kapsamdaki ürün ve hizmetler için geçerlidir. Yasanın 47. gerekçesi web siteleri ve mobil uygulamalar için dört ilkeyi sayar: algılanabilirlik, işletilebilirlik, anlaşılabilirlik ve sağlamlık. Metin alternatifi, algılanabilirliğin temel gereğidir.

Teknik karşılığı EN 301 549 standardında bulunur. Standart, WCAG 1.1.1'i atıfla alır ve ortama göre ayrı maddelere dönüştürür.

WCAG 1.1.1'in EN 301 549'daki karşılıkları
MaddeOrtamNe ister?
9.1.1.1Web sayfalarıWeb içeriğinin WCAG 1.1.1 kriterini karşılamasını ister.
10.1.1.1Web dışı dokümanlar (PDF, Office dosyaları)Aynı kriterin dokümanlardaki görsellere uygulanmasını ister.
11.1.1.1Web dışı yazılım (yerel mobil uygulamalar)Ekran okuyucuyu destekleyen yazılımda kriterin karşılanmasını ister.
5.1.3.6Kapalı işlevsellik (ATM, bilet makinesi, bilgi ekranı)Metin dışı içeriğin alternatifinin, süs amaçlı olanlar hariç, sesli çıktıyla sunulmasını ister.

Madde numaraları EN 301 549 V3.2.1'e göredir. V3.2.1'de yazılım maddesi iki parçadır: 11.1.1.1.1 (açık işlevsellik) ve 11.1.1.1.2 (kapalı işlevsellik, 5.1.3.6'ya yönlendirir). V4.1.1'de aynı konular 9.1.1, 10.1.1 ve 11.1.1 başlıkları altında yer alır.

Standart sürümü: EN 301 549 V4.1.1 (Eylül 2026), WCAG 2.2'yi esas alan ve EAA için hazırlanan ilk sürümdür. Henüz AB Resmî Gazetesi'nde atıf almamıştır; bu nedenle EAA gereksinimlerini karşılamanın gönüllü teknik yolu olarak görülmelidir. Atıf yapıldığında EAA ile ilgili uygunluk karinesi sağlayacaktır. 1.1.1 kriterinin metni WCAG 2.1 ve 2.2'de aynıdır.

EAA bağlamında dikkat: Yasa, 28 Haziran 2025'ten önce yayımlanmış önceden kaydedilmiş zamana dayalı medyayı ve şirketin kontrolü ya da finansmanı dışındaki üçüncü taraf içeriği kapsam dışında bırakır (Madde 2/4). Görsellerin metin alternatifi ise bu istisnalarla ortadan kalkmaz.

Directive (EU) 2019/882, EUR-Lex, İngilizce, yeni sekmede açılır

Web için kod örnekleri

1. Bilgi taşıyan görsel

Alt metin, görselin yerine geçecek bilgiyi içermelidir. Dosya adı veya "grafik" gibi genel bir sözcük yeterli değildir.

Hatalı
<img src="satis-grafik.png">

<img src="IMG_2041.png" alt="IMG_2041.png">
Doğru
<img src="satis-grafik.png"
     alt="2026 ilk çeyrek satışlar: Ocak 120, Şubat 135,
          Mart 160 bin TL">

2. Süs amaçlı görsel

Bilgi taşımayan görsel boş alt metinle işaretlenir. Böylece ekran okuyucu onu atlar. "Dekoratif görsel" ya da "boşluk" yazmak, kullanıcıya gereksiz bir şey okutur.

Hatalı
<img src="dalga.svg" alt="dekoratif görsel">
<img src="bosluk.gif" alt="boşluk">
Doğru
<img src="dalga.svg" alt="">

/* Ya da süsü CSS ile ekleyin */
.baslik { background-image: url("dalga.svg"); }

3. Yalnızca simgeden oluşan düğme

Alternatif, simgenin nasıl göründüğünü değil, düğmenin ne yaptığını anlatır.

Hatalı
<button type="button">
  <img src="ara.svg">
</button>
Doğru
<button type="button" aria-label="Ara">
  <svg aria-hidden="true" focusable="false">…</svg>
</button>

<!-- Görselli düğmede alt de kullanılabilir -->
<input type="image" src="gonder.png" alt="Formu gönder">

4. Bağlantı içindeki görsel

Bağlantının tek içeriği görselse alt metin, bağlantının gideceği yeri anlatmalıdır.

Hatalı
<a href="/">
  <img src="logo.svg" alt="logo">
</a>
Doğru
<a href="/">
  <img src="logo.svg" alt="Örnek Şirket ana sayfa">
</a>

5. Karmaşık grafik

Bir grafiğin taşıdığı bilgi kısa bir alt metne sığmıyorsa, kısa bir ad verin ve ayrıntıyı yakında, görünür biçimde sunun. Mümkünse verileri bir tabloyla da verin.

Hatalı
<img src="gelir.png" alt="gelir grafiği">
Doğru
<figure>
  <img src="gelir.png"
       alt="Aylık gelir çizgi grafiği"
       aria-describedby="gelir-ozet">
  <figcaption id="gelir-ozet">
    Gelir Ocak'ta 120 bin TL iken Mart'ta 160 bin TL'ye
    yükseldi. Aylık değerler aşağıdaki tablodadır.
  </figcaption>
</figure>

6. SVG simge ve çizimler

Hatalı
<svg viewBox="0 0 24 24">…</svg>
Doğru
<!-- Bilgi taşıyan SVG -->
<svg role="img" aria-labelledby="uyari-baslik" viewBox="0 0 24 24">
  <title id="uyari-baslik">Uyarı: ödeme başarısız</title>
  …
</svg>

<!-- Süs amaçlı SVG -->
<svg aria-hidden="true" focusable="false" viewBox="0 0 24 24">…</svg>

Mobil için kod örnekleri

Yerel mobil uygulamalarda aynı kural geçerlidir. Bilgi taşıyan görsele bir ad, süs amaçlı görsele hiçbir ad verilmez ve yalnızca simgeden oluşan düğmeye işlevini anlatan bir etiket eklenir.

iOS (SwiftUI)

import SwiftUI

struct UrunKarti: View {
    var favoriyeEkle: () -> Void

    var body: some View {
        VStack(alignment: .leading, spacing: 12) {
            // Bilgi taşıyan görsel: eşdeğer bir açıklama
            Image("urun-foto")
                .resizable()
                .scaledToFit()
                .accessibilityLabel("Mavi spor ayakkabı, yan görünüm")

            // Süs amaçlı görsel: yardımcı teknolojiden gizlenir
            Image(decorative: "dalga")

            // Yalnızca simgeden oluşan düğme
            Button(action: favoriyeEkle) {
                Image(systemName: "heart")
            }
            .accessibilityLabel("Favorilere ekle")
        }
    }
}

Android (Jetpack Compose)

import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Column
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons.filled.Favorite
import androidx.compose.material3.Icon
import androidx.compose.material3.IconButton
import androidx.compose.runtime.Composable
import androidx.compose.ui.res.painterResource

@Composable
fun UrunKarti(favoriyeEkle: () -> Unit) {
    Column {
        // Bilgi taşıyan görsel
        Image(
            painter = painterResource(R.drawable.urun_foto), // Kendi kaynağınız
            contentDescription = "Mavi spor ayakkabı, yan görünüm"
        )

        // Süs amaçlı görsel: contentDescription null bırakılır
        Image(
            painter = painterResource(R.drawable.dalga), // Kendi kaynağınız
            contentDescription = null
        )

        // Yalnızca simgeden oluşan düğme
        IconButton(onClick = favoriyeEkle) {
            Icon(
                imageVector = Icons.Filled.Favorite,
                contentDescription = "Favorilere ekle"
            )
        }
    }
}

Nasıl test edilir?

  • Ekran okuyucuyla gezinin: NVDA, VoiceOver veya TalkBack ile sayfayı ya da ekranı dolaşın. Her görsel için duyduğunuz metin, görselin yerine geçiyor mu? "Grafik", "resim" ya da dosya adı duyuyorsanız sorun vardır.
  • Süs amaçlı görselleri arayın: Bilgi taşımayan görseller atlanıyor mu? Yoksa "dekoratif görsel" gibi gereksiz bir şey okunuyor mu?
  • İşlev görsellerini dinleyin: Simge düğmeleri ve görsel bağlantılar, görünüşünü değil yaptığı işi söylüyor mu?
  • Bilgi kaybını kontrol edin: Görselleri kapatıp yalnızca alternatif metinlerle sayfayı okuyun. Anlam ve işlev korunuyor mu?
  • Kodu inceleyin: img, input type="image" ve area öğelerinde alt özniteliği var mı? Süs amaçlı görsellerde boş mu? Mobilde contentDescription ve accessibilityLabel değerleri doğru mu?
  • CAPTCHA'yı deneyin: Sayfada farklı bir duyuyla çalışan alternatif bir doğrulama biçimi var mı?
  • Otomatik araçların sınırı: Otomatik araçlar eksik alt özniteliğini ve dosya adı gibi bariz yanlışları yakalar. Bir açıklamanın görselle aynı amaca hizmet edip etmediğine ise ancak bir kişi karar verebilir.

Sık yapılan hatalar

  • Alt özniteliğini hiç yazmamak: Ekran okuyucu bazı durumlarda dosya adını okur.
  • Dosya adını veya yer tutucuyu alt yapmak: "IMG_2041.png", "image", "foto" bir açıklama değildir.
  • Süs amaçlı görsele açıklama yazmak: "Dekoratif görsel" veya "boşluk" gibi ifadeler gereksiz gürültü yaratır; alt boş bırakılmalıdır.
  • Bilgiyi yalnızca CSS arka plan görselinde vermek: CSS ile eklenen görsellerin metin alternatifi olmaz.
  • Metin içeren görselin metnini yazmamak: Görselde yazan bilgi alt metinde de bulunmalıdır.
  • Değişen görselin açıklamasını güncellememek: Görsel değiştiğinde alt metin de değişmelidir.
  • Her yerde aynı alt metni kullanmak: Aynı görsel farklı bağlamlarda farklı amaca hizmet edebilir (örneğin bir bağlantıda "Uluslararası seyahat", başka bir sitede "Yurt dışı kampüsler").
  • Simge düğmeleri adsız bırakmak: Arama, menü, kapat ve paylaş simgeleri sık sık etiketsiz kalır.

Kaynaklar

Standart sürümü: EN 301 549 V4.1.1 (2026-09), WCAG 2.2. Bu sayfa bilgilendirme amaçlıdır ve hukuki tavsiye niteliği taşımaz; bağlayıcı metin için Avrupa Erişilebilirlik Yasası'nın (Direktif (AB) 2019/882) ve EN 301 549 standardının resmî metinlerini esas alın.

Corpowid, Gartner tarafından tanınan bir platformdur.

Corpowid, dijital erişilebilirlik alanındaki yenilikçi yaklaşımı ve performansı nedeniyle dünyanın önde gelen araştırma ve danışmanlık şirketlerinden biri olan Gartner tarafından takdir edilmiştir. Bu rozetler, yapay zeka destekli ve kapsayıcı web deneyimleri oluşturma konusundaki kararlılığımızı yansıtmaktadır.

Corpowid hakkında sorularınız mı var?

Bizimle iletişime geçin.

Size en kısa sürede geri dönüş sağlayacağız.