أفضل الممارسات المتعلّقة بنموذج تسجيل الدخول

استخدِم ميزات المتصفّح من عدّة أنظمة أساسية لإنشاء نماذج تسجيل دخول آمنة وسهلة الاستخدام ويمكن الوصول إليها.

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

في ما يلي مثال على نموذج تسجيل دخول بسيط يعرض جميع أفضل الممارسات:

قائمة التحقق

استخدام ترميز HTML مفيد

استخدام العناصر التي تم إنشاؤها للمهمة: <form> و<label> و<button> وتعمل هذه الميزات على تفعيل وظائف المتصفّح المضمَّنة، وتحسين إمكانية الوصول، وإضافة معنى إلى الترميز.

استخدام <form>

قد تميل إلى لفّ الإدخالات في <div> والتعامل مع إرسال بيانات الإدخال باستخدام JavaScript فقط. ومن الأفضل بشكل عام استخدام عنصر <form> قديم بسيط. ويتيح ذلك لبرامج قراءة الشاشة والأجهزة المساعدة الأخرى إمكانية الوصول إلى موقعك الإلكتروني، ويمكّن مجموعة من ميزات المتصفّح المضمَّنة، ويسهّل إنشاء تسجيل دخول وظيفي أساسي للمتصفّحات القديمة، ويمكن أن يستمر في العمل حتى إذا تعذّر استخدام JavaScript.

استخدام <label>

لتصنيف إدخال، استخدِم <label>.

<label for="email">Email</label>
<input id="email" …>

سببان:

  • يؤدي النقر على التصنيف إلى نقل التركيز إلى الإدخال الخاص به. اربط تصنيفًا بأحد الإدخالات عن طريق استخدام سمة for للتصنيف مع name للإدخال أو id.
  • يعلن قارئات الشاشة عن نص التسمية عندما يتم التركيز على التصنيف أو إدخال التصنيف.

ولا تستخدم العناصر النائبة كتسميات إدخال. يكون الأشخاص مسؤولين عن نسيان ما تم إدخاله عند بدء إدخال النص، خاصةً إذا تشتت انتباههم ("هل أدخلتُ عنوان بريد إلكتروني أو رقم هاتف أو رقم تعريف حساب؟"). هناك الكثير من المشكلات المحتملة الأخرى المتعلقة بالعناصر النائبة: راجع عدم استخدام سمة العنصر النائب والعناصر النائبة في حقول النموذج ضارة إذا لم تكن مقتنعًا.

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

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

افتح تأثير موضع التصنيف على جهاز جوّال لتشاهده بنفسك.

استخدام <button>

استخدِم <button> للأزرار. توفر عناصر الأزرار سلوكًا يمكن الوصول إليه ووظيفة إرسال نموذج مدمجة، ويمكن تصميمها بسهولة. فليس هناك جدوى من استخدام <div> أو عنصر آخر يتظاهر بأنه زر.

تأكَّد من أنّ زر الإرسال يشير إلى الدور الذي تؤديه. تشمل الأمثلة إنشاء حساب أو تسجيل الدخول، وليس إرسال أو بدء.

التأكّد من إرسال النموذج بنجاح

ساعِد مدراء كلمات المرور في إدراك أنّه تم إرسال نموذج. هناك طريقتان للقيام بذلك:

  • انتقِل إلى صفحة مختلفة.
  • يمكنك محاكاة التنقّل باستخدام History.pushState() أو History.replaceState() وإزالة نموذج كلمة المرور.

في حال استخدام طلب XMLHttpRequest أو fetch، يمكنك التأكّد من تسجيل الدخول بنجاح في الردّ والتعامل مع هذه العملية من خلال إزالة النموذج من نموذج العناصر في المستند (DOM) مع توضيح نجاح العملية للمستخدم.

