R021: مخاطر اتجاه غير معزولة: أرقام هواتف وبريد إلكتروني ومقاطع لاتينية داخل نص عربي

في النص من اليمين إلى اليسار، يظهر رقم هاتف مثل +966 55 123 4567 بهيئة 4567 123 55 966+ ما لم يُعزل في <bdi>، والأرقام المحاطة بأقواس أو المسبوقة بإشارات قد تنقلب بالطريقة نفسها.

الفحص

المعرّف
R021
الفئة
الاتجاه والنص ثنائي الاتجاه
الخطورة الافتراضية
متوسطة

متى يُطلق ملاحظة

  1. متوسطة · ثقة متوسطة

    النص الخاص بعنصر ظاهر يمزج العربية برقم هاتف، أو بريد إلكتروني، أو مقطع لاتيني سيتبدل ترتيبه: مقطع فيه رقم أو قوس أو إشارة أو نسبة مئوية، مثل iPhone 15 أو +15%، أو كلمتان أو أكثر تنتهيان بعلامة ترقيم. الكلمة اللاتينية المفردة كاسم علامة تجارية تُعرض حيث كُتبت ولا يُبلَّغ عنها.

    الإصلاح: اعزل كل مقطع: <bdi>token</bdi> أو <span dir="ltr">token</span>. وأبقِ أرقام الهواتف من اليسار إلى اليمين.

  2. متوسطة · ثقة منخفضة

    عنصر لا عربية فيه، داخل نص من اليمين إلى اليسار، يحمل رقم هاتف أو بريدًا إلكترونيًا أو رقمًا ملاصقًا لقوس أو إشارة أو نسبة مئوية، مثل 26K (-12.4%). تحسم خوارزمية الاتجاه هذه الرموز وفق الفقرة، فقد ينقلب ترتيبها. وذلك يتوقف على ما يحيط بها، لذلك يُبلَّغ بثقة منخفضة.

    الإصلاح: اعزل كل مقطع: <bdi>token</bdi> أو <span dir="ltr">token</span>. وأبقِ أرقام الهواتف من اليسار إلى اليمين.

ما الذي يتجاهله عمدًا

النص المعزول أصلًا: <bdi>، أو عنصر يحمل سمة dir خاصة به، أو نص يستخدم محارف التحكم في الاتجاه. وكذلك كتل الكود وسياقات lang غير العربية. تُستبعد أسماء العلامات التجارية قبل قراءة المقاطع اللاتينية.

قبل الإصلاح وبعده

before.html
<p>للتواصل: +966 55 123 4567</p>
after.html
<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 بالطريقة التي بُنيت بها. إذا استخدمتها كما يصفها التوثيق، فلن تُدخل هذا الخلل إلى صفحتك.

هل تخفق صفحتك في الفحص R021؟

الصق رابطًا، فتعرض ريتلا الصفحة على سطح المكتب والجهاز اللوحي والجوال، وتشغّل كل الفحوص، وتريك أهم المشكلات مع لقطة شاشة دليلًا على كل منها.