الدرس 5 من 8

أسئلة قابلة للطيّ

هدف الدرس

زرّ يعلن ما يفتحه

01

الشرح

القائمة القابلة للطيّ (accordion) عناوين تضغط أحدها فتظهر تحته لوحة أو تختفي، والعنوان هنا زرّ داخل وسم عنوان وليس div عليه مستمع، لأنّ الزرّ يصل إليه Tab، ويعمل بـ Enter وبمفتاح المسافة، ويعرّفه قارئ الشاشة على أنه زرّ دون أن تكتب سطرًا إضافيًّا.

ويبقى على الزرّ أن يعلن أمرين، الأول هل لوحته مفتوحة، ويعلنه بـ aria-expanded، والثاني أيّ لوحة يتحكّم فيها، ويعلنه بـ aria-controls مع معرّف اللوحة. وأضف hidden إلى اللوحة المطويّة لتخرج من شجرة إمكانية الوصول أيضًا.

انتبه: قيمة aria-expanded نصّ وليست قيمة منطقية، والنصّ 'false' ليس فارغًا، فيكون الشرط if (button.getAttribute('aria-expanded')) صحيحًا دائمًا، لذلك قارن القيمة بـ === 'true'.

02

المطلوب

أعطِ كل زرّ في #faq الخاصية aria-controls بمعرّف لوحته، والخاصية aria-expanded="false"، ثم اجعل الضغط على الزرّ يبدّل aria-expanded وhidden لوحته معًا، بحيث يتحكّم كل زرّ في لوحته وحدها.

الفحوص

6 فحوص
  1. كل زرّ مربوط بلوحته عبر aria-controls
  2. اللوحات مطويّة والأزرار تعلن ذلك
  3. الضغط على الزرّ يفتح لوحته
  4. الزرّ يعلن أنّ لوحته مفتوحة
  5. الضغطة الثانية تطوي اللوحة
  6. كل زرّ يتحكّم في لوحته وحدها
03

تلميحات

0/3
دروس المسارأتممت 0 من 8

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

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعتان.

index.html
المعاينة
index.html100%
–/6

اضغط «تشغيل وتصحيح» ليبدأ الفحص.

تجد 6 فحوص في بطاقة «المطلوب».

دروس المسارأتممت 0 من 8

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

مستواه متقدّم، وفيه 8 دروس مجموع مدّتها ساعتان.