للوهلة الأولى، تبدو المسافات في ترميز HTML غير ذات أهمية — سيعرض المتصفح كل شيء بشكل صحيح على أي حال. لكن بعض المواضع في المستند استثناء، حيث يغيّر حذف المسافات مظهر الصفحة فعليًا.
ما الذي يُحذَف بأمان
تحذف أداة التصغير تعليقات HTML <!-- ... -->، والمسافات والأسطر الفارغة الزائدة بين الوسوم، وعلامات الاقتباس حول السمات التي لا تحتوي على مسافات داخل قيمتها، وأحيانًا وسوم الإغلاق الاختيارية مثل </li>.
الخطأ الكلاسيكي: التصاق كلمتين ببعضهما
مسافة واحدة بين عنصرين مضمّنين هي مسافة مرئية فعلية على الصفحة، لا مجرد تنسيق في الكود المصدري. <span>مرحبا</span> <span>بالعالم</span> يظهر كـ"مرحبا بالعالم" بفاصل بينهما؛ وإذا حُذفت تلك المسافة بغير تدقيق، تصبح النتيجة "مرحبابالعالم" ملتصقة، دون أي رسالة خطأ. أداة التصغير الجيدة تحذف فقط المسافات التي لا أثر بصري لها — بين الوسوم من نوع block مثلًا — وتترك المسافة بين العناصر المضمّنة كما هي.
التصغير مقابل قابلية القراءة أثناء التطوير
أثناء التطوير، يُترَك HTML عادة منسّقًا مع مسافات بادئة — فهذا يسهّل إيجاد البنية في أدوات المطورين. يُطبَّق التصغير فقط على النسخة النهائية قبل النشر.
لماذا نحتاج هذا
- تقليل حجم صفحة HTML قبل نشرها في الإنتاج.
- حذف تعليقات المطور من النسخة النهائية للترميز.
- تجنّب الأخطاء بحذف المسافات فقط حيث يكون ذلك آمنًا فعلًا.
خاصية عربية إضافية: الاتجاه لا يتغيّر مهما فعلت أداة التصغير
تصغير HTML لا يمسّ سمة dir="rtl" ولا خاصية direction في CSS المضمّن — فهذه ليست مسافات بيضاء يمكن حذفها، بل قيم فعلية تحدد سلوك العرض. الأمر يستحق الذكر لأن بعض أدوات التصغير الأقل دقة قد تتلاعب بترتيب السمات داخل الوسم، وترتيب السمات لا يؤثر أبدًا على اتجاه النص أو تخطيط الصفحة — الاتجاه محكوم فقط بقيمة السمة أو الخاصية نفسها، وليس بموقعها في الكود.