سيتم التحقق من صحة HTML 5 يكون يستحق كل هذا العناء ؟

StackOverflow https://stackoverflow.com/questions/432933

  •  10-07-2019
  •  | 
  •  

سؤال

إنه يعتبر على نطاق واسع أن السبب أفضل صحة المرء HTML هو التأكد من أن جميع المتصفحات التعامل معها باستمرار و كما هو متوقع.

HTML 5 مشروع ، ومع ذلك ، يحتوي على اثنين من المواصفات في جهاز واحد.أول مؤلف المواصفات ، واصفا العناصر والسمات التي HTML الكتاب يجب أن تستخدم ، وترابطها.التحقق من صحة HTML 5 الصفحة تعتمد على هذه المواصفات.عناصر السمات المضمنة مباشرة مستمدة من HTML 4 ، ولكن يجب أن يكون مبررا من المبادئ الأولى ، وهو ما يعني أن بعض HTML 4 ميزات مثل ملخص السمة على <table>, longdesc على <img> وملامح السمة على <head>لا يبدو حاليا في هذا المشروع.هذه الميزات لا تعتبر إهمال ، فهي ببساطة غير المدرجة.(غيابهم عن مشروع لا تزال مسألة النزاع ، على الرغم من إدراجها في أي وقت قريب لا يبدو احتمالا.)

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

ولا سيما بسبب HTML 5 ويعرف أن تكون 100 ٪ متوافق مع ويب, جميع صالحة HTML 4 و كل باطل ولكن يشيع استخدامها علامة المتابعة ، سوف تستمر معالجتها بالضبط نفس كما هو اليوم ، بغض النظر عما إذا كان هو HTML 5 صالحة أم لا.

ولذلك ، كحد أدنى ، أي شخص استخدام أي ميزة من HTML 5, HTML 4 ، أو أي إصدار سابق من HTML, بالإضافة إلى العديد من الملكية ملحقات يمكن أن تكون على ثقة بأن HTML سوف تحصل متسقة ويمكن التنبؤ بها العلاج في جميع المتصفحات.

ونظرا لهذا, فإنه لا تجعل أي معنى للحد منها HTML 5 التي سيتم التحقق من صحة, و ما الفائدة العملية سوف نحصل عليها من القيام بذلك ؟

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

المحلول

  • أولا هناك طبقة من صحة المقابلة "تحليل الأخطاء" في HTML5 تحليل خوارزمية.هذه الطبقة هي مشابهة XML جيدا formedness.السبب قبل كل شيء لتجنب وجود أخطاء في المستندات الخاصة بك على هذه الطبقة هي التي قد تحصل الدهشة تحليل شجرة.إذا كان المستند الخاص بك خالية من الأخطاء على هذه الطبقة ، يمكنك الحصول على أقل هل هناك مفاجأت التصحيح عند كتابة JS أو المغلق الذي يعمل مع DOM.
  • باعتبارها حالة خاصة من المذكورة أعلاه طبقة هناك HTML5 doctype: <!DOCTYPE html>.السبب واحد يريد الالتزام هنا هو الحصول على وضع المعايير في أسهل طريقة ممكنة.هو شيء يمكنك حفظ على عكس HTML 4.01 أو XHTML 1.0 doctypes تحتاج إلى نسخ ولصق في كل مرة.طبعا سبب لماذا كنت تريد وضع المعايير هو أقل من المفاجآت على CSS طبقة.
  • السبب الرئيسي لرعاية حول المصادقة على طبقة أعلى من تحليل خوارزمية اصطياد الأخطاء المطبعية الخاصة بك بحيث يمكنك قضاء وقت أقل في التصحيح لماذا الصفحة الخاصة بك لا تعمل مثل كنت تتوقع.
  • النقطة السابقة لا يفسر لماذا يجب أن نهتم التحقق من صحة عندما معين العنصر أو السمة الذي لم كتابتها تدعمها المتصفحات كمسألة الإرث ولكن HTML5 المواصفات لا يزال يتجنب ذلك.هنا لماذا HTML5 وقد obsoleted جملة مثل هذه:
    • HTML5 يستخدم obsoletion إشارة إلى البلاغ أن بعض الميزات هي مضيعة للوقت.وتشمل هذه longdesc, summary و profile.(لاحظ أن الناس يختلفون حول ما إذا كانت هذه هي في الحقيقة مضيعة للوقت ، ولكن بصيغتها الحالية, HTML5 يجعل لهم عفا عليها الزمن.) وهذا هو, إذا كان لديك موارد محدودة إلى تحسين إمكانية الوصول ، الموارد المحدودة أفضل تنفق على شيء آخر غير longdesc و summary.إذا كان لديك موارد محدودة الدلالية النقاء الموارد الخاصة بك أفضل تنفق على شيء آخر غير التأكد من أن لديك الحق في الرقية profile.
    • HTML5 يلغي بعض العرض الميزات التي يمكن أن تتكرر في CSS دليل المؤلفين استخدام CSS الخاصة بهم جيدة.بهذه الطريقة, الكتاب الذي لا ينظر الصيانة من تلقاء نفسها هي من المفترض أن تكون موجهة إلى المزيد من كود للصيانة مع ذلك.شخصيا كنت تفضل إجراء المزيد من تراث العرض الاشياء مطابقة وتركها للمؤلفين أنفسهم أن تقرر الطريقة التي تفعل أشياء يعمل بالنسبة لهم.
    • بعض الأشياء obsoleted لأسباب سياسية.على <font> عنصر obsoleted لأن جعله المطابقة من شأنه أن يجعل المضادة<font> standardistas أعتقد أن HTML5 الناس قد ذهب مجنون ، والتي يمكن أن تؤدي إلى سوء العلاقات العامة. <applet> هو obsoleted أساسا من حيث المبدأ لا يعطي توصيف معين واحد في المكونات.على classid السمة على <object> هو obsoleted لأنه في الممارسة ActiveX محددة.
    • بعض الأشياء obsoleted على أساس اللغة جماليات التصميم.وهذا يشمل name السمة على <a> و language السمة على <script>.

