HTML img etiketi: başlık özniteliği mi alt özniteliği mi?


110

Amazon'a göz atıyordum ve " 1TB " araması yaparken , fare imlecini yıldız derecelendirme görüntüsünün üzerine getirirseniz, puanı yalnızca IE kullanıyorsanız görürsünüz. Başka bir tarayıcı kullanıyorsanız, puan gösterilmez.

Hem 3,8 hem de 4,2 derece 4 yıldız olarak görünür. Elbette 3,8 yıldıza karşı 4,2 yıldız (% 76'ya karşı% 84 puan) bir fark yaratabilir!

Bunun nedeni, altmetin görüntülemenin standart yolunun yalnızca kullanıcının grafikleri kapatması veya tarayıcının "sesli olarak okunması" (örneğin, görme engelli kullanıcılar için tarayıcı) olmasıdır. IE, ancak imleci üzerinde gösterir.

Bence Amazon bunu kullanıcının tarayıcısından bağımsız olarak gösterecekse title, ek olarak kullanılmalı alt. Katılır mısın?

Yanıtlar:


64

İkisine de giderdim. Başlık, tüm tarayıcılarda güzel bir araç ipucu gösterecek ve alt, resim içermeyen bir tarayıcıda gezinirken bir açıklama verecektir.

Bununla birlikte, bir "mağazaya" ürünlere göz atmak için bir "mağazaya" giden kaç "sörfçünün" resimlerinin kapatıldığına veya resimleri desteklemeyen bir tarayıcı kullandığına dair bazı istatistikleri görmek isterim. Nüfusun% 90'ının InterWeb'e bağlanmak için 28k modem kullandığı günlerin geride kaldığını düşünüyorum.


54
Alt kullanımı, bant genişliği nedenleriyle görüntülerin baskılanması durumunda gösterilecek bir şeye sahip olmakla ilgili değildir. Örneğin görme engelliler için tasarlanmış bazı tarayıcılar, alt'ı yoğun bir şekilde kullanacaktır.
AnthonyWJones

8
... ama: bazen resimler yüklenmez; ve körler için görsel olmayan tarayıcılar var; safarideki konuşma özellikleri, görüntülerden alt öznitelikler dahil olmak üzere sayfayı okur; Arama motoru optimizasyonu; vb.% 100 görüntü ekranı varsaymamak için birçok iyi neden.
jwl

2
@ Anthony, vahşi - kabul etti. Alt sağlamanın çok yararlı olduğu çeşitli hmmm "uç durumlar" vardır (ve onu bırakmamı önermiyorum) - Ancak, kullanıcıya bir araç ipucu şeklinde sağlanacak "anlamlı bilgi" varsa, o zaman kesinlikle bir başlık niteliği olun - çünkü bunun için var. Yukarıda "uç durum" dediğimde, JAWS veya benzeri ile erişen kullanıcıların toplam yüzdesinin Firefox, Chrome, IE, Opera, Safari, Konqueror vb.
İle

ALT etiketleri SEO dostudur. Başlıklar ile aynı yerleştirilmelidir.
HelpNeeder

Bir engeliniz varsa ve bir ekran okuyucuya ihtiyacınız varsa, "uç durum" olarak anılmanızın hoşuna gitmeyeceğinden oldukça eminim.
Matt Fletcher

164

Farklı şeyler için kullanılırlar. altNitelik kullanılır yerine görüntünün. Görüntü gösterilemiyorsa ve ekran okuyucularda.

titleÖzelliği gösterilir boyunca tipik olarak bir vurgulu ipucu olarak, görüntü ile.

Biri diğerinin "yerine" kullanılmamalıdır. Her biri , yapmak üzere tasarlandıkları şeyleri yapmak için doğru şekilde kullanılmalıdır .


2
Ve HTML5 alt özelliği zorunlu olduğu için unutmayın. Bazı ülkelerde, bir devlet kurumu için bir proje yaparsanız, onu kullanmamanız bile YASALDIR. Oysa jalf'ın belirttiği gibi başlık sadece bir "tasarım" şeyidir.
jave.web

2
Ve inanmıyorum - ekran okuyucularının görüntü yerine alt okuduğunu biliyorum.
jave.web

4
@ jave.web HTML5 spesifikasyonları, w3.org/html/wg/drafts/html/master/… alt özelliği hakkında birçok şeyi önerir ve gösterir, ancak bunun "zorunlu" olduğu kadar ileri gitmez. Spesifik olarak, bir görüntü tamamen süslendiğinde, aslında bir alt öznitelik değeri beklenmez.
scunliffe

1
@scunliffe, HTML5'te alt özniteliğini kullanmamak, HTML5'inizin geçerli olmadığı anlamına gelir. Resim tamamen dekorasyon ise - <img>etiket olarak uygulanmamalıdır - bunun yerine CSS stilinde div kullanmalısınız;)
jave.web

