سؤال

ما الفرق بين السطرين الموضحين أدناه؟:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-GB">

<meta http-equiv="content-language" content="en-GB" />

إذا لم يكن لدي علامة التعريف، فما هي النتيجة؟

هل يؤثر التعريف المرء على قارئات الشاشة والأحدى الأولى لا؟ أنا مرتبك بعض الشيء فيما يفعلون بالضبط.

شكرا مقدما على أي مساعدة

مع أطيب التحيات

يتخطى.

هل كانت مفيدة؟

المحلول

الغوص في إمكانية الوصول تحديد صفحة اللغة الخاصة بك يوصي بإضافة قدر الإمكان لمعالجة أكبر عدد ممكن من القراء الشاشة، اعتمادا على DocType:

إذا كنت تستخدم أي متغير من HTML 4، فقم بتغيير علامتك إلى هذا (استخدم رمز اللغة الخاصة بك إذا لم يكن الإنجليزية):

<html lang="en">

إذا كنت تستخدم أي تباين من XHTML 1.0، فقم بتغيير علامتك إلى هذا (استخدم رمز اللغة الخاص بك في كلا المكانين):

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">

إذا كنت تستخدم XHTML 1.1، فقم بتغيير علامتك إلى هذا (مرة أخرى، أدخل رمز اللغة الخاصة بك):

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

نفس المقالة أيضا مراجع ISO 639.2. لتحديد قيمة XML: يجب أن يكون Lang، على الرغم من أن مواصفات XML تشير إلى وثيقة منفصلة، RFC4646 أفضل الممارسة الحالية - العلامات لتحديد اللغات, يبدو أنه يشير إلى أن قيمتك "EN-GB" صالحة.

جوجل إحصائيات تأليف الويب (2005) لديها ما يلي ليقوله حول هذا الموضوع:

التالي هو قيمة لغة المحتوى (المستخدمة في سمة HTTP-Equiv). تقريبا أكبر عدد ممكن من الأشخاص هذا كما حدد سمة Lang لعنصر HTML. في المواصفات HTML5 حاليا، يسمح لسمة HTTP-Equiv فقط بحالة واحدة من إعداد ترميز الأحرف، والتي لا يمكن أن يتم إسقاطها حقا، حيث يوضح الرسم البياني أعلاه. ومع ذلك، يتم دعم HTTP-EQUIV = "لغة المحتوى" من قبل متصفح واحد على الأقل، وكما نرانا هنا، فهو يستخدم على نطاق واسع - ربما لا يجب إزالة HTTP-Equiv بعد كل شيء.

علاوة على ذلك، أ. خيط على webproworld. يتحدث عن الفرق بين استخدام HTTP-EQUIV = لغة المحتوى والاسم = اللغة لوصف لغة المستند وتضمن أن كلاهما ضروري.

أخيرا، راجع تقنيات HTML للحصول على إرشادات إمكانية الوصول إلى محتوى الويب 1.0 وثيقة في W3C لبعض التوصيات الأخرى، وتحديدا تحديد اللغة الأساسية.

في الختام، يبدو أن قارئات الشاشة يبحثون عن سمات Lang أكثر من معلومات تاوي لغة المحتوى، ولكن معظم التوصيات التي رأيتها نصيحة باستخدام بيانات التعريف على أي حال. خاصة إحصائيات Google تبدو ذات صلة، لذلك ربما يجب أن تترك في كليهما.

نصائح أخرى

وأعتقد أن ميزة واحدة من <meta> الإصدار هو أنه يمكنك تحديد لغات متعددة، كما في <meta http-equiv="Content-Language" content="en-GB, fr" />, ، علي سبيل المثال. القي نظرة على هذه للحصول على فحص أكثر متعمقا للموضوع.

Content-Language غير مطابقة في XHTML5.

في حين أنه يسمح لك بتحديد أكثر من لغة واحدة، يجب ألا تفعل ذلك (لا يساعد أي شخص). يجب عليك استخدامها xml:lang سمات عناصر محددة بدلا من ذلك، على سبيل المثال

<p xml:lang="en">Hello <span xml:lang="de">Welt!</span></p>

W3C I18N أسئلة وأجوبة هو أيضا ضد <meta>:

إن معلومات رأس HTTP أو عناصر META غير ذات صلة هنا. بصورة موسعة، يجب عليك تحديد لغة معالجة النصوص للمحتوى ككل باستخدام lang و / أو xml:lang سمات في html بطاقة شعار.

على حد علمى، Meta HTTP-EQUIV مطلوب فقط (إذا كان على الإطلاق) لمستندات HTML (وليس XHTML)، لأن XHTML يسمح بتحديد اللغة باستخدامXML: Lang..

لذلك، لا فرق، السطر الثاني هو فقط زائدة عن الحاجة.

يقول HTTP / 1.0 RFC 1945 إن حقل رأس لغة المحتوى يمثل "لغات الجمهور المقصود".

يصف حقل رأس اللغة محتوى اللغة اللغات (اللغات) الطبيعية للجمهور المقصود للكيان المرفق. لاحظ أن هذا قد لا يكون يعادل جميع اللغات المستخدمة داخل الكيان.

يعالج HTML4 و XHTML1.x علامة Meta HTTP-EQUIV مثل نفس المعلومات المضمنة في مستند HTML بدلا من رأس HTTP.

من ناحية أخرى، XML: لانج وسنة HTML Lang تحديد لغة المستند، أو الجزء الموجود داخل العنصر الذي يظهر السمة عليه.

لذلك، لنفترض أن لديك وثيقة كانت في المقام الأول باللغة الفرنسية لغرض تدريس اللغة الفرنسية للمتحدثين باللغة الإنجليزية، فإن لغة المحتوى ستكون en-gb، en-US (يقول)، في حين أن سمة XML: LANG ستكون FR-FR وبعد

ومع ذلك, ، HTML 5 تغييرات هذا، ويعتبر Meta HTTP-EXEIV = "لغة المحتوى" غير المتطابق HTML الذي يعرف اللغة الواردة في المستندات، ويدعم لغة واحدة فقط مماثلة بشكل فعال إلى XML: Lang على عنصر HTML. لا أستطيع أن أقول أنني أفهم المنطق وراء هذا التغيير ولكن Daniel Glazman و Ian Hickson ناقشه في الخيط الذي يبدأ من http://lists.w3.org/archives/public/public-html/2008nov/0083.html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top