انتقل إلى محتوى الدرس

Accessible Labels with useId ربط التسميات بخطاف useId

أتقن بناء حقول الإدخال النصية ومساحات الكتابة المحكومة بالحالة في React، واربط التسميات التوضيحية بخطاف useId القياسي مع معالجة إرسال النماذج وتنظيف المدخلات.
3 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

يحتاج كل حقل نموذج متاح لذوي الإعاقة إلى عنصر <label> مرتبط عبر خاصية htmlFor بمعرّف الحقل id. غير أن كتابة معرّف ثابت مثل id="email" داخل مكون قابل لإعادة الاستخدام يفسد الصفحة فور عرض نسختين من المكون في نفس الشاشة.

يوفر خطاف useId() المدمج حلاً قياسياً بتوليد معرّف فريد لكل نسخة مكون دون أي تصادم، ويمكنك إلحاق لواحق وصفية به مثل `${id}-email` عند وجود عدة حقول.

الصف 2 كود برمجي
HTML
function EmailField({ heading }) {
  const inputId = useId();
  const [email, setEmail] = useState('');
  return (
    <div>
      <label htmlFor={inputId}>{heading}</label>
      <input id={inputId} value={email}
        onChange={(e) => setEmail(e.target.value)} />
    </div>
  );
}
الصف 3 ملاحظة هامة