ننصحك بإيقاف زر تسجيل الدخول بعد أن ينقر المستخدم عليه أو ينقر عليه. ينقر العديد من المستخدمين على الأزرار عدة مرات حتى على المواقع الإلكترونية السريعة والسريعة الاستجابة. يؤدي ذلك إلى إبطاء التفاعلات ويضيف إلى حمل الخادم.

وفي المقابل، لا يمكنك إيقاف إرسال النموذج الذي ينتظر البيانات من المستخدم. على سبيل المثال، لا توقِف زر تسجيل الدخول إذا لم يُدخل المستخدمون رقم التعريف الشخصي للعميل. قد يفتقد المستخدمون شيئًا ما في النموذج، ثم يحاولون النقر بشكل متكرر على زر تسجيل الدخول (المعطل) ويعتقدون أنه لا يعمل. على الأقل، إذا كان عليك إيقاف إرسال النموذج، اشرح للمستخدم ما هو مفقود عند النقر على الزر "غير مفعّل".

عدم تكرار الإدخالات

تفرض بعض المواقع الإلكترونية على المستخدمين إدخال عناوين البريد الإلكتروني أو كلمات المرور مرّتين. قد يقلّل ذلك من حدوث الأخطاء لبعض المستخدمين، ولكنه يتسبب في بذل جهد إضافي لجميع المستخدمين، ويزيد من معدّلات العزوف. فالسؤال مرتين أيضًا ليس منطقيًا عندما تملأ المتصفحات عناوين البريد الإلكتروني تلقائيًا أو تقترح كلمات مرور قوية. من الأفضل تمكين المستخدمين من تأكيد عناوين بريدهم الإلكتروني (سيتعين عليك إجراء ذلك على أي حال) وتسهيل إعادة تعيين كلمة المرور إذا لزم الأمر.

الاستفادة إلى أقصى حد من سمات العناصر

هذا هو المكان الذي يحدث فيه السحر حقًا! تحتوي المتصفحات على العديد من الميزات المضمنة المفيدة التي تستخدم سمات عناصر الإدخال.

الحفاظ على خصوصية كلمات المرور مع السماح للمستخدمين بالاطِّلاع عليها عند الرغبة

يجب أن تتضمن إدخالات كلمات المرور type="password" لإخفاء نص كلمة المرور ومساعدة المتصفّح في معرفة أنّ الإدخال مخصّص لكلمات المرور. (يُرجى ملاحظة أنّ المتصفّحات تستخدم مجموعة متنوعة من الأساليب لفهم أدوار الإدخال وتحديد ما إذا كنت تريد عرض حفظ كلمات المرور أم لا).

عليك إضافة مفتاح تبديل عرض كلمة المرور لتمكين المستخدمين من التحقق من النص الذي أدخلوه، ولا تنسَ إضافة رابط نسيت كلمة المرور. يمكنك الاطّلاع على تفعيل عرض كلمة المرور.

نموذج تسجيل الدخول بحساب Google يعرض رمز إظهار كلمة المرور
إدخال كلمة المرور من نموذج تسجيل الدخول بحساب Google: مع الرمز عرض كلمة المرور والرابط نسيت كلمة المرور.

منح مستخدمي الأجهزة الجوّالة لوحة المفاتيح المناسبة

استخدِم <input type="email"> لمنح مستخدمي الأجهزة الجوّالة لوحة مفاتيح مناسبة وتفعيل التحقق الأساسي من عنوان البريد الإلكتروني المضمَّن في المتصفِّح... بدون الحاجة إلى JavaScript.

إذا كنت بحاجة إلى استخدام رقم هاتف بدلاً من عنوان بريد إلكتروني، يتيح <input type="tel"> استخدام لوحة مفاتيح هاتف على الأجهزة الجوّالة. يمكنك أيضًا استخدام سمة inputmode عند الضرورة: يُعدّ inputmode="numeric" مثاليًا لأرقام رقم التعريف الشخصي. يحتوي كل ما أردت معرفته عن وضع الإدخال على مزيد من التفاصيل.

منع لوحة مفاتيح الجوّال من إعاقة زر تسجيل الدخول

