إن العناصر الهيكلية لـ HTML - المقالة ، والقسم ، والملاحة ، والجانب - هي ، للوهلة الأولى ، بعض الأجزاء الأسهل من مواصفات HTML5 لفهمها وتنفيذها. ومع ذلك ، فهي في الواقع جزء من أكثر أجزاء HTML5 التي تم تحديدها بشكل سيئ ، والمفهومة ، والمنفذة بشكل سيء.
خلقت تعسفا ؛ يحاولون تقديم طريقة جديدة تمامًا لتنظيم صفحات الويب ؛ ينتهك مبادئ التصميم الخاصة بـ HTML ؛ فهي تضر بإمكانية الوصول لبعض المستخدمين ؛ ويجب عدم استخدامها.
نعم ، سأخرج ببراعة ضد هذا الجزء المحدد من HTML5 ، لكن من فضلك لا تفترض أنني 'anti-HTML5'. لقد كتبت كتابًا عن HTML5 أنا أحب الشبكة المفتوحة ، وأنا أحب معايير الويب الجيدة ، وأحب حقيقة أنه بعد العمل خلال عقد من الركود ، فإن الابتكار في تقنيات الويب يحدث الآن بسرعة مذهلة تمامًا. لكن هذا لا يعني أننا يجب أن نقبل كل شيء نقدمه لنا. ليس علينا أن نأكل كل شيء على لوحة HTML5 ، حتى إذا وجدنا أجزاء من الطبق لذيذة بالفعل. بعض الأجزاء ربما تحتاج إلى إرسالها إلى الشيف.
هناك أجزاء جيدة وسيئة لمواصفات HTML5 الهائلة ، وسننظر بشكل نقدي حول جزء محدد جدًا من المواصفات: التقسيم ، أو العناصر "الهيكلية" HTML5 التي تقدم. لذلك دعونا نضع قبعاتنا المحققين وننظر إلى أين جاءت هذه العناصر الجديدة بالفعل ، وكيف من المفترض أن يتم استخدامها ، وكيف أخطأنا ، مجتمع تصميم الويب ، في فهمها بشكل جوهري ، بشكل أساسي من خلال تقديم المواصفات. سنسأل الأساس لهذه العناصر ، ونمحو بعض الأساطير بشأنها على طول الطريق.
دعنا ندمر أسطورة تكررت بسبب هذه العناصر: فكرة أنها تستند إلى بحث في كيفية قيامنا ، مجتمع الويب ، بتوثيق وثائقنا. إنها أسطورة تتكرر في الكتب والمدونات والمحادثات منذ سنوات ، وهذا غير صحيح. كيف أعرف؟ انا سألت.
عندما كنت أبحث في أصول هذه العناصر ، قررت أن أطلب من محرر مواصفات HTML5 ، إيان هيكسون ، حيث جاءت هذه العناصر. رد:
أنا وسائر المساهمين في WHATWG [أضافتهم] ، [في] عام 2004 ، لأنهم كانوا عناصر واضحة للإضافة بعد رؤية كيف استخدم المؤلفون HTML4. قمنا في وقت لاحق (أواخر عام 2005 في وقت مبكر من عام 2006) بإجراء بحث موضوعي لمعرفة ما هي فئات HTML العشرة الأولى ، وتبين أنها مطابقة تمامًا للعناصر التي أضفناها ، والتي كانت مريحة.
دعنا نكسر ذلك: أولاً ، أضاف أعضاء Hickson و WHATWG هذه العناصر قبل إجراء أي بحث . يمكنك الغوص في أرشيف القوائم البريدية (WHATWG) (الجمهور العام) ، واكتشاف المناقشات المبكرة حول هذه العناصر بنفسك. على سبيل المثال ، يمكنك مشاهدة Hickson مناقشتها في نوفمبر 2004 ، مع تعليقات مثل هذا :
نعم ، أعتزم تضمين أشياء مثل [عناصر دلالية] في تطبيقات الويب. تحتوي لوحة المعلومات الموجودة في مكتبي حاليًا على قائمة بالعناصر تحت عنوان "HTML5 BLOCK LEVEL ELEMENTS" ، وأنا أحاول توضيح كيفية جعلها تعمل بشكل جيد (العناصر المذكورة حاليًا في المسودة ، ولكن المسودة لا تتعامل مع الرؤوس على الإطلاق). لم ألق نظرة على الترميز المضمن حتى الآن ، ولكن هذا على البطاقات أيضًا.
وهذا هو ، على ما يبدو ، كيف أصبحت الدلالات الهيكلية لهيئة HTML5: رجل واحد ، لوحة بيضاء واحدة ، وبعض المدخلات من أعضاء WHATWG الآخرين. (تم تشكيل مجموعة عمل WHATWG ، أو Web Hypertext Application Technology ، من قبل ممثلي المتصفح استجابة لتخلي W3C عن HTML لمثالية مثالية XHTML 2.0).
العناصر التي استخدمتها الملايين من الوثائق التي ناقشناها ونناقشها ، على ما يبدو ، خلقت بشكل تعسفي لمجرد نزوة محرر HTML5 في عام 2004. (وقد قوبل ذلك نقد ذكي وبعض التنبؤات الدقيقة للأسف تقريبا مباشرة.)
كانت Tantek تصر على تنسيقات البحث قبل التحديد الجديدة لفترة طويلة في سياق تنسيقات microformats ، وفي النهاية سيتم تصميم مواصفات WHATWG بشكل مماثل مع البيانات الفعلية ، بدلاً من سحب الأشياء من مجموعتنا الجماعية. - ايان هيكسون
هذا يقودنا إلى النقطة الثانية. في كانون الأول (ديسمبر) 2005 - أي بعد عام تقريبًا بعد طرح هذه العناصر الجديدة - قام هيكسون (وهو موظف في Google) بإجراء بعض الأبحاث حول كيفية كتابة الوثائق باستخدام قاعدة بيانات المستندات الضخمة الخاصة بـ Google. كان البحث عبارة عن "تحليل لعينة تضم ما يزيد قليلاً عن مليار وثيقة ، واستخراج معلومات حول أسماء الفئات الشائعة ، والعناصر ، والسمات ، والبيانات الوصفية ذات الصلة". لم يتم تضمين معرفات في البحث. ونشرت النتائج من قبل جوجل إحصائيات التأليف على الويب (2005) .
الجزء الحاسم من البحث ، فيما يتعلق بالعناصر الهيكلية لـ HTML ، كان نتائج الفصول الدراسية والتي ، على الرغم من استخدام عينة فيها 900 مليون وثيقة من المليار على ما يبدو لم يكن لديها أصناف على الإطلاق ، احتوت على بعض الفصول الشائعة أنا متأكد من أننا استخدمناها جميعا في مشاريعنا قبل: تذييل ، قائمة ، عنوان ، صغير ، نص والمحتوى والرأس والتنقل ، وحقوق الطبع والنشر ، والزر الرئيسي ، وما إلى ذلك.
ثم يقدم Hickson تدور حول البيانات ، مما يشير إلى أن هذه الطبقات "في الواقع [خريطة] بشكل جيد للغاية للعناصر التي يتم اقتراحها في HTML5" ويوفر جدولا يقارن بين نتائج البحث ، والعناصر الجديدة في HTML5: تذييل الصفحة في البحث ، يوجد عنصر تذييل في HTML5 ؛ توجد فئة رأس في البحث ، عنصر رأس في HTML5 ؛ نصوص الفصول والمحتوى الرئيسي والهيئة موجودة في البحث ، وخطأ ... المقالة في HTML5 والتي ، كما سنرى ، لا تتطابق على الإطلاق ؛ لا يمكن العثور على القسم على الإطلاق ، وهو أمر جدير بالملاحظة أيضًا.
إذا أخذنا بالقيمة الاسمية ، فإن هذا كله معقول بشكل كاف. يمكنني استخدام تذييل الصفحة ، واستخدام تذييل الصفحة ، وتذييل HTML5. ما هي المشكلة؟
المشكلة هي ، إذا كنت تقرأ الفعلي مواصفات HTML5 يتم تعريف العناصر في HTML5 بطريقة لا علاقة لها بالكيفية التي استخدمناها بها تقليديًا.
من ناحية ، قدم Hickson مفهومًا جديدًا تمامًا لهيكلة صفحة الويب في HTML5 مع عناصر التقسيم . من ناحية أخرى ، يقارن Hickson عناصر HTML5 الخاصة به للفصول الدراسية المستخدمة في الحياة البرية دون فهم لما تم استخدامه بالفعل لهذه الفئات. المثال الكلاسيكي هو "header" ، والذي سيستخدمه معظمنا للمنطقة في أعلى الصفحة ، إلا أن مواصفات HTML5 تقترح أنه يمكنك استخدامه لرأس كل تعليق على الصفحة . هل حقا. فقط لأن الطبقات في البحث والعناصر في HTML5 لها نفس الاسم لا يعني أن استخداماتها متشابهة.
الآن ، إذا تم إبلاغها بوضوح أن عناصر جديدة تم تقديمها بهدف جديد ، ومنطق منطقي واضح ، فإن ذلك لن يكون سيئًا للغاية. لكن هذا ليس ما قيل لنا.
من هنا هيكسون في عام 2009 ، ردا على سؤال حول الغرض من القسم ، والمادة ، والمقال ، والجانب الآخر:
فهي ، أكثر أو أقل ، تملأ الطلبات الأكثر شيوعًا من مطوري الويب استنادًا إلى أكثر قيم الصفات شيوعًا في الصفوف = ". هدفهم الرئيسي هو تبسيط التأليف والتصميم.
لسوء الحظ ، يبدو أن هذه هي الحالة التي يكون فيها محرر HTML5 ، لجميع أعماله الجيدة في سحب المواصفات معا ، قد نسي (لماذا نكون كريمين) لماذا أضاف هذه العناصر إلى ما هو في الأساس مواصفاته. ربما يكون فارق التوقيت بين عامي 2009 و 2004 ، من يدري. ولكننا نعرف ذلك: لم تتم إضافة عناصر تقسيم HTML5 لملء "الطلبات الأكثر شيوعًا من مطوري الويب" على الإطلاق. كيف نعرف؟ يمكننا فقط أن ننظر إلى القائمة ، ونرى أكثر العناصر الأساسية المضافة ، مثل عنصر القسم (والمقالة ذات الصلة والعناصر جانبا) ، لا تظهر في البحث عن سمات الطبقة المشتركة على الإطلاق.
على الرغم من أن Hickson ربما نسي سبب إضافة هذه العناصر ، فلا يزال بإمكاننا قراءة المواصفات التي توثق الغرض منها.
ولكن ما يحدث عندما تخبر مصممي ومصممي الويب أن لا تقلق ، هذه العناصر فقط استبدال ما تقوم به بالفعل ، ومن ثم تحديد هذه العناصر بطريقة من المؤكد أنها ليست ما يفعله مصممو ومطوري الويب؟ يمكنك وضعها في رحلة في اتجاه واحد إلى مدينة الارتباك.
هذا هو أسوأ أنواع الأبحاث: تفسير كسول للبيانات التي تم القيام بها لتبرير القرارات التي تم اتخاذها بالفعل. مبدأ التصميم المتكرر بشكل كبير لـ HTML5 هو " تمهيد مزارعو الأبقار "، هذا هو" عندما تكون ممارسة منتشرة على نطاق واسع بين المؤلفين ، فكر في اعتمادها بدلاً من منعها أو اختراع شيء جديد. " وهكذا يبدو الأمر مع هذه العناصر البنيوية الجديدة: القسم ، المادة ، الملاحة ، والجانب (والرأس والتذييل) - هذه بالتأكيد هي "رصف الأبقار"؟
هذا هو الانطباع الذي لدى الكثير منا ، وهذا ما قيل لنا إنهم كذلك.
في الواقع ، منذ ما يقرب من خمس سنوات عندما حصلنا على أول مرة معاينة HTML5 بدا كما لو أن هذه العناصر يمكن أن تحل ببساطة محل الأقسام "غير المألوفة" التي اعتدنا استخدامها. ما كان عنوان div = "head" في أعلى الصفحة يمكن أن يصبح الآن رأسًا ؛ يمكن أن يصبح div id = "footer" الآن مجرد تذييل ، ويمكن أن يكون div فقط مقالاً. بسيط ، صحيح؟
لسوء الحظ ، على الرغم من قيامنا بما قيل لنا (أي فقط مبادلة واحدة للآخر) ، فقد قمنا بالفعل بتنفيذ هذه العناصر بطريقة لا تنعكس في مواصفات HTML5. أي أنه عندما يتعلق الأمر بهيكل HTML5 ، فقد قمنا بشكل أساسي بتقطيع المواصفات. توجد طريقتان حاليًا لهيكل HTML5 - التفسير المجتمعي ، والذي ينعكس في مقالة A Apart Apart لعام 2007 (وعدد آخر لا يحصى) ؛ ومواصفات HTML5 الفعلية ، والتي تقدم طريقة جديدة تمامًا لتنظيم صفحة ويب تسمى المخطط التفصيلي.
هذا هو التناقض في قلب دلالات HTML الهيكلي. من ناحية ، لدينا محرر يقول لنا أن العناصر الجديدة مبنية على البحث حول ما كنا نقوم به بالفعل ، وبالتالي نهدف إلى جعل التأليف أسهل قليلاً. ومن ناحية أخرى ، لدينا ما أنشأه المحرر فعليًا في مواصفات HTML5 ، وهي طريقة جديدة لتنظيم صفحة الويب بطريقة تولد مخططًا للوثيقة باستخدام عناصر التقسيم .
كان هناك خيار واضح لجعل هنا. استبدل مبادئ تصميم HTML5 وأدخل شيئًا جديدًا ، أو ببساطة اتبع ممارسات التأليف الحقيقية وحدد العناصر بطريقة تعكس ممارسة تصميم الويب. حاول "هيكسون" أن يفعل "السابق" ويطلق عليه هذا الأخير ، ولدينا الآن فوضى كبيرة واحدة في أيدينا.
متعطش للمزيد؟ الجزء الثاني من هذه المادة متاح الآن ، ويتوفر كتاب Luke's "The Truth About HTML5" لفترة محدودة من خلال الموقع الشقيق MightyDeals.com بسعر مذهل 50 ٪.
هل تعمل مع العناصر الهيكلية HTML5؟ هل تجدها مفيدة أم عائقًا؟ اسمحوا لنا أن نعرف في التعليقات.
صورة مميزة / صورة مصغرة ، الاستخدامات صورة الهيكل عبر Shutterstock.