Buraya biraz geç geliyorum, ama kendimi düşünürken bu sayfaya rastladım. Tabii ki Facebook veya Twitter'ın bunu nasıl haklı bulduğunu bilmiyorum, ama işte buna değer için kendi düşünce sürecim.
Sonunda, bu uygulamanın o kadar da acımasız olmadığı sonucuna vardım (bu bir kelime mi?). Aslında, kısalık ve "i for icon" un güzel birlikteliğinin yanı sıra, basit bir şekilde bir simge için aslında en anlamsal seçim olduğunu düşünüyorum<img>
etiket pratik olmadığında .
1. Kullanım özellikleri ile tutarlıdır.
W3'ün aklında olan şey olmasa da, bana göre resmi spekülasyon <i>
bir simgeyi kolayca barındırabilir. Sonuçta, cevap ok sembolü başka bir şekilde "cevap" diyor. Okuyucuya aşina olmayan ve tipik olarak italik olan teknik bir terimi ifade eder. ("İşte Twitter'da buna cevap oku diyoruz .") Ve bu başka bir dilden gelen bir terim: sembolik bir dil.
Ok sembolü yerine Twitter kullanılırsa <i>shout out</i>
veya <i>[Japanese character for reply]</i>
(İngilizce bir sayfada), bu özellikle tutarlı olur. O zaman neden olmasın <i>[reply arrow]</i>
? (Burada tam olarak HTML anlambiliminden bahsediyorum, erişebileceğim erişilebilirlikten değil.)
Görebildiğim kadarıyla, spesifikasyonun simge kullanımı ile açıkça ihlal edilen tek kısmı "metin aralığı" ifadesidir (etiket de metin içermiyorsa). <i>
Etiketin esas olarak metin için kullanıldığı açıktır , ancak bu, etiketin genel amacına kıyasla oldukça küçük bir ayrıntıdır. Bu etiket için önemli soru, içeriğin hangi biçimini içerdiği değil, içeriğin ne anlama geldiği.
Bu, özellikle "metin" ve "simge" arasındaki çizginin web sitelerinde neredeyse yok olabileceğini düşündüğünüzde geçerlidir. Metin daha çok bir simge gibi görünebilir (Japon örneğinde olduğu gibi) veya bir simge metin gibi görünebilir ("Gönder" yazan bir jpg düğmesinde olduğu gibi veya üstyazılı altyazılı bir kedi fotoğrafı) veya metin değiştirilebilir veya CSS üzerinden bir resim. Metin, resim - kimin umurunda? Hepsi içerik. Herkes - bozukluğu olan insanlar, bozukluğu olan tarayıcılar, arama motoru örümcekleri ve çeşitli türdeki makineler bu anlamı anlayabildiği sürece, işimizi yaptık.
Dolayısıyla, spekülasyonun yazarlarının bunu açıklığa kavuşturmayı düşünmemesi (veya seçmemesi), ellerimizi mantıklı olan ve etiketin ruhu ile tutarlı olan şeyleri yapmaktan bağlamamalıdır. <a>
Etiket Aslında başka bir yerde kullanıcıyı almaya, ama şimdi bir lightbox açılır diye düşünülmüştü. Büyük çember, değil mi? Birisi, spesifikasyon yakalanmadan önce bir ışık kutusunu nasıl açacağını çözmüş olsaydı, <a>
etiketi <span>
şu anki tanımla tamamen tutarlı olmasa bile a değil, kullanmış olmalıydı - çünkü en yakın geldi ve etiketinin ruhuyla hala tutarlı ("burayı tıkladığınızda bir şeyler olur"). Aynı anlaşma <i>
- içine ne tür bir şey koyarsanız koyun, ya da yaratıcı bir şekilde kullanırsanız,
2. <i>
Etiket , bir simge öğesine anlamsal anlam katar .
Bir ikon sınıfını tek başına taşımak için alternatif seçenek <span>
, elbette hiçbir anlamsal anlamı olmayan şeydir. Bir makine <span>
ne içerdiğini sorduğunda , "Bilmiyorum. Bir şey olabilir." Ancak <i>
etiket, "Her zamanki gibi bir şey söylemenin farklı bir yolunu veya belki de bilmediğiniz bir terimi içeriyor" diyor. Bu "Ben bir simge içerdim" ile aynı şey değildir, ama ona çok daha yakın <span>
!
3. Sonunda, ortak kullanım doğru olur.
Yukarıdakilere ek olarak, makine okuyucularının (arama motoru, ekran okuyucu veya her ne olursa olsun) Facebook, Twitter ve diğer web sitelerinin <i>
simgeler için etiketi kullandığını herhangi bir zamanda dikkate almaya başlayabileceğini düşünmeye değer . Şartnameyi, ne anlama gelirse gelsin koddan anlam çıkarmayı önemsediği kadar umursamıyorlar. Bu nedenle, bu yaygın kullanım bilgisini basitçe "burada bir simge olabilir" kaydetmek için kullanabilirler veya anlam için bir ipucu için CSS'ye bakmayı tetiklemek veya neyi kimin bildiğini daha gelişmiş bir şey yapabilirler. Dolayısıyla <i>
, web sitenizdeki for simgelerini kullanmayı seçerseniz , spesifikasyondan daha fazla anlam sağlanıyor olabilirsiniz.
Ayrıca, bu kullanım yaygınlaşırsa, gelecekte spesifikasyona dahil edilecektir. Ardından, kodunuzu <span>
kullanarak<i>
s'! Bu nedenle, özellikle mevcut spesifikasyonla açıkça çelişmediğinde, spesifikasyonun yönü gibi görünen şeylerle uğraşmak mantıklı olabilir. Yaygın kullanım, dil kurallarını diğerlerinden daha fazla dikte etme eğilimindedir. Yeterince yaşlıysanız, kelime yeni olduğunda "Web sitesi" nin resmi yazım olduğunu hatırlıyor musunuz? Sözlükler bir alan olması ve Web'in büyük harf kullanımı gerektiğinde ısrar etti. Bunun anlamsal nedenleri vardı. Ancak yaygın kullanım, "Her neyse, bu aptalca. 'Web sitesi' kullanıyorum çünkü daha özlü ve daha iyi görünüyor." Ve çok geçmeden,
4. Bu yüzden devam ediyorum ve kullanıyorum.
Bu nedenle, <i>
spesifikasyon nedeniyle makineler için daha fazla anlam sağlar, insanlar için daha fazla anlam sağlar, çünkü "i" yi "simge" ile kolayca ilişkilendiririz ve bu sadece bir harf uzunluğundadır. Kazan! Ayrıca, <i>
etiketin içine veya hemen yanına eşdeğer metin eklediğinizden emin olursanız (Twitter'ın yaptığı gibi), ekran okuyucuları nereye yanıt verileceğini anlar, CSS yüklenmezse bağlantı kullanılabilir ve iyi olan insan okuyucuları görme yeteneği ve iyi bir tarayıcı güzel bir simge görüyor. Tüm bunları göz önünde bulundurarak, olumsuz tarafı görmüyorum.
<i class="sm-reply"></i>
.