it-swarm.asia

كيفية الحفاظ على الامتثال لمعايير W3C للموضوع

عندما كتبت موضوعًا ، تأكدت من توافقه مع XHTML 1.1 و CSS 2.1. ثم أضفت إضافات ولم يعد السمة متوافقًا مع XHTMl 1.1. ثم استخدمت خط واجهة برمجة تطبيقات Google في CSS الخاص بي وكان متوافقًا مع CSS 2.1.

هل هناك طريقة يمكنني من خلالها الحفاظ على الامتثال دون التخلص من المكونات الإضافية أو الخطوط وما إلى ذلك أو هل يجب عليّ تجاهل أخطاء التحقق من الصحة؟

10
James

تصحيحًا ، كان موضوعك لا يزال متوافقًا مع XHTML 1.1 و CSS 2.1 ، ولكن المكونات الإضافية التي قمت بإضافتها قد حقنت كودًا إضافيًالممتوافق.

لسوء الحظ ، لا توجد طريقة سهلة للحفاظ على التوافق إذا كنت تستخدم المكونات الإضافية. أفضل ما يمكنك القيام به هو التحقق من صحة المظهر الخاص بك وكل العلامات التي تكون مسؤولاً عنها شخصيًا ، ثم نأمل أن يكون هناك مطورون آخرون قد أمضوا وقتًا في التحقق من صحة عملهم.

البديل هو الكثير من العمل من جانبك - لا يزال بإمكانك استخدام الوظيفة الأساسية للمكونات الإضافية ، ولكن لا تسمح لهم بإخراج أي الترميز إلى المستعرض. أضف الطبقة المخصصة الخاصة بك التي تفكك كل شيء يلمسه المكون الإضافي ، وقم ببناء مخزن مؤقت للإخراج. هذه هيonlyالطريقة التي ستتحكم فيها في أسلوب الترميز الذي يتم إرساله إلى المتصفح.

بدأت العديد من المكونات الإضافية في استخدام HTML 5 ... بينما يحاول آخرون استخدام CSS3. إذا قمت بتثبيت هذه المكونات الإضافية ولم تتخذ خطوات لتطهير وإخراج مخرجاتها ، فسيتوقف موقعك عن التحقق بشكل صحيح.

5
EAMann

سيقوم كل مكون إضافي بإنشاء الشفرة التي يريد إنشاؤها وبعضها لن يكون متوافقًا مع XHTML 1.1. الطريقة الوحيدة المعقولة لتصحيح ذلك هي مراجعة كل واحدة منها وتعديل المخالفين أو مطالبة المطور بتعديل أو استخدام التعديلات كتصحيح.

يمكنك بدلاً من ذلك محاولة كتابة مرشح لتنظيفه ، لكن محاولة التقاط كل الحالات الخاصة تبدو كأنها نسخة من كابوس شخصي خاص بي وستؤثر أيضًا على الأداء لمنفعة مملوءة.

هل لديك عميل/رئيس يريد هذا ، أم أنه مجرد شيء يفترض أنه " لطيف بين ؟" (نعم ، هناك بعض الأشخاص الذين يشعرون بشدة بذلك ، لكنني لست من هؤلاء)

ومع ذلك ، يفقد XHTML حالته " الطفل ذي الشعر العادل " على الويب ؛ حتى تيم بيرنرز ليقال ذلك مرة أخرى في عام 2006:

بعض الأشياء أكثر وضوحا بعد فوات الأوان لعدة سنوات. من الضروري تطوير HTML بشكل تدريجي. لم تنجح محاولة جعل العالم يتحول إلى XML ، بما في ذلك علامات الاقتباس حول قيم السمات والمائلة في العلامات الفارغة ومساحات الأسماء في وقت واحد. لم يتحرك الجمهور الكبير المولِّد بلغة HTML ، إلى حد كبير لأن المتصفحات لم تشكو. لقد تحولت بعض المجتمعات الكبيرة واستمتعت بثمار أنظمة جيدة التنظيم ، ولكن ليس كلها. من المهم الحفاظ على HTML بشكل تدريجي ، وكذلك الاستمرار في الانتقال إلى عالم جيد التكوين ، وتطوير المزيد من القوة في هذا العالم.

قد ترغب أيضًا في قراءة HTML5 أسهل بكثير في الكتابة من XHTML 1.0. على StackOverflow. إليك ملخصهم:

مجرد بناء جملة ، عند استخدام HTML5 ، ينتهي بك الأمر مع نظافة وأسهل في قراءة العلامات التي تستدعي دائمًا وضع المعايير. عند استخدام XHTML 1.0 (يتم تقديمه كنص/html) ، فأنت تحدد مجموعة من الخام (من أجل التحقق من صحة مع dtd crappy) الذي سيفعله المتصفح تلقائيًا.

8
MikeSchinkel

لا يضمن الامتثال للمعايير أن يعمل موقع الويب الخاص بك في جميع المتصفحات. تجاهل الامتثال للمعايير والتركيز على الاختبار مع أكبر عدد ممكن من المتصفحات.

2
tomdxw

يمكنك تخزين مخرجات موقعك بأكملها مؤقتًا ثم ترتيبها في HTML متوافق. أفضل ما في الأمر هو أنه يمكن القيام بذلك تلقائيًا بالكامل:

يمكنك تمكين التخزين المؤقت للمخرجات على الحرف الأول أو السنانير ذات الصلة (مثل * setup_theme * الخطاف).

هنا شظايا رمز. أول واحد يدل على أنك تبدأ إخراج التخزين المؤقت وقراءة المخزن المؤقت في وقت لاحق:

<?php
ob_start();
?>
  …
<?php
$buffer = ob_get_clean();
$tidy = tidy_repair_string($buffer);
echo $tidy;
?>

الثاني يعرض بعض خيارات التكوين في العمل:

/* Tiny Configuration */
$config["clean"]         = true;
$config["hide-comments"] = true;
$config["output-xhtml"]  = true;
$config["indent-spaces"] = 2;
$config["tab-size"]      = 2;
$config["wrap"]          = 0;

$buffer = ob_get_clean();
$tidy   = tidy_repair_string($buffer, $config);

echo $tidy;

أراهن أن هناك بالفعل وورد البرنامج المساعد الحالي للقيام بذلك. لنرى:

1
hakre