مسار التنقّل
Breadcrumbsaria-current="page"
اسمه كمانفتات الخبز، شريط المسار، مسار الصفحة، دليل التسلسل، خط السير، breadcrumb trail، breadcrumb navigation، path bar، location trail
مسار التنقّل صفّ من الروابط يعرض موقع الصفحة الحالية داخل شجرة الموقع، من الجذر حتى الصفحة المعروضة. آخر عنصر فيه هو الصفحة الحالية نفسها: يُكتب عادةً بدون رابط ويُعلَّم بـ aria-current="page". والمسار يعكس التسلسل الهرمي للموقع لا تاريخ تصفّح المستخدم؛ فلو سرد الصفحات التي زارها بالترتيب صار سجلّ تصفّح لا مسار تنقّل. وهو ليس مؤشر خطوات، لأن الخطوات رحلة لها بداية ونهاية وترتيب زمني. وليس تبويبات، لأن التبويبات أشقاء في المستوى نفسه، ولا ترقيم صفحات، لأن الترقيم يتنقّل بين أجزاء متساوية من مجموعة واحدة.
لو قلت عليه…
العيّنة الحيّة
تفاعل مع الديمو. كل الأجزاء حقيقية ومرقّمة.
تشريح العنصر: كل جزء واسمه
مرّر على أي سطر ليتحدّد مكانه في الديمو فوق.
برومبت البناء
سلوكه في الاتجاه من اليمين لليسار
الجزء ده حصري عندنا.
اتجاه المسار
ينعكسينعكس المسار كله: الجذر (الرئيسية) يبدأ من اليمين، والصفحة الحالية تنتهي عند اليسار. ولا تستخدم margin-right للتباعد بين العناصر؛ استخدم gap أو margin-inline-start حتى ينضبط الاتجاهان بالكود نفسه.
الفاصل السهمي
ينعكسأهم خطأ في المسار العربي هو السهم ‹›. فالحرف › إذا كُتب كنص لن ينعكس تلقائياً وسيشير في الاتجاه الخطأ. عالجه بأيقونة SVG مع transform: scaleX(-1) داخل [dir="rtl"]، أو بفاصل محايد الاتجاه مثل / أو النقطة ·، أو بالحرف العربي المناسب ‹ مباشرة.
الأسماء اللاتينية داخل مسار عربي
لا ينعكسمسار مثل «الرئيسية / لوحة التحكم / users / admin-panel» ينكسر ترتيبه بصرياً بسبب خوارزمية الـ bidi. لُفّ كل جزء لاتيني بـ <bdi> أو بـ span يحمل dir="ltr" و unicode-bidi: isolate. والقاعدة نفسها تنطبق على الأرقام والمعرّفات مثل #1042.
الطيّ والقصّ
ينعكسيقصّ text-overflow: ellipsis من الطرف النهائي منطقياً، أي الطرف الأيسر في العربية، وهو السلوك الصحيح. لكن إذا ضبطت العرض بقيم padding-left/right ثابتة اختلّ التوازن عند الانعكاس، فاستخدم padding-inline.
أسماؤه في الكود
كل سطر هو كلمة مكتبة واحدة عن نفس الشيء. خد السطر اللي بيكلّم مشروعك.
شوف كمان
آخر تحديث · 2026-08-19