5
@ jave.web, belirtilenden daha fazla spesifikasyonu okuyorsunuz. Bir alt özniteliği eklemenizi şiddetle önerirler , ancak w3.org/html/wg/drafts/html/master/… istisnaları vardır ve alt özniteliğe sahip olmanız gerektiğine dair katı bir yaptırım yoktur . Spesifikasyonun hiçbir yerinde "zorunlu" veya "gerekli" olduğunu göstermez. - aslında, alt özniteliğinin belirtilmediği veya kasıtlı olarak boş bırakıldığı birkaç durumu listelerler.
scunliffe

10

alt ve title , daha önce de belirtildiği gibi farklı şeyler içindir. İken başlık özniteliği bir araç ipucu sağlayacaktır, alt görüntü görüntülenemiyor eğer metin görüntülenecek belirtir beri de önemli bir niteliktir. (Firefox gibi bazı tarayıcılarda, ayrıca bu metni göreceksiniz iken görüntü yükleri)

Belirtilmesi gerektiğini düşündüğüm bir başka nokta da, alt özniteliğinin bir XHTML belgesi olarak doğrulanması gerektiğidir , oysa title özniteliği olduğu gibi sadece "ekstra bir seçenektir".


7

Bunun nedeni, farklı amaçlara hizmet etmeleridir ve her ikisinin de yalnızca biri diğerine kullanılmaması gerekir.

"Alt", daha önce söylediğiniz şeyler içindir, böylece görüntünün neyle ilgili olduğunu görebilirsiniz (herhangi bir nedenle), aynı zamanda görme engelli kişilerin görüntünün ne hakkında olduğunu anlamasına da olanak tanır.

"Başlık" özniteliği, resim için bir başlıkla araç ipucunu göstermek için doğru olanıdır.


6

Bana göre alternatif metin, görüntünün gösterilmemesi durumunda, her zaman resimde neyin göründüğünü açıklamalıdır.

alt = text [CS] Resimleri, formları veya apletleri görüntüleyemeyen kullanıcı aracıları için bu öznitelik alternatif metni belirtir. Alternatif metnin dili, lang niteliği ile belirlenir.

w3.org


3

Kesin XHTML uyumluluğu için alt'ın gerekli olduğuna inanıyorum.

Başkalarının da belirttiği gibi, başlık araç ipuçları içindir (olması güzel), alt ise erişilebilirlik içindir. İkisini birden kullanmakta yanlış bir şey yok, ancak alt her zaman orada olmalı.


1

ALT özniteliği, ekran okuyucu kullanan görme engelli kullanıcılar içindir. HERHANGİ bir resim etiketinde ALT eksikse, resmin tüm url'si okunur. Görüntüler sitenin tasarımının bir parçasıysa, yine de ALT'ye sahip olmalıdır, ancak URL'nin sitenin her bölümü için okunmasına gerek kalmaması için boş bırakılabilir.


1

ALT Özelliği

altÖzelliği, (yani, bir etiket grubu tanımlanmıştır img, areave opsiyonel olarak, inputve applet) nesne için bir metin karşılığı girmesini sağlamak için.