وفي حال عدم توخّي الحذر، قد تحجب لوحات مفاتيح الأجهزة الجوّالة شكل النموذج أو تحجب زر تسجيل الدخول جزئيًا. قد يستسلم المستخدمون قبل إدراك ما حدث.

لقطتَي شاشة لنموذج تسجيل دخول على هاتف Android: لقطة شاشة توضّح كيف تحجب لوحة مفاتيح الهاتف الزر &quot;إرسال&quot;.
زر تسجيل الدخول: تراه الآن ولم يعد مرئيًا.

قدر الإمكان، تجنب حدوث هذا عن طريق عرض إدخالات البريد الإلكتروني/الهاتف وكلمة المرور فقط وزر تسجيل الدخول في أعلى صفحة تسجيل الدخول. وضع محتوى آخر أدناه.

لقطة شاشة لنموذج تسجيل الدخول على هاتف Android: لا تحجب لوحة مفاتيح الهاتف زر تسجيل الدخول.
لا تحجب لوحة المفاتيح زر تسجيل الدخول.

الاختبار على مجموعة من الأجهزة

سيتعين عليك إجراء اختبار على مجموعة من الأجهزة لجمهورك المستهدف، وتعديل هذه المعلومات وفقًا لذلك. يتيح BrowserStack اختبارًا مجانيًا للمشروعات مفتوحة المصدر على مجموعة من الأجهزة والمتصفحات الحقيقية.

لقطات شاشة لنموذج تسجيل الدخول على أجهزة iPhone 7 و8 و11 على هاتفَي iPhone 7 وiPhone 8، تحجب لوحة مفاتيح الهاتف زر تسجيل الدخول، وليس على هاتف iPhone 11.
زر تسجيل الدخول غير متاح على هاتفَي iPhone 7 وiPhone 8، ولكن ليس على هاتف iPhone 11.

ننصحك باستخدام صفحتين.

تتجنب بعض المواقع (بما في ذلك Amazon وeBay) المشكلة عن طريق طلب البريد الإلكتروني/الهاتف وكلمة المرور على صفحتين. يعمل هذا النهج أيضًا على تبسيط التجربة: يتم تكليف المستخدم بشيء واحد فقط في كل مرة.

لقطة شاشة لنموذج تسجيل الدخول على موقع Amazon الإلكتروني: البريد الإلكتروني/الهاتف وكلمة المرور على &quot;صفحتين&quot; منفصلتين.
تسجيل الدخول على مرحلتَين: عنوان البريد الإلكتروني أو الهاتف، ثم كلمة المرور

يُنصح بتنفيذ ذلك باستخدام <form> واحد. استخدِم JavaScript لعرض إدخال البريد الإلكتروني فقط مبدئيًا، ثم إخفاؤه وإظهار إدخال كلمة المرور. إذا كان لا بد من إجبار المستخدم على الانتقال إلى صفحة جديدة بين إدخال عنوان البريد الإلكتروني وكلمة المرور، يجب أن يحتوي النموذج على الصفحة الثانية على عنصر إدخال مخفي يتضمّن قيمة البريد الإلكتروني، وذلك للمساعدة على تمكين مدراء كلمات المرور من تخزين القيمة الصحيحة. وتوفر أنماط نماذج كلمات المرور التي يفهمها Chromium مثالاً للتعليمة البرمجية.

مساعدة المستخدمين على تجنُّب إعادة إدخال البيانات

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

هناك جزءان لذلك:

  1. تساعد السمات autocomplete وname وid وtype المتصفّحات في فهم دور الإدخالات من أجل تخزين البيانات التي يمكن استخدامها لاحقًا للملء التلقائي. للسماح بتخزين البيانات من أجل الملء التلقائي، تتطلّب المتصفِّحات الحديثة أيضًا إدخال البيانات بحيث تحتوي على قيمة ثابتة name أو id (لا يتم إنشاؤها عشوائيًا عند كل تحميل للصفحة أو عند نشر الموقع الإلكتروني)، وأن تكون في شكل <form> يتضمّن الزر submit.

  2. تساعد السمة autocomplete المتصفحات في الملء التلقائي للإدخالات تلقائيًا بشكل صحيح باستخدام البيانات المخزّنة.

