مساعدة:أخطاء Lint/html5-misnesting

From mediawiki.org
This page is a translated version of the page Help:Lint errors/html5-misnesting and the translation is 100% complete.

نص الويكي المدخل

<span>a

b</span>

خرج Tidy

يتولى Tidy تنظيف خرج معرب بي إتش بي وذلك لتوليد

<p><span>a</span></p>
<p><span>b</span></p>

خرج إتش تي إم إل 5 (مثال Parsoid و RemexHTML)

إلا أنه توجد أداة تستند إلى إتش تي إم إل 5 تتولى تنظيف خرج معرب بي إتش بي بصفة مختلفة وذلك لتوليد

<p><span>a</span></p>
<p>b</p>

تصويب نوصي به

غيّر نص الويكي ليصبح:

<span>a</span>

<span>b</span>

تلميحات أخرى

توضع الصفحات أحيانًا في مجموعة خطأ تسمى «Misnested tag with different rendering in HTML5 and HTML4» رغم أن المشكلة الفعلية هي وسم بداية أو نهاية منفرد. لو وجدت أخطاء «missing end tag» أو «stripped tag» على الصفحة التي تحاول تصويبها، صوّب كل هذه الأخطاء أولًا وربما تصوَّب أخطاء الوسوم المتدخلة خطأ من تلقاء نفسها بفضل ذلك. أحيانًا لا يظهر خطأ «missing end tag»، رغم أنه الخطأ الفعلي (طالع حالة الاستخدام التالية التي تبدأ "This line is highlighted...").

واحد من السبل الرئيسية التي يؤثر بها ذلك على صفحات الويكي هو حينما توجد مسافة امتداد «span» (أو أي وسم آخر مدرج في قائمة الوسوم المتأثرة تاليًا) مستخدمة في حزم قائمة. بسبب التفاعل بين عطل فني في معرب بي إتش بي (وهو عطل فني يصعب تصويبه وهو سبب وجود تصنيف pwrap-bug-workaround الخاص بأخطاء الكود، بينما أن بارسويد لا يعاني من هذا العطل الفني) وبين مواصفات إعراب إتش تي إم إل 5، حينما يزال Tidy، لن تنطبق وسوم الحزم هذه على القائمة.

حينما يستخدم وسم ‎<span> في حزم قائمة، استخدم وسم ‎<div> بديلًا عنه. هذا هو السبيل الصحيح لفعل هذا منذ أن أي قائمة هي عبارة عن هيكل طوبوي ووسم ‎<div> يلائمها أكثر من ‎<span> منذ أنه مناسب في سياق النصوص السطرية. هذا هو التصويب الذي نوصي به. طالع هذا التعديل على ويكيبيديا الإيطالية مثالًا على هذا.

لكن، حينما يكون الأمر ملائمًا، فكر جديًّا في إصلاحات مثل تلك المبينة في الجدول التالي.

حالة استخدام ترميز بديل أو تصويب مقترح
وسم ‎<span> يستخدم في التنسيق (حجم الخط أو تسطير أو خلافه) استخدم وسم التنسيق الملائم (مثال: وسم ‎<small> لو كنت تقلل حجم الخط مثال من ميتاويكي)
وسم ‎<del> يحيط بقائمة الغرض منه شطب بنود من هذه القائمة
  • الخيار 1: استخدم وسم ‎<s> بديلًا
  • الخيار 2: إحاطة كل بند على حدة بوسم ‎<del>
وسم ‎<span> مع الأنماط الفارغة التخلص من وسم span
وسم ‎<span> يحيط بوسوم كتلية في كل الحالات استخدم وسم ‎<div> بديلًا (أضف style="display:inline;" لو كان إضافة فاصل سطر أمر غير مرغوب فيه)
قالب يستخدم وسوم ‎<span> يحيط بقالب يستخدم وسوم ‎<div> غيّر القالب المحيط كي يستخدم وسوم ‎<div>، طالما أن القالب المحيط لا يستخدم مطلقًا داخل وسوم span. أو لو كان القالب المحيط ينفّذ فئة مثل «nowrap»، أضف هذه الفئة داخل القالب المحاط بدلا من الحالي.
<span style="font-size: 80%"><sup>2</sup>Lorem ipsum etc. هذا السطر مظلل بسبب وجود خطأ في التداخل، إلا أن المشكلة الفعلية هي غياب وسم span في نهاية السطر. أضف وسم النهاية الناقص (أو أزل الوسم الافتتاحي، لو كان خارجيًا) لتصويب المشكلة.
"You need to use a <span> tag to do that...." كتب واحد من المحررين وسمًا في صفة مثال، إلا أنه كان يجب عليه أن يستثنيه من الإعراب البرمجي. Replace the opening < character with &lt;
"This is an <abbr>abbreviation<abbr>" (trailing opening tag inserted by mistake) كتب واحد من المحررين مجموعة من الوسوم الافتتاحية والختامية، إلا أنه نسي إدراج / في الوسم الختامي. Replace the final ‎<abbr> tag with ‎</abbr>.

<span id="Pay_special_attention_to_‎<sub>,_‎<sup>">

انتبه كثيرًا لكلا من ‎<sub> و‎<sup>

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

الوسوم المتأثرة

الوسوم التالية متأثرة.

ABBR, BDI, BDO, CITE, DATA, DEL, DFN, INS, KBD, MARK,
Q, RB, RP, RT, RTC, RUBY, SAMP, SPAN, SUB, SUP, TIME, VAR

انظر أيضا