Bir metin eşdeğeri, aşağıdaki yaygın durumlarda web sitenize ve ziyaretçilerine aşağıdaki faydaları sağlar:

  • günümüzde, Web tarayıcıları çok farklı kapasitelere sahip çok çeşitli platformlarda mevcuttur; bazıları resimleri hiç görüntüleyemez veya yalnızca kısıtlı bir resim grubu grubunu görüntüleyemez; bazıları görüntüleri yüklemeyecek şekilde yapılandırılabilir. Kodunuzun resimlerinde alt özniteliği ayarlanmışsa, bu tarayıcıların çoğu, resimler yerine verdiğiniz açıklamayı görüntüler.
  • ziyaretçilerinizden bazıları kör, renk körü, az gören olsun, görüntüleri göremez; alt özniteliği, sayfanızdakiler hakkında iyi bir fikir sahibi olmak için ona güvenebilecek kişiler için çok yararlıdır.
  • arama motoru botları yukarıdaki iki kategoriye aittir: Web sitenizin hak ettiği gibi dizine eklenmesini istiyorsanız, sayfalarınızın önemli bölümlerini gözden kaçırmamalarını sağlamak için alt özelliğini kullanın.

Başlık Özniteliği

Bu tekniğin amacı, kullanıcılara bir titleöznitelikte yardım bilgilerini sağlayarak formlara veri girerken bağlama duyarlı yardım sağlamaktır . Yardım, format bilgilerini veya girdi örneklerini içerebilir.

Örnek 1: Bir
aramanın kapsamını sınırlayan bir açılır menü Bir arama formu, aramanın kapsamını sınırlamak için bir açılır menü kullanır. Açılır menü, arama terimini girmek için kullanılan metin alanının hemen yanındadır. Arama alanı ve açılır menü arasındaki ilişki, görünür bir etiket için yer olmayan görsel tasarımı görebilen kullanıcılar için açıktır. titleNitelik tanımlamak için kullanılan selectmenü. titleNitelik ekran okuyucular tarafından konuşulan veya ekran büyüteçlerini kullanan insanlar için bir araç ipucu olarak görüntülenebilir.

<label for="searchTerm">Search for:</label>
<input id="searchTerm" type="text" size="30" value="" name="searchTerm">
<select title="Search in" id="scope">
    ...
</select> 

Örnek 2: Bir telefon numarası için giriş alanları
Bir Web sayfası, alan kodu, değişim ve son dört rakam için üç alanla birlikte Amerika Birleşik Devletleri'nde bir telefon numarası girmek için kontroller içerir.

<fieldset>
    <legend>Phone number</legend>
    <input id="areaCode" name="areaCode" title="Area Code" type="text" size="3" value="" >
    <input id="exchange" name="exchange" title="First three digits of phone number" type="text" size="3" value="" >
    <input id="lastDigits" name="lastDigits" title="Last four digits of phone number" type="text" size="4" value="" >
</fieldset> 

Örnek 3: Bir Arama İşlevi Bir Web sayfası, kullanıcının arama terimlerini girebileceği bir metin alanı ve aramayı gerçekleştirmek için "Ara" etiketli bir düğme içerir. titleNitelik formu kontrolünü tanımlamak için kullanılır ve arama terimi girmiş olması gereken yerde bir metin alanı olduğunu kullanıcıya açıkça belirtecek şekilde düğme metin alanına sonra hakkını konumlandırılmıştır.

<input type="text" title="Type search term here"/> <input type="submit" value="Search"/>

Örnek 4: Form kontrollerinin
bir veri tablosu Form kontrollerinin bir veri tablosunun her bir kontrolü o hücre için sütun ve satır başlıkları ile ilişkilendirmesi gerekir. Başlık (veya ekran dışı LABEL) olmadan, görsel olmayan kullanıcıların formda sekme yaparken yardımcı teknolojilerini kullanarak karşılık gelen satır / sütun başlık değerlerini duraklatması ve sorgulaması zordur.