استخدِم autocomplete="username" لإدخالات البريد الإلكتروني، حيث يتم التعرف على username من خلال برامج إدارة كلمات المرور في المتصفحات الحديثة، على الرغم من أنه يجب استخدام type="email" واستخدام id="email" وname="email".

عند إدخال كلمات المرور، يمكنك استخدام قيمتَي autocomplete وid المناسبتَين لمساعدة المتصفّحات في التفريق بين كلمات المرور الجديدة والحالية.

استخدام autocomplete="new-password" وid="new-password" لإنشاء كلمة مرور جديدة

  • يُرجى استخدام autocomplete="new-password" وid="new-password" لإدخال كلمة المرور في نموذج الاشتراك، أو إدخال كلمة المرور الجديدة في نموذج تغيير كلمة المرور.

استخدام autocomplete="current-password" وid="current-password" لكلمة مرور حالية

  • يمكنك استخدام autocomplete="current-password" وid="current-password" لإدخال كلمة المرور في نموذج تسجيل الدخول أو إدخال كلمة المرور القديمة للمستخدم في نموذج تغيير كلمة المرور. وهذا يخبر المتصفح أنك تريد أن يستخدم كلمة المرور الحالية التي تم تخزينها للموقع.

بالنسبة إلى نموذج الاشتراك:

<input type="password" autocomplete="new-password" id="new-password" …>

لتسجيل الدخول:

<input type="password" autocomplete="current-password" id="current-password" …>

دعم خدمات إدارة كلمات المرور

تتعامل المتصفحات المختلفة مع الملء التلقائي للبريد الإلكتروني واقتراح كلمات المرور بشكل مختلف إلى حدٍ ما، ولكن التأثيرات متشابهة كثيرًا. على سبيل المثال، في الإصدار 11 من متصفّح Safari والإصدارات الأحدث على أجهزة الكمبيوتر المكتبي، يتم عرض مدير كلمات المرور، وبعد ذلك يتم استخدام المصادقة بالمقاييس الحيوية (بصمة الإصبع أو التعرّف على الوجوه) في حال توفّرها.

لقطات شاشة لثلاث مراحل من عملية تسجيل الدخول في متصفّح Safari على أجهزة الكمبيوتر المكتبي: مدير كلمات المرور، والمصادقة بالمقاييس الحيوية، والملء التلقائي
يجب تسجيل الدخول باستخدام ميزة "الإكمال التلقائي" بدون إدخال نص.

يعرض متصفّح Chrome على أجهزة الكمبيوتر المكتبي اقتراحات البريد الإلكتروني ويعرض مدير كلمات المرور ويملأ كلمة المرور تلقائيًا.

لقطات شاشة لأربع مراحل من عملية تسجيل الدخول في Chrome على جهاز كمبيوتر سطح المكتب: إكمال رسالة البريد الإلكتروني، واقتراح البريد الإلكتروني، ومدير كلمات المرور، والملء التلقائي عند الاختيار
الإكمال التلقائي لعملية تسجيل الدخول في الإصدار 84 من Chrome

أنظمة كلمات مرور المتصفح والملء التلقائي ليست بسيطة. لا يتم توحيد خوارزميات تخمين القيم وتخزينها وعرضها، كما أنها تختلف من نظام أساسي إلى آخر. على سبيل المثال، كما أوضحنا في مقالة Hidde de Vries: "يكمّل مدير كلمات المرور في فايرفوكس أساليبه الإرشادية باستخدام نظام وصفات طعام".

