مُشغّلات الاهتمام وسمة Command
استكشاف سمتي command وcommandfor لتنفيذ الإجراءات التصريحية
مُشغّلات الاهتمام وسمة Command درس مجاني في HTML Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في HTML Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة HTML Academy 4 دروس في المجموع.
نَمَطان تصريحيان ناشئان
تعمل مجموعة Open UI على توحيد سمتَي HTML جديدتين — command للإجراءات التي تُشغَّل بالنقر، وinteresttarget لـ«الاهتمام» الذي يُشغَّل بالتمرير أو التركيز (وهو أساس التلميحات والمعاينات). توسّع كلتاهما HTML بسلوكيات تصريحية كانت تتطلب JavaScript تقليديًا.
سمة command
يعرض زر يتضمّن command="show-modal" وcommandfor="dialog-id" مربع حوار من دون أي JS — مستبدلًا الاستدعاءات اليدوية لـdialog.showModal(). ومن الأوامر الأخرى: command="close" وcommand="toggle-popover" وcommand="show-popover".
<button command="show-modal" commandfor="my-dialog">Open</button>
<dialog id="my-dialog">...</dialog>الأوامر المدعومة
تستهدف المجموعة الأولية أنماط واجهة المستخدم الشائعة: إظهار مربعات الحوار وإخفاؤها (باستخدام <dialog> المضمّن)، وتبديل ظهور النوافذ المنبثقة (باستخدام Popover API)، وقد تتوسع بمرور الوقت. ويمكن للعناصر المخصّصة التصريح بالأوامر التي تقبلها عبر معالجات أحداث oncommand.
الأوامر المخصّصة
إضافةً إلى الأوامر المضمّنة، تسمح المواصفة بسلاسل أوامر مخصّصة تبدأ بـ"--". ويتلقى العنصر المستهدف حدث command يمكنكم معالجته في JS: el.addEventListener("command", (e) => { if (e.command === "--save") save(); }).
مُشغِّلات الاهتمام
تحدّد سمة interesttarget العنصر المستهدف بـ«اهتمام» عنصر آخر — ويكون عادةً تلميحًا يظهر عند التمرير أو التركيز. يتولى المتصفح تلقائيًا توقيت الظهور (تأخير نية التمرير البالغ 300 مللي ثانية)، والموضع (باستخدام تموضع الارتساء)، والإخفاء.
<button interesttarget="user-info">Profile</button>
<div id="user-info" popover="hint">Ada Lovelace — Admin</div>بالاقتران مع popover="hint"
صُمّم نمط النافذة المنبثقة التلميحية للنوافذ المنبثقة الشبيهة بالتلميحات التي تظهر عند وجود اهتمام. وهي غير مشروطة، ولا تنتزع التركيز، وتختفي عند زوال الاهتمام. ويمنحكم الجمع بين interesttarget + popover="hint" تلميحًا أصليًا باستخدام سمتي HTML فقط.
مكاسب إمكانية الوصول
تتعامل مربعات الحوار الأصلية مع حصر التركيز؛ وتتولى النوافذ المنبثقة الأصلية التراصّ؛ ويتولى مُشغِّلو الاهتمام الأصليون توقيت نية التمرير، ويعلنون العلاقات لقارئات الشاشة. ويؤدي استبدال تطبيقات JavaScript المخصّصة بهذه البدائيات التصريحية إلى تحسين موثوق لجودة إمكانية الوصول.
حالة المواصفة
لا تزال هذه الميزات قيد التوحيد. وقد تتغير أسماء السمات ومجموعة الأوامر الدقيقة. وتظهر تطبيقات المتصفحات أولًا في Chromium. ينبغي تأجيل استخدامها في الإنتاج حتى تستقر التسمية، وحتى يدعمها متصفحان على الأقل — ويرجّح أن يحدث ذلك خلال السنة أو السنتين المقبلتين.
استبدال أنماط JS
يستبدل كلٌّ من هذه الميزات شيفرة JavaScript كُتبت وأُعيدت كتابتها ملايين المرات: إدارة مربعات الحوار، ومشغّلات النوافذ المنبثقة، وسلوك التلميحات. ويؤدي نقل هذه الأنماط إلى HTML إلى تقليل حجم الصفحة، وتحسين الاتساق، وإتاحة تطبيق المتصفح للتحسينات.
Open UI بوصفها المصدر
تقود مجموعة المجتمع Open UI (open-ui.org) جزءًا كبيرًا من هذا العمل — إذ تقترح عناصر HTML وسماتها الجديدة، وتضع نماذج أولية لها، وترعى مرورها عبر مسار وضع المعايير. تابعوا مدونتهم للاطلاع على أحدث المقترحات.
الارتباط بالميزات الحديثة الأخرى
تشكل command وinteresttarget وpopover وdialog وتموضع الارتساء وانتقالات العرض والقوائم القابلة للتخصيص جزءًا من توجه متماسك واحد يهدف إلى جلب أنماط مكتبات المكوّنات إلى المنصة. كل ميزة منها صغيرة بمفردها؛ لكنها مجتمعةً تمثل أكبر توسّع في مفردات واجهة HTML منذ سنوات.
ما الذي ينبغي فعله الآن
تابعوا المقترحات (open-ui.org)، وجرّبوا الميزات في Chromium مع تفعيل الأعلام، وخطّطوا لاعتمادها مع استقرارها. راجعوا قاعدة الشيفرة الحالية لديكم: احسبوا مقدار شيفرة JS المخصّصة لتجهيزات مربعات الحوار والنوافذ المنبثقة والتلميحات. هذه الشيفرة مستهدفة للاستبدال خلال بضعة إصدارات.
اختبار المعرفة
ما الغرض من سمة command في الزر؟
الملخص
توسّع ميزتان ناشئتان مفردات واجهة HTML التصريحية: command + commandfor للإجراءات التي تُشغَّل بالنقر (إظهار مربع حوار مشروط، وتبديل نافذة منبثقة)، وinteresttarget + popover="hint" للتلميحات التي تُشغَّل بالتمرير أو التركيز. تستبدل كلتاهما أنماط JavaScript الشائعة بسمات HTML، مما يحسّن إمكانية الوصول ويقلّل حجم الحزمة. ولا تزالان قيد التطور؛ لذا تابعوا Open UI لمراقبة استقرارهما، واعتمدوهما مع وصول دعم المتصفحات.
الأسئلة الشائعة
هل درس «مُشغّلات الاهتمام وسمة Command» مجاني؟
نعم — نص درس «مُشغّلات الاهتمام وسمة Command» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة HTML Academy، انتقل إلى CoddyKit PRO. تتضمن دورة HTML Academy 4 دروس في المجموع.
ماذا ستتعلم في «مُشغّلات الاهتمام وسمة Command»؟
استكشاف سمتي command وcommandfor لتنفيذ الإجراءات التصريحية تتمرن على HTML Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ HTML Academy؟
لا تُشترط خبرة سابقة. HTML Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «مُشغّلات الاهتمام وسمة Command»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس HTML Academy هذا؟
نعم. كل درس في HTML Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- Shadow DOM التصريحي
- Popover API
- عنصر selectlist
- مُشغّلات الاهتمام وسمة Command