2010-12-01 22 views
31

Açılış <html> etiketinin HTML5 specifications for the lang and xml:lang attributes etiketini anlamıyorum. Biraz yukarı kaydırdığımda, xmlns'un bir "tılsım" olduğunu (hiçbir etkisi yoktur), ancak lang ve xml:lang hakkında nedir? Kullanılmalı mı? Eğer öyleyse, nelere ayarlanmalıdır? Gördüğüm ve duyduğumHTML5 <html> öznitelikleri xmlns, lang, xml: lang

+3

Bu belgeden oldukça açık olduğunu düşünürdüm; "Yazarlar HTML belgesindeki HTML özniteliğindeki lang özniteliğini HTML belgelerindeki HTML öğelerinde kullanmamalıdır", "Not: Önek içermeyen ad alanı ve öznitelik yerel adı" xml: lang "olan özniteliğin dil işleme üzerinde hiçbir etkisi yoktur.", vb.'lang' kullan ama xml yerine: lang 'XML yerine HTML ile uğraşırken) –

+0

Evet, sonunda bunu anladım. Sorun yaşıyorum çünkü bu bağlamda bir ad alanının veya önekin ne olduğunu bilmiyorum. ' 'nın da, varsa, xml: lang'nin hiçbir etkisi yoktur. – ma11hew28

+2

@Chris Morgan - Belgenin hiç de açık olduğunu sanmıyorum. Tamamen ve kesin, elbette, ama çok fazla ince şeyler oluyor. "Yazarlar, HTML adlarında HTML ad alanındaki lang özniteliğini HTML belgelerinde HTML öğelerinde kullanmamalıdır" seçeneğini düşünün. Bunu bir HTML ayrıştırıcısı ile yapmak imkansızdır, yalnızca Document.createAttributeNS gibi şeyleri kullanarak komut dosyası aracılığıyla yapılabilir. Bu sana açık mıydı? – Alohci

cevap

36

her şey

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset='UTF-8'> 

(ya da her türlü karakter set aslında istiyorum) tutması gerektiğini öne sürmektedir. Sayfa ile ilişkili bir dil istiyorsanız, <html> etiketinde "lang" özelliğini kullanabilirsiniz.

HTML5 bu yana değil XML, gerçekten, ben kişisel olarak herhangi bir xml: ad alanı malzeme kullanmak garip bulabilirsiniz.

+3

Harika, teşekkürler. Sonra, [LinkedIn] (http://www.linkedin.com/) gibi ile gideceğim. – ma11hew28

+4

Oh, xmlns html özniteliği belirtmek yoksa (HTML veya XHTML, ihtiyacınız xmlns özelliği olarak görev yaparken doğru bir şekilde oluşturulur poliglot biçimlendirme için hedef konum, eğer geçerli XHTML değil ve bu çok kötü uygulama/xhtml + xml olarak sunulması, aksi halde bir sayfa yerine bir belge ağacı göstereceğinden). Diğer taraftan, HTML5'te xmlns öğesini kullanırsanız, W3C doğrulayıcısı, bir içindeki http-equiv'in geçersiz bir değer olduğunu belirten bir hata verir. meta etiketi dışarıda bırakmak, belgeye eklemeniz gerektiğini uyarır. – Triynko

+2

Ayrıca, HTML5 XML olmamasına rağmen, '
' gibi void öğelerin XHTML benzeri sözdizimini destekler ve her şeyi XHTML ad alanında 'http: // www.w3.org/1999/xhtml' şeklinde yazmayı bırakır. . – Triynko

17

xml: Metin/html serileştirmesindeki lang, yazarların çokgenli belgeleri yazabilmelerini sağlamak için yalnızca oradadır - geçerli XHTML5 ve geçerli HTML5 belgeleri.

HTML'de (XHTML'nin aksine), xml: lang XML ad alanında bir öznitelik değildir, xml:lang adı verilen boş ad alanında bir özniteliktir. Yani kolonun hiç sihirli özelliği yoktur, bu özellik isminde başka herhangi bir karakter gibidir.


başlangıçta vardı soruya cevap vermek için yaklaşık en-US-x-hixie: Ian Hickson, editörü tarafından yazılmış olarak

en-US-x-hixieen-US (yani Amerikan İngilizcesi) artı ABD İngilizce varyantı anlamına gelen bir özel kullanım alt etiketi -x-hixie olduğunu HTML5. BCP 47 http://www.ietf.org/rfc/bcp/bcp47.txt Bölüm 2.2.7. Private Use Subtags

0

bir ekran okuyucu kullanan kullanıcılar için geldiğinde lang niteliği html belge üzerinde büyük bir fark yaratıyor, 5646:

Özel Kullanım Alt etiketler RFC de tanımlanmıştır. Yani a11y'yi düşünerek kesinlikle kullanmak isteyeceksiniz. Bu video en iyi argüman: https://youtu.be/0uzxu9dQnuU "lang özniteliğinin JAWS konuşmasına etkisi". Bir ekran okuyucusunun ingilizce metinleri ispanyolca, fransızca veya almanca telaffuz ile (ki bunu anlamak çok zor) nasıl telaffuz edeceğini gösteriyor, çünkü lang attr her seferinde bu dillere ayarlanmış. Ayrıca

kontrol edin: (örneğin farklı farklı diller için yazı tipleri)

  • Şekillendirme
  • Yazım hatalarını düzeltme
  • Çeviri araçları
  • Arama sonuçları (sayfa: belirtilen bazı iyi nedenleri vardır https://www.w3.org/International/questions/qa-lang-why.en iç işaretleme, kullanıcının dil tercihlerine bağlı olarak bunların kalitesini geliştirmek için kullanılabilir)
+0

Bu bağlantı soruyu yanıtlayabilirken, cevabın temel kısımlarını buraya dahil etmek ve referans için bağlantı sağlamak daha iyidir. Bağlantılı sayfa değiştiğinde yalnızca bağlantı yanıtları geçersiz olabilir. - [Yorum Yaz] (/ review/düşük kaliteli yazılar/18812057) – Zze

İlgili konular