(لقد وضع المصادقة.نو HTML5 مدقق الذي هو أيضا HTML5 التحقق من صحة محرك المستخدمة من قبل W3C validator.)

نصائح أخرى

<اقتباس فقرة>   

ونظرا لهذا، وأنها لا تقدم أي معنى للحد منها HTML 5 لتلك التي سوف تحقق، وما فائدة عملية سوف نحصل عليها من القيام بذلك؟

نعم، بطبيعة الحال. كنت قد نسيت أن المستقبل ليست ثابتة. على وجه الخصوص، التي تفترض ضمنا أن HTML 5 والمواصفات تتغير أبدا، وأبدا استنكر أي الميزات. هذا، بطبيعة الحال، يعزز فقط على الوضع الراهن. ومن المرغوب فيه بالتأكيد لإزالة الدعم عن بعض الميزات في المدى الطويل، لتجعل من السهل على التطورات الجديدة لتأخذ مكان (لا سيما إذا كانت هذه قد يتعارض بعضها البعض).

وربما لا يكون هناك فائدة مباشرة في إنتاج صالحة HTML 5 (إلا أنه لا تزال يجعل التحقق من صحة، وبالتالي تطوير أسهل). ولكن قد تكون هناك فائدة بعيدة المدى إذا تحسن معظم المواقع في جودة لأنه يجعل الانتقال خارج التقنيات والمعايير أسهل بكثير.

الحالية
ولم يكن

والتحقق من صحة حقا حول الحصول على نتائج متسقة عبر المتصفحات، حتى قبل أن يبدأ HTML5. هذا هو أسطورة تروجها أولئك الذين لا يفهمون ما يتحدثون عنه، حتى لو كانوا يعتقدون أنهم القيام به.

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

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

وهذا هو، في الواقع، واحدة من الخفايا التي أجريتها مع HTML5. ليست هناك جدوى تحديد مجموعة فرعية من تيارات ك "صالحة"، إذا كان المتصفح يجب التعامل مع كل التيارات في نفس الطريق على أي حال. ودهور تنفق على قائمة WHATWG مناقشة آليات تراجعية هو مضيعة كبيرة للوقت الجميع، وخصوصا عندما XML يجب بالفعل حل جميع القضايا التوزيع.

وكان يمكن أن يكون فكرة مفيدة لإنتاج أفضل الممارسات وثيقة بشأن توزيع تركة وثائق غير صحيحة ولكن هذا له أي دور في مستوى شبكة الإنترنت، انها مجرد عنصر آخر لمواصلة الموحلة المياه المحيطة HTML5، والتي لا تستطيع أن تقرر ما إذا كانت إنها تريد أن تقنين السلوك (كما فعل HTML 3.2)، وإعادة تحديد منصة نظافة (مثل HTML 3.0 حاول) القائمة أو إضافة ملحقات جديدة تدريجيا.

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