الملء التلقائي: المعلومات التي يجب أن يعرفها مطورو الويب، ولكن لا تتوفّر لديهم المزيد من المعلومات حول استخدام name وautocomplete. تسرد مواصفات HTML جميع القيم المحتملة البالغ عددها 59.

تفعيل المتصفّح لاقتراح كلمة مرور قوية

تستخدم المتصفحات الحديثة الإرشادات لتحديد وقت عرض واجهة مستخدم مدير كلمات المرور واقتراح كلمة مرور قوية.

إليك طريقة تنفيذ ذلك في متصفّح Safari على أجهزة الكمبيوتر المكتبي.

لقطة شاشة تُظهر مدير كلمات المرور في Firefox على جهاز كمبيوتر مكتبي
خطوات اقتراح كلمة المرور في Safari.

(يتوفر اقتراح قوي لكلمة المرور الفريدة في Safari بدءًا من الإصدار 12.0.)

تعني أدوات إنشاء كلمات المرور المضمَّنة في المتصفحات أنّ المستخدمين والمطوّرين ليسوا بحاجة إلى معرفة "كلمة المرور القوية". وبما أنّ المتصفِّحات يمكنها تخزين كلمات المرور بشكلٍ آمن وملؤها تلقائيًا حسب الضرورة، لن يحتاجوا إلى تذكُّر كلمات المرور أو إدخالها. إنّ تشجيع المستخدِمين على الاستفادة من أدوات إنشاء كلمات المرور المضمَّنة في المتصفّح يعني أيضًا أنّهم يميلون أكثر إلى استخدام كلمة مرور فريدة وقوية على موقعك الإلكتروني ويقلّ احتمال إعادة استخدام كلمة مرور يمكن اختراقها في مكان آخر.

المساعدة في حماية المستخدمين من الإدخالات المفقودة عن طريق الخطأ

أضِف السمة required إلى حقلَي البريد الإلكتروني وكلمة المرور. تطلب المتصفحات الحديثة ضبط التركيز تلقائيًا على البيانات الناقصة. لا حاجة إلى JavaScript

لقطة شاشة لمتصفِّحَي Firefox وChrome لأجهزة Android، تعرِض رسالة المطالبة &quot;يُرجى ملء هذا الحقل&quot; للبيانات الناقصة
عرض رسالة مطالبة والتركيز على البيانات المفقودة في متصفّح Firefox للكمبيوتر المكتبي (الإصدار 76) وChrome لنظام التشغيل Android (الإصدار 83)

تصميم ليناسب الأصابع والإبهام

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

احرص على أن تكون الإدخالات والأزرار كبيرة بما يكفي.

يكون الحجم الافتراضي والمساحة المتروكة للإدخالات والأزرار صغيرة جدًا على سطح المكتب وأكثر سوءًا على الأجهزة المحمولة.

لقطة شاشة لنموذج غير ذي تصميم في متصفِّح Chrome للكمبيوتر المكتبي وChrome لنظام التشغيل Android.

ووفقًا لإرشادات تسهيل الاستخدام في نظام التشغيل Android، يبلغ حجم الهدف المقترَح لكائنات الشاشة التي تعمل باللمس من 7 إلى 10 ملم. وتشير إرشادات واجهة Apple إلى الحجم 48×48 بكسل، وتقترح النسخة المتوافقة مع معيار W3C 44x44 بكسل CSS على الأقل. بناءً على هذا الأساس، أضِف (على الأقل) مساحة متروكة تبلغ حوالي 15 بكسل لإدخال العناصر والأزرار للأجهزة الجوّالة وحوالي 10 بكسل على الكمبيوتر المكتبي. جرب هذا باستخدام جهاز محمول حقيقي وإبهام حقيقي أو إصبع حقيقي. يجب أن تكون قادرًا على النقر فوق كل مدخلات وأزرار بشكل مريح.

عدم تحديد حجم أهداف النقر بشكلٍ مناسب يمكن أن يساعدك تدقيق Lighthouse في برمجة عملية اكتشاف عناصر الإدخال الصغيرة جدًا.

