مساعدة في خطأ التحقق من صحة HTML: لا يحتوي عمود الجدول على خلايا تبدأ فيه

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

سؤال

الرجاء مساعدتي مع هذه خطئ في التحقق. لا أستطيع أن أفهم ما يعنيه ذلك أو ما هو الشكوى مع HTML الخاص بي.

سأعيد نشره هنا لأن آمل أن أقوم بإصلاحه ولن يعمل هذا الرابط:

لا يحتوي عمود الجدول 2 الذي أنشئه عنصر TD على خلايا تبدأ فيه.

…="tooltip_table"><tr><td colspan="2">20 yd range</td></tr><tr><td colspan="2"
                                     ↑
هل كانت مفيدة؟

المحلول

HTML 5.2 المسودة: القسم 4.9.12.1 تشكيل جدول

http://w3c.github.io/html/tabular-data.html#forming-a-table

الخطوة 22: إذا كان هناك صف أو عمود في الجدول الذي يحتوي على فتحات فقط لا تحتوي على خلية ترتكز عليها ، فهذا خطأ في نموذج الجدول.

نصائح أخرى

عندما تقول colspan="2", ، من المفترض أن يمتد العمود عبر عمودين. أعتقد أنه لا يوجد عمود ثانٍ محدد في أي مكان آخر في القدر ، وبالتالي صنع colspan="2" مستحيل (وغير ضروري).

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

ومع ذلك ، أجد أن رسالة الخطأ منطقية للغاية بحيث لا تشكل خطأً صريحًا.

لا يحتوي عمود الجدول 2 الذي أنشئه عنصر TD على خلايا تبدأ فيه.

باستخدام colspan="2", ، أنت تعني وجود عمود ثانٍ ، وهو غير موجود في هذه الحالة. يخبرني الفطرة السليمة أنه من الصحيح أن ناج.

ربما يمكن لشخص ما إلقاء بعض الضوء على هذا ... أو أنه ، في الواقع ، خطأ.

أعتقد أنه خطأ ، ولا يزال غير مثبت. يعتبر صفحة المثال هذه وقم بتشغيله من خلال مصادقة W3C. إنه يعطي أخطاء لـ "Table Column 3 الذي تم إنشاؤه بواسطة Element TD ليس له خلايا تبدأ فيه." ، ومع ذلك ، يحتوي كل جدول على 4 خلايا/أعمدة ، ويتم استدعاء "colspan" من 2 على الخلية الثانية.

يبدو وكأنه مشكلة مع المدقق HTML5. لا يأتي هذا الخطأ إذا كنت تحقق من صحة هو HTML 4.01 الانتقالية ، ولم يتم تغيير الجدول HTML كثيرًا في HTML5.

http://validator.w3.org/check؟uri=http://www.wowpanda.net/s9712&charset=(detect+automally)&doctype=html+4 /1.654

الإبلاغ عن أنها فكرة جيدة على الأرجح

كان لدي نفس الخطأ على جدول تم إنشاؤه ديناميكيًا. اعتمادًا على المدخلات ، تم عرض بعض الصفوف أم لا. مثله:

لا يسبب أي خطأ:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
<tr>
<td colspan=2> one cell in row 2 </td>
</tr>
</table>

لا يسبب أي خطأ:

<table>
<tr>
<td> cell 1 in row 1 </td>
<td> cell 2 in row 1 </td>
</tr>
</table>

يسبب خطأ:

<table>
<tr>
<td colspan=2> one cell in what is now the only row </td>
</tr>
</table>

بمجرد برمجة الصفحة لحذف Colspan من المثال الأخير عندما لم يتم عرض الصف الأول ، اختفى الخطأ. شيء من هذا القبيل:

<?php if (first row with two cells is displayed) echo 'colspan=2'; ?>

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

مجرد إصلاح الرابط لإجابة Alohci.

https://w3c.github.io/html/single-page.html#forming-a-table

  1. إذا كان هناك صف أو عمود في الجدول الذي يحتوي على فتحات فقط لا تحتوي على خلية ترتكز عليها ، فهذا خطأ في نموذج الجدول.

هذا الموضوع قديم بعض الشيء لكنني أنشر هذا لأي شخص يصطدم به.

يؤدي تحديد كل عمود باستخدام TAG إلى إزالة الرسالة ويعطي أيضًا Colspan شيئًا يتعين على.

مزيد من المعلومات في الإجابة هنا: لماذا لا يتم تطبيق كولسبان كما هو متوقع

إذا قمت بتشغيل الجدول - فإنه يعمل على إصلاح أخطاء عمود التحقق من الصحة. إذا كان لدى الجدول 8 أعمدة ، فيجب أن يحتوي الصف الأول على 8 عناصر ، إذا كنت تبدأ فقط ، فأنت لا تريد رؤيتها. عنصر CSS هو: tr.init {border: none ؛} والصف الأول التالي من جدول العمود 8. والنتيجة هي - أنت لا ترى الصف الأول وتتم إصلاح أخطاء التحقق من الصحة.

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