من وصف نصي إلى نموذج واجهة
درس 10 من 12
10من وصف نصي إلى نموذج واجهة
الصورة الكبيرةالمساعد يرسم أول نسخة في ثوانٍ، فيوفّر عليك الصفحة البيضاء. لكن جودة النتيجة تساوي دقة الوصف، والنسخة الأولى نادرًا ما تكون صحيحة للوصول أو للعربية.
ماذا تشاهد في الرسم: من فكرة إلى نموذج: الوصف المنظّم يقلل الجولات، والفحص يحوّل المسودة لشيء يُعتمد عليه.
خارطة هذا الجزء
المفاهيم بالترتيب، اضغط أيًّا منها للقفز إليه:
طريقان إلى نفس الفكرة
مثل أن تصف لمصمّم ما تريده لغرفة: «غرفة نوم لطفل عمره 6، فيها مكتب صغير ورف كتب، والألوان هادئة». كلما كان وصفك محددًا جاءت الرسمة أقرب. ثم تنظر للرسمة وتقول «كبّر المكتب» حتى تصل لما تريد.
الوصف الفعّال يذكر: من المستخدم ومهمته الأساسية، المكوّنات بالترتيب ومحتواها الحقيقي (لا lorem ipsum)، الحالات (فارغ، تحميل، خطأ)، القيود التقنية (HTML/CSS فقط، بلا مكتبات، dir="rtl"، خصائص منطقية، متغيرات ألوان)، ومتطلبات الوصول (تباين AA، تسميات، تركيز ظاهر). ثم كرّر بتعديلات صغيرة محددة بدل إعادة الطلب كله، وتحقق بأدوات: Lighthouse، محاكاة الجوال، والتنقل بـ Tab.
قبل أن تبدأ
🧱HTML وCSS
مسار الواجهات الأمامية.
الفكرة الجوهرية
1الوصف المنظّم
قالب يغطي ما يحتاجه النموذج ليصيب من أول مرة:
Screen: order tracking for a café app (Arabic, right-to-left). User: a customer who just paid and is waiting, usually on a phone. Main task: see at a glance where the order is and how long is left. Content, top to bottom: 1. Order number and time placed. 2. A 4-step progress bar: received, preparing, ready, collected. 3. The items (name, size, quantity). 4. A "call the café" button. States: preparing (default), ready (green highlight), cancelled (message + refund note). Constraints: one HTML file, inline CSS, no libraries, <html dir="rtl" lang="ar">, CSS logical properties only, colours as CSS variables, works at 360px wide. Accessibility: AA contrast, the progress bar readable by screen readers (aria-current on the active step), visible focus on the button.
2التكرار بتعديلات صغيرة
بعد المسودة الأولى لا تعيد كتابة الطلب. أعطِ تعديلات محددة وقابلة للتحقق: «شريط التقدم يبدأ من اليسار، اقلبه ليبدأ من اليمين باستخدام flex بدل left»، «زر الاتصال تباينه 3.1:1، اجعله 4.5:1 على الأقل».
margin-left وtext-align: left في صفحة عربية. يبدو سليمًا في لقطة واحدة وينكسر عند تبديل اللغة. اطلب الخصائص المنطقية صراحة.3افحص قبل أن تعتمد
قائمة فحص سريعة لكل نموذج: الهيكل دلالي (header، main، button)، كل صورة لها alt، التباين ≥ 4.5:1، التنقل بـ Tab يصل لكل عنصر بترتيب منطقي، يعمل على عرض 360px دون تمرير أفقي، والوضع الداكن إن طُلب. هذا مثال لشريط تقدم يصلح للعربية والشاشة القارئة:
<ol class="steps" aria-label="حالة الطلب">
<li class="done">استُلم</li>
<li class="current" aria-current="step">قيد التحضير</li>
<li>جاهز</li>
<li>تم الاستلام</li>
</ol>
<style>
.steps { display: flex; gap: .5rem; padding: 0; list-style: none; }
.steps li { flex: 1; padding-block: .5rem; border-block-start: 4px solid var(--line); }
.steps .done, .steps .current { border-color: var(--brand); }
.steps .current { font-weight: 700; }
</style>مثال محلول
المسألة: النموذج الأول جميل، لكن Lighthouse أعطى 68 في الوصول: زر بلا اسم (أيقونة فقط)، تباين نص رمادي 2.8:1، وعناوين تقفز من h1 إلى h4. الحل بثلاثة تعديلات: aria-label="اتصل بالمقهى" للزر، لون النص #5b5b66، وتصحيح ترتيب العناوين. النتيجة 100 دون تغيير الشكل.
خرافة مقابل حقيقة
| الخرافة | الحقيقة |
|---|---|
| النموذج من المساعد جاهز للإنتاج. | هو مسودة للنقاش والتجربة. الإنتاج يحتاج مكوّنات وحالات واختبارات. |
| كلما طال الوصف ساء الناتج. | الوصف المنظّم الطويل أفضل من القصير الغامض. المشكلة في الحشو لا الطول. |
اختبر فهمك
أي معلومة تقلّل جولات التعديل أكثر؟
النموذج يصيب أكثر حين يعرف المحتوى والحالات والقيود.
النموذج يستخدم margin-left في صفحة عربية. ما التعديل؟
الخاصية المنطقية تتبع اتجاه الصفحة تلقائيًا.
كيف تجعل الخطوة الحالية في شريط التقدم مفهومة للشاشة القارئة؟
اللون لا يُقرأ، وaria-current يُعلن الحالة.
بطاقات مراجعة سريعة
تحقق من فهمك
لماذا تطلب الحالات (فارغ، خطأ)؟
لأن المساعد يرسم الحالة السعيدة فقط إن لم تطلب، والمستخدم يرى الحالات الأخرى كثيرًا.
ما أسرع فحص للتجاوب؟
محاكاة جهاز بعرض 360px في أدوات المطوّر والتأكد من عدم وجود تمرير أفقي.
من يقرر أن النموذج مقبول؟
أنت، بعد قائمة الفحص، لا المساعد.