تصميم يتناسب مع الإبهام

ابحث عن هدف اللمس وسترى الكثير من صور الأصابع السبابة. ومع ذلك، في العالم الحقيقي، يستخدم العديد من الأشخاص إبهامهم للتفاعل مع الهواتف. الإبهام أكبر من الأصابع والتحكم أقل دقة. كل الأسباب الإضافية لأهداف اللمس ذات الحجم المناسب.

جعل النص كبيرًا بما يكفي

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

لقطة شاشة لشكل غير مصمَّم في Chrome على أجهزة الكمبيوتر المكتبي وأجهزة Android
النمط التلقائي على أجهزة الكمبيوتر المكتبي والأجهزة الجوّالة: نص الإدخال صغير جدًا ولا يمكن قراءته على العديد من المستخدمين.

تختلف أحجام الخطوط على المتصفحات التي تعمل بالأنظمة الأساسية المختلفة، لذلك من الصعب تحديد حجم خط معيّن يناسب كل مكان. أظهر استطلاع سريع لمواقع الويب الشهيرة أحجامًا تتراوح بين 13 و16 بكسل على أجهزة الكمبيوتر المكتبي: إنّ مطابقة هذا الحجم الفعلي هو الحدّ الأدنى الجيد للنص على الأجهزة الجوّالة.

هذا يعني أنّك بحاجة إلى استخدام حجم أكبر بالبكسل على الأجهزة الجوّالة: إنّ قراءة النص 16px على متصفّح Chrome على أجهزة الكمبيوتر المكتبي واضحة، ولكن من الصعب قراءة النص 16px على Chrome على أجهزة Android إذا كانت هذه الرؤية جيدة. يمكنك ضبط أحجام مختلفة لوحدات البكسل للخط لأحجام إطار العرض المختلفة باستخدام استعلامات الوسائط. يمكنك استخدام 20px على الأجهزة الجوّالة، ولكن يجب اختباره مع الأصدقاء أو الزملاء الذين يعانون من ضعف في النظر.

لا يستخدم المستند أحجام خطوط قابلة للقراءة يمكن أن يساعدك تدقيق Lighthouse في برمجة عملية اكتشاف النص الصغير جدًا.

توفير مساحة كافية بين مصادر الإدخال

أضِف هامشًا كافيًا لتعمل الإدخالات بشكلٍ جيد مثل أهداف اللمس. بمعنى آخر، يجب أن يكون عرض الإصبع في الهامش حوالي.

تأكَّد من أنّ البيانات التي يتم إدخالها تظهر بوضوح.

يجعل نمط الحدود التلقائي للمدخلات من الصعب رؤيتها. إنها غير مرئية تقريبًا على بعض الأنظمة الأساسية مثل Chrome لنظام Android.

بالإضافة إلى المساحة المتروكة، يمكنك إضافة حد: على خلفية بيضاء، من القواعد العامة الجيدة استخدام #ccc أو ألوان داكنة أكثر.

لقطة شاشة لنموذج بتصميم معيّن في Chrome على جهاز Android
نص واضح وحدود إدخال مرئية ومساحة وهوامش كافية

استخدام ميزات المتصفّح المضمَّنة للتحذير من قيم الإدخال غير الصالحة

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

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

يمكنك استخدام أداة اختيار لغة CSS :invalid لتمييز البيانات غير الصالحة. استخدِم :not(:placeholder-shown) لتجنب اختيار إدخالات لا تتضمن أي محتوى.

input[type=email]:not(:placeholder-shown):invalid {
  color: red;
  outline-color: red;
}

جرِّب طرقًا مختلفة لتمييز الإدخالات ذات القيم غير الصالحة.

استخدام JavaScript عند الضرورة

إيقاف/تفعيل عرض كلمة المرور

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

نموذج تسجيل الدخول إلى Google يعرض زر إيقاف/تفعيل &quot;عرض كلمة المرور&quot; ورابط &quot;نسيت كلمة المرور&quot;.
نموذج تسجيل الدخول بحساب Google: مع إيقاف/تفعيل عرض كلمة المرور والرابط نسيت كلمة المرور

يستخدم الرمز التالي زرًا نصيًا لإضافة وظيفة عرض كلمة المرور.

HTML:

<section>
  <label for="password">Password</label>
  <button id="toggle-password" type="button" aria-label="Show password as plain text. Warning: this will display your password on the screen.">Show password</button>
  <input id="password" name="password" type="password" autocomplete="current-password" required>
</section>

في ما يلي CSS لجعل الزر يبدو كنص عادي:

button#toggle-password {
  background: none;
  border: none;
  cursor: pointer;
  /* Media query isn't shown here. */
  font-size: var(--mobile-font-size);
  font-weight: 300;
  padding: 0;
  /* Display at the top right of the container */
  position: absolute;
  top: 0;
  right: 0;
}

وJavaScript لعرض كلمة المرور:

const passwordInput = document.getElementById('password');
const togglePasswordButton = document.getElementById('toggle-password');

togglePasswordButton.addEventListener('click', togglePassword);

function togglePassword() {
  if (passwordInput.type === 'password') {
    passwordInput.type = 'text';
    togglePasswordButton.textContent = 'Hide password';
    togglePasswordButton.setAttribute('aria-label',
      'Hide password.');
  } else {
    passwordInput.type = 'password';
    togglePasswordButton.textContent = 'Show password';
    togglePasswordButton.setAttribute('aria-label',
      'Show password as plain text. ' +
      'Warning: this will display your password on the screen.');
  }
}

ها هي النتيجة النهائية:

لقطات شاشة لنموذج تسجيل الدخول مع إظهار نص كلمة المرور &#39;button&#39; في Safari على أجهزة Mac وعلى iPhone 7.
نموذج تسجيل الدخول باستخدام النص "button" عرض كلمة المرور، في متصفّح Safari على أجهزة Mac وiPhone 7.

إتاحة إدخالات كلمة المرور

يمكنك استخدام aria-describedby لتوضيح قواعد كلمة المرور من خلال منحها معرّف العنصر الذي يصف القيود. توفر برامج قراءة الشاشة نص التسمية ونوع الإدخال (كلمة المرور)، ثم الوصف.

<input type="password" aria-describedby="password-constraints" …>
<div id="password-constraints">Eight or more characters with a mix of letters, numbers and symbols.</div>

عند إضافة وظيفة عرض كلمة المرور، احرص على تضمين علامة aria-label للتحذير من عرض كلمة المرور. وإلا فقد يكشف المستخدمون عن كلمات المرور عن غير قصد.

<button id="toggle-password"
        aria-label="Show password as plain text.
                    Warning: this will display your password on the screen.">
  Show password
</button>

يمكنك الاطّلاع على ميزتَي ARIA أثناء العمل من خلال تأثير Glitch التالي:

يتضمن إنشاء نماذج يمكن الوصول إليها مزيدًا من النصائح للمساعدة في جعل النماذج سهلة الوصول.

التحقُّق في الوقت الفعلي وقبل الإرسال

تحتوي عناصر وسمات نماذج HTML على ميزات مضمّنة للتحقق الأساسي، ولكن يجب أيضًا استخدام JavaScript لإجراء عمليات تحقّق أكثر فعالية أثناء إدخال المستخدمين للبيانات وعندما يحاولون إرسال النموذج.

الخطوة 5 من الدرس التطبيقي حول ترميز نموذج تسجيل الدخول تستخدم واجهة برمجة التطبيقات للتحقق من صحة القيد (المتوافقة على نطاق واسع) لإضافة عملية تحقّق مخصّصة باستخدام واجهة مستخدم المتصفّح المضمَّنة لضبط التركيز وعرض الطلبات.

اطّلع على مزيد من المعلومات: استخدِم JavaScript لإجراء تحقّق أكثر تعقيدًا في الوقت الفعلي.

