R021: مخاطر اتجاه غير معزولة: أرقام هواتف وبريد إلكتروني ومقاطع لاتينية داخل نص عربي
في النص من اليمين إلى اليسار، يظهر رقم هاتف مثل +966 55 123 4567 بهيئة 4567 123 55 966+ ما لم يُعزل في <bdi>، والأرقام المحاطة بأقواس أو المسبوقة بإشارات قد تنقلب بالطريقة نفسها.
الفحص
- المعرّف
- R021
- الخطورة الافتراضية
- متوسطة
متى يُطلق ملاحظة
متوسطة · ثقة متوسطة
النص الخاص بعنصر ظاهر يمزج العربية برقم هاتف، أو بريد إلكتروني، أو مقطع لاتيني سيتبدل ترتيبه: مقطع فيه رقم أو قوس أو إشارة أو نسبة مئوية، مثل
iPhone 15أو+15%، أو كلمتان أو أكثر تنتهيان بعلامة ترقيم. الكلمة اللاتينية المفردة كاسم علامة تجارية تُعرض حيث كُتبت ولا يُبلَّغ عنها.الإصلاح: اعزل كل مقطع:
<bdi>token</bdi>أو<span dir="ltr">token</span>. وأبقِ أرقام الهواتف من اليسار إلى اليمين.متوسطة · ثقة منخفضة
عنصر لا عربية فيه، داخل نص من اليمين إلى اليسار، يحمل رقم هاتف أو بريدًا إلكترونيًا أو رقمًا ملاصقًا لقوس أو إشارة أو نسبة مئوية، مثل
26K (-12.4%). تحسم خوارزمية الاتجاه هذه الرموز وفق الفقرة، فقد ينقلب ترتيبها. وذلك يتوقف على ما يحيط بها، لذلك يُبلَّغ بثقة منخفضة.الإصلاح: اعزل كل مقطع:
<bdi>token</bdi>أو<span dir="ltr">token</span>. وأبقِ أرقام الهواتف من اليسار إلى اليمين.
ما الذي يتجاهله عمدًا
النص المعزول أصلًا: <bdi>، أو عنصر يحمل سمة dir خاصة به، أو نص يستخدم محارف التحكم في الاتجاه. وكذلك كتل الكود وسياقات lang غير العربية. تُستبعد أسماء العلامات التجارية قبل قراءة المقاطع اللاتينية.
قبل الإصلاح وبعده
<p>للتواصل: +966 55 123 4567</p><p>للتواصل: <span dir="ltr">+966 55 123 4567</span></p>افحصه يدويًا
شغّل document.body.insertAdjacentHTML('afterbegin', '<p dir="rtl">+966 55 123 4567</p>') في وحدة تحكم DevTools: يظهر الرقم بهيئة 4567 123 55 966+، ومجموعاته معكوسة. وحين يُلفّ بـ<bdi>+966 55 123 4567</bdi> يحتفظ بترتيبه. ضع نصًا من صفحتك مكانه لتختبره.
ما يعرضه لك التقرير
تحمل كل ملاحظة من R021 ما ينطبق عليها من الحقول أدناه، فترى سبب ظهورها دون إعادة الفحص.
- hazards
- كل مقطع وُجد، مع نوعه: رقم يشبه رقم هاتف، أو بريد إلكتروني، أو مقطع لاتيني بجوار العربية، أو رقم محاط بعلامات ترقيم.
- sample
- نص العنصر، مقصوصًا عند 160 حرفًا.
مكوّنات تجتاز هذا الفحص بطريقة بنائها
تجتاز مكوّنات ريتلا هذه الفحص R021 بالطريقة التي بُنيت بها. إذا استخدمتها كما يصفها التوثيق، فلن تُدخل هذا الخلل إلى صفحتك.
فحوص أخرى في فئة الاتجاه والنص ثنائي الاتجاه
- R020حاوية مجبرة على الاتجاه من اليسار، أو تجاوز لخوارزمية الاتجاه، فوق محتوى عربي
- R022
text-align: leftمضبوطة صراحة على نص عربي في معظمه - R023حقول نص تُعرض من اليسار إلى اليمين حيث يُتوقع إدخال عربي
- R024علامة ترقيم تُعرض في الطرف المرئي الخاطئ من نص عربي
- R025أيقونة اتجاهية تشير عكس التسلسل الذي يتقدم فيه عنصر التحكم
هل تخفق صفحتك في الفحص R021؟
الصق رابطًا، فتعرض ريتلا الصفحة على سطح المكتب والجهاز اللوحي والجوال، وتشغّل كل الفحوص، وتريك أهم المشكلات مع لقطة شاشة دليلًا على كل منها.