Mehmet

WFN Üye
Konular
1,851
Mesajlar
1,852
Çözüm
0
Ticaret Puanı
0
Üyelik
1 Ay 6 Gün
Konum
YurtDışı
Web Sitesi
Var
Alanı
Google Adsense
1/1
Konu sahibi
HTML içindeki <svg> etiketi, vektörel grafik çizmek için kullanılan SVG alanını oluşturur. Çizgi, daire, dikdörtgen, yol ve benzeri şekiller bu kök öğenin içine yazılır. Satır içi SVG olarak kullanıldığında grafik doğrudan HTML DOM ağacının parçası olur; CSS ile biçimlendirilebilir, JavaScript ile yönetilebilir ve erişilebilirlik bilgileri markup içinde tanımlanabilir.

En küçük çalışan örnek​


Aşağıdaki dosyayı ornek.html adıyla kaydedip tarayıcıda açın:

HTML:
<!doctype html>
<html lang="tr">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Satır içi SVG örneği</title>
</head>
<body>
  <svg
    xmlns="http://www.w3.org/2000/svg"
    width="200"
    height="120"
    viewBox="0 0 200 120"
    role="img"
    aria-labelledby="grafik-baslik"
    aria-describedby="grafik-aciklama">
    <title id="grafik-baslik">Basit güneş grafiği</title>
    <desc id="grafik-aciklama">Mavi gökyüzü üzerinde sarı bir daireyi gösteren basit SVG çizimi.</desc>

    <rect width="200" height="120" fill="#dbeafe" />
    <circle cx="100" cy="60" r="32" fill="#facc15" />
  </svg>
</body>
</html>

Başarılı sonuçta 200’e 120 piksel alan içinde açık mavi bir dikdörtgen ve ortasında sarı bir daire görünür. Sayfa boş görünüyorsa önce dosyanın gerçekten .html uzantısıyla kaydedildiğini, etiketlerin düzgün kapatıldığını ve viewBox içindeki çizim koordinatlarının görünür alan içinde kaldığını kontrol edin.

svg etiketi nasıl çalışır?​


<svg> öğesi iki alanı birbirinden ayırır: Ekranda ayrılan görünür alan width ve height ile, çizimin kendi koordinat sistemi ise viewBox ile tanımlanır. viewBox="0 0 200 120" ifadesindeki dört değer sırasıyla başlangıç X koordinatı, başlangıç Y koordinatı, koordinat alanının genişliği ve yüksekliğidir.

Örneğin circle cx="100" cy="60" r="32" ifadesi, merkezi 100,60 koordinatında ve yarıçapı 32 birim olan bir daire çizer. viewBox bu koordinatların hangi sanal dikdörtgene ait olduğunu belirler; tarayıcı da bu alanı SVG’nin gerçek genişlik ve yüksekliğine uyarlar. Böylece çizim, koordinatları değiştirilmeden farklı boyutlarda gösterilebilir.

Temel özellikleri ne zaman kullanmalı?​

Öğe veya özellikGöreviPratik karar
viewBoxÇizimin koordinat alanını belirler.Ölçeklenebilir grafiklerde genellikle ekleyin.
width ve heightGörünen SVG alanının boyutunu belirler.Sayfadaki başlangıç boyutunu kontrol etmek için kullanın.
<title>Kısa, erişilebilir ad sağlar.Anlam taşıyan grafiklerde ekleyin.
<desc>Grafiğin daha ayrıntılı açıklamasını sağlar.Grafik kısa başlıkla anlaşılamıyorsa ekleyin.
role="img"Grafiğin yardımcı teknolojiler tarafından görsel olarak ele alınmasına yardımcı olur.Anlamlı bağımsız bir grafik için kullanın.
Satır içi SVG’nin erişilebilir olması için <title> kısa açıklama, <desc> ise daha ayrıntılı açıklama içerir. Örnekte aria-labelledby başlığın kimliğine, aria-describedby ise ayrıntılı açıklamanın kimliğine bağlanır; böylece ad ve açıklama ayrı tutulur. <title> ve <desc> ekranda çizilmez; grafik hakkında yardımcı teknolojiye bilgi verir. Açıklama zaten yakındaki görünür metinde bulunuyorsa aynı metni tekrar etmek yerine o metni ilişkilendirmek daha uygun olabilir.

Grafik yalnızca dekoratifse, kullanıcıya bilgi vermiyorsa erişilebilirlik ağacından gizlemek için aria-hidden="true" kullanılması düşünülebilir. Ancak bunu anlam taşıyan bir grafikte kullanmak, grafiğin ekran okuyucu kullanıcılarından saklanmasına neden olur.

Sık yapılan hatalar​


viewBox değerini çizimin gerçek koordinatlarıyla uyumsuz vermek: Şekil kesilebilir veya görünmeyebilir. Çizimin tüm sınırlarını kapsayan bir koordinat alanı seçin.
width ve height değerlerini viewBox sanmak: İlki görünen alanı, ikincisi çizim koordinatlarını tanımlar.
Anlamlı grafiğe yalnızca title özelliği eklemek: SVG içindeki <title> öğesi ile HTML’deki title özelliği aynı kullanım değildir.
Boş <title> veya <desc> bırakmak: Boş açıklama erişilebilir bir ad sağlamaz.
Dekoratif olmayan SVG’yi aria-hidden="true" ile gizlemek: Grafik bilgisi yardımcı teknoloji kullanıcılarına ulaşmaz.

Sık sorulan sorular​


Aynı SVG’yi sayfada birkaç kez kullanırken neye dikkat etmeliyim?​


Satır içi kopyalarda title ve desc kimliklerini benzersiz yapın, her grafiğin aria-labelledby ve aria-describedby değerlerini kendi öğelerine bağlayın. Aynı id’nin tekrar edilmesi yanlış başlığın ilişkilendirilmesine neden olabilir.

HTML içinde svg için xmlns yazmak zorunlu mudur?​


HTML belgesine doğrudan yazılan svg öğesini HTML ayrıştırıcısı SVG ad alanında işler; xmlns burada zorunlu değildir. Grafik ayrı bir .svg XML dosyası olarak kaydedilecekse kökte uygun SVG ad alanı bildirilmelidir. Satır içi HTML örneğinde bildirimin bulunması da sorun oluşturmaz.
 

Sende şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic