# ورقة بحثية: Stylelint أعطى 1,744 تحذيرًا متطابقًا لواجهة RTL سليمة وأخرى بلا انعكاس

> **المغزى:** المغزى: الواجهات العربية قد تنكسر دون أي خطأ في الـ console أو تحذير من أدوات الفحص، لأن هذه الأدوات تقرأ الكود ولا ترى الشكل الذي يرسمه المتصفح فعلًا.

- المصدر: المغزى (https://almaghza.com/a/2026-10-26-rtl-linters-miss-broken-layouts/)
- التاريخ: 15 جمادى الأولى - 26 أكتوبر 2026 (2026-10-26)
- القسم: برمجيات
- الوسوم: CSS، الخطوط العربية، اختبار البرمجيات، arXiv

نشر الباحث Karan Yadav في 23 أكتوبر 2026 ورقة تقيس قدرة أدوات الفحص على اكتشاف أخطاء الواجهات المكتوبة من اليمين إلى اليسار (RTL). والنتيجة اللافتة أن أداة Stylelint أعطت العدد نفسه بالضبط، 1,744 تحذيرًا، لنسخة Bootstrap الإنجليزية ولنسخة RTL الصحيحة. أي أن التحذيرات لا تقول شيئًا عن الاتجاه أصلًا. كما أن pseudo-localisation، وهي طريقة شائعة لاختبار الواجهات بنصوص مزيفة، لم تكتشف أي عيب انعكاس.

وأصل المشكلة بسيط. حين تُكتب خاصية مثل margin-left بدل margin-inline-start، لا يعكسها المتصفح عند تفعيل dir="rtl". فيبقى العنصر في مكانه وتلتف بقية الصفحة حوله، بينما تعمل الصفحة دون أي خطأ في الـ console.

والطريقة التي تقترحها الورقة لا تقارن صورًا، بل تقرأ الـ computed style وإحداثيات العناصر بعد الرسم داخل متصفح بلا واجهة. وقد كشفت 13 عيبًا من أصل 14 عيب RTL حقيقيًا، أُعيد بناؤها من commits إصلاح قديمة في Bootstrap وMaterial Components Web، دون أي إنذار كاذب على 43 مكوّنًا سليمًا من 4 أنظمة تصميم. وأثناء ذلك وجدت عيب اتجاه في Bulma 1.0.4، وهي النسخة الحالية من الإطار.

وبالنسبة إلى فرق المنتجات العربية، يعني ذلك أن نجاح الواجهة في الفحص الآلي لا يضمن أنها تعمل بالعربية. فالأخطاء من هذا النوع تمر من الـ linting والاختبارات، ولا تظهر إلا لمن يفتح الصفحة بالاتجاه الصحيح.

ويبقى العمل بحثًا لا أداة جاهزة للتنزيل، والورقة نفسها تقول إنها تكشف العيوب ولا تصلحها. والإصلاح المعروف هو استخدام الخصائص المنطقية في CSS مثل margin-inline-start وpadding-inline-end وinset-inline بدل left وright.

## المصادر

- [الورقة على arXiv](https://arxiv.org/abs/2610.32934)
- [نسخة PDF من الورقة](https://arxiv.org/pdf/2610.32934)
- [قاعدة Stylelint التي قاستها الورقة](https://stylelint.io/user-guide/rules/declaration-property-value-no-unknown/)
- [شرح الخصائص المنطقية في CSS على MDN](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_logical_properties_and_values)
- [إطار Bulma](https://bulma.io/)