وHTML5 ليس مواصفات HTML متماسكة، انها المترامية الاطراف Hixie، وصفة غير قابل للقراءة والتي لم تكتمل لكل شيء عشوائي يفكر متصفح ويب ينبغي القيام به. وسوف تفشل. ونهج W3 في البديل، XHTML2، قد فشلت بالفعل. ليس هناك اتجاه متماسك في المستقبل لمعايير الويب. لقد مرر الكرة.

وهذا سؤال جيد.

والغرض الأساسي من التحقق من صحة (بالنسبة لي على الأقل) هو لمساعدتي في التقاط الأخطاء في بلدي الترميز، وأن تعطيني قاعدة جيدة للبناء عليها عند اختبار الصفحات في مختلف المتصفحات. إذا كانت العلامات صحيحة، وكانت الصفحة borked في IE6، انها قضية IE6.

والحقيقة أن المتصفحات ينبغي لجميع ما زالت تتصرف بطريقة يمكن التنبؤ بها حتى لو وتشمل العلامات الخاصة بك HTML5 غير صالحة من الناحية الفنية مثل ملخص الجدول، أو مميزة accesskey مرساة، يسبب بلبلة المياه إلى حد ما.

وكقاعدة عامة من الإبهام، وكنت أريد دائما صفحاتي للتحقق من صحة، للسبب المذكور. ومع ذلك، إذا (على سبيل المثال) أسقطت سمة من المواصفات HTML5 دون بديل مناسب على ما يبدو إضافتها، قد تميل I الاستمرار في استخدام سمة ايقاف العمل بها أو التي عفا عليها الزمن، وقبول أخطاء التحقق من الصحة.

وكما هو الحال دائما، وأعتقد انها حالة من معرفة الحرف الخاص بك.

إذا كنت تعرف ما تفعلونه، وجعلت <م> قرارا واعيا لبناء صفحة لم يتم التحقق من صحة لأسباب الصوت، انها ليست مشكلة. إذا كنت مجرد كتابة التعليمات البرمجية التي لا تتحقق لأنك لا تعرف أي أفضل، وهذا هو مسألة أخرى تماما.

وستيفن

W3C HTML5 المصادقة المشرف هنا.لقد كتبت مؤخرا قصيرة "لماذا شرعي ؟" قسم قسم "حول" من HTML5 المصادقة:

http://validator.w3.org/nu/about.html#why-validate

مصدر النص من القسم هنا:

https://github.com/validator/validator/blob/master/site/nu-about.html#L160

وسحب طلبات اقترح التحسينات/الإضافات هي موضع ترحيب.

ما لدي هناك حاليا هو:

والسبب الأساسي لتشغيل مستندات HTML من خلال المطابقة مدقق بسيط:للقبض على الأخطاء غير المقصودة—أخطاء قد وقد غاب عن خلاف ذلك—بحيث يمكنك اصلاحها.

أبعد من ذلك, بعض الوثيقة-التوافق مع متطلبات (صحة القواعد) في HTML المواصفات هناك لمساعدتك و المستخدمين من المستندات الخاصة بك تجنب أنواع معينة من المشاكل المحتملة.لشرح حيثيات وراء تلك الاحتياجات, HTML المواصفات يحتوي على هذين القسمين:

تلخيص ما جاء في تلك قسمين:

  • هناك بعض العلامات الحالات بأنها أخطاء لأنهم المشاكل المحتملة من أجل الوصول وسهولة الاستخدام وقابلية التشغيل البيني ، الأمن, أو الصيانة أو لأنها يمكن أن تؤدي إلى ضعف أداء ، أو التي قد تتسبب في البرامج النصية الخاصة بك إلى الفشل بطرق من الصعب استكشاف الأخطاء وإصلاحها.
  • جنبا إلى جنب مع هذه بعض العلامات حالات محددة كما الأخطاء لأنها يمكن أن تسبب لك بتشغيل إلى مشاكل محتملة في HTML تحليل و معالجة الأخطاء السلوك بحيث كنت في نهاية المطاف مع بعض unintuitive, نتيجة غير متوقعة في DOM.

التحقق من صحة المستندات الخاصة بك ينبهك إلى تلك المشاكل المحتملة.

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