Örneğin, bir anket formunun ilk satırında dört sütun başlığı vardır: Soru, Katılıyorum, Kararsızım, Katılmıyorum. Takip eden her satır, her hücrede üç sütundaki cevap seçeneğine karşılık gelen bir soru ve bir radyo düğmesi içerir. Her radyo düğmesinin başlık özniteliği, yanıt seçeneğinin (sütun başlığı) ve sorunun metninin (satır başlığı) ayırıcı olarak bir tire veya iki nokta üst üste ile birleştirilmesidir.

Img Öğesi

MDN'de belirtilen izin verilen öznitelikler .

  • alt
  • crossorigin
  • decoding
  • height
  • importance (deneysel api)
  • intrinsicsize (deneysel api)
  • ismap
  • referrerpolicy (deneysel api)
  • src
  • srcset
  • width
  • usemap

Gördüğünüz gibi öğenin titleiçinde özniteliğe izin verilmiyor img. altÖzniteliği kullanırdım ve gerekirse öznitelik :hoveryerine CSS (Örnek: sözde sınıf ) kullanırdım title.


0

Hayır, bence altbu özniteliğin amacı, görüntünün görüntülenememesi durumunda "alternatif" metin sağlamaktır (görüntünün eksik olması veya tarayıcının görüntüleyememesi).


1
bu yüzden 3,8 yıldız mı yoksa 4,2 yıldız mı olduğu umrunda değil mi?
nonopolarite

0

ASP.NET MVC için MVCFutures her ikisini de yapmaya karar verdi. Aslında 'alt' sağlarsanız, otomatik olarak sizin için aynı değere sahip bir 'başlık' oluşturur.

Elimde kaynak kodu yok ama hızlı bir google araması bunun için bir test durumu ortaya çıkardı!

    [TestMethod]
    public void ImageWithAltValueInObjectDictionaryRendersImageWithAltAndTitleTag() {
        HtmlHelper html = TestHelper.GetHtmlHelper(new ViewDataDictionary());
        string imageResult = html.Image("/system/web/mvc.jpg", new { alt = "this is an alt value" });
        Assert.AreEqual("<img alt=\"this is an alt value\" src=\"/system/web/mvc.jpg\" title=\"this is an alt value\" />", imageResult);
    }

Bu yüzden, kötü davranış olarak kabul edilen IE7 ve altı gibi davranır. robertnyman.com/2009/05/07/…
Robin

0

İmg öğesi için başlık özelliğini kullanmamalısınız. Bunun arkasındaki mantık oldukça basit:

Muhtemelen altyazı bilgileri, varsayılan olarak tüm kullanıcılar için mevcut olması gereken önemli bilgilerdir. Eğer öyleyse, bu içeriği resmin yanında metin olarak sunun.

Kaynak: http://blog.paciellogroup.com/2010/11/using-the-html-title-attribute/

HTML 5.1 , başlık özelliğinin kullanımına ilişkin genel tavsiyeleri içerir:

Birçok kullanıcı aracısı, özelliği bu spesifikasyonun gerektirdiği gibi erişilebilir bir şekilde açığa çıkarmadığından, başlık özniteliğine güvenmek şu anda tavsiye edilmemektedir (örneğin, bir araç ipucunun görünmesini sağlamak için bir fare gibi bir işaretleme cihazının, yalnızca klavye kullanan kullanıcıları hariç tutması ve modern bir telefonu veya tableti olan herkes gibi yalnızca dokunma özellikli kullanıcılar).

Kaynak: http://www.w3.org/html/wg/drafts/html/master/dom.html#the-title-attribute

Erişilebilirlik ve farklı ekran okuyucular söz konusu olduğunda:

  • Jaws 10-11: varsayılan olarak kapalıdır
  • Window-Eyes 7.02: varsayılan olarak açıktır
  • NVDA: desteklenmiyor (destek seçeneği yok)
  • VoiceOver: desteklenmiyor (destek seçeneği yok)

Dolayısıyla, Denis Boudreau'nun yeterince ifade ettiği gibi: açıkça tavsiye edilen bir uygulama değil .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.