الإحصاءات وRUM

ينطبق "ما لا يمكنك قياسه، ولا يمكنك تحسينه" بشكل خاص على نماذج الاشتراك وتسجيل الدخول. تحتاج إلى تحديد الأهداف وقياس مدى النجاح وتحسين موقعك الإلكتروني والتكرار.

يمكن أن يكون اختبار قابلية الاستخدام المخفّض مفيدًا لتجربة التغييرات، ولكنك ستحتاج إلى بيانات حقيقية لفهم تجربة المستخدمين في نموذج الاشتراك وتسجيل الدخول:

  • إحصاءات الصفحات: عدد مشاهدات صفحات الاشتراك وتسجيل الدخول ومعدلات الارتداد ومرّات الخروج.
  • إحصاءات التفاعل: مسارات الإحالات الناجحة للأهداف (من أين يتخلّى المستخدمون عن عملية تسجيل الدخول أو تسجيل الدخول؟) والأحداث (ما هي الإجراءات التي يتّخذها المستخدمون عند التفاعل مع نماذجك؟)
  • أداء الموقع الإلكتروني: المقاييس التي تركّز على المستخدم (هل بطء أداء نماذج الاشتراك وتسجيل الدخول لسبب معيّن، وفي هذه الحالة، ما السبب؟)

يمكنك أيضًا التفكير في تنفيذ اختبار A/B لتجربة أساليب مختلفة للاشتراك وتسجيل الدخول، وعمليات الطرح على مراحل للتحقق من صحة التغييرات على مجموعة فرعية من المستخدمين قبل إصدار التغييرات لجميع المستخدمين.

الإرشادات العامة

يمكن لواجهة المستخدم وتجربة المستخدِم ذات التصميم الجيّد تقليل معدّل التراجع عن نموذج تسجيل الدخول:

  • لا تجعل المستخدمين يبحثون عن معلومات تسجيل دخول! ضع رابطًا لنموذج تسجيل الدخول أعلى الصفحة، باستخدام صيغة مفهومة جيدًا مثل تسجيل الدخول أو إنشاء حساب أو تسجيل.
  • حافِظ على تركيزك. فنماذج الاشتراك ليست مكانًا لتشتيت انتباه الأشخاص بالعروض وميزات الموقع الأخرى.
  • تقليل تعقيد عملية الاشتراك اجمع بيانات المستخدمين الأخرى (مثل العناوين أو تفاصيل بطاقة الائتمان) فقط عندما يرى المستخدمون فائدة واضحة من تقديم تلك البيانات.
  • قبل أن يبدأ المستخدمون في نموذج الاشتراك، وضّح عرض القيمة. كيف يستفيدون من تسجيل الدخول؟ امنح المستخدمين حوافز ملموسة لإكمال الاشتراك.
  • واسمح للمستخدمين، إن أمكن، تعريف أنفسهم باستخدام رقم هاتف محمول بدلاً من عنوان بريد إلكتروني، حيث إن بعض المستخدمين قد لا يستخدمون البريد الإلكتروني.
  • اجعل من السهل على المستخدمين إعادة تعيين كلمة المرور مع توضيح الرابط هل نسيت كلمة المرور؟؟
  • رابط إلى بنود الخدمة ومستندات سياسة الخصوصية: وضّح للمستخدمين منذ البداية كيفية حماية بياناتهم.
  • أدرِج شعار شركتك أو مؤسستك واسمها في صفحات الاشتراك وتسجيل الدخول، وتأكَّد من أنّ اللغة والخطوط والأنماط تتطابق مع بقية صفحات موقعك الإلكتروني. بعض النماذج لا تشعر أنها تنتمي إلى الموقع نفسه الذي ينتمي إليه محتوى آخر، خاصةً إذا كانت تحتوي على عنوان URL مختلف تمامًا.

مواصلة التعلّم

تصوير ميغان شيريك على موقع Unsplash