الدرس 5 من 8
أسئلة تُطوى
- 14 دقيقة
- 6 معايير للتصحيح
- 3 تلميحات
- إلى المطلوب
هدف الدرس
زرّ يعلن ما يفتحه
الشرح
القائمة القابلة للطيّ عنوان يُضغط ولوح يظهر ويختفي. والعنوان زرّ داخل وسم عنوان، لا div عليه مستمع: الزرّ يصله Tab، ويعمل بـ Enter والمسافة، ويُعلَن لقارئ الشاشة زرًّا — بلا سطر إضافي.
ويبقى على الزرّ أن يقول شيئين: هل لوحه مفتوح؟ بـ aria-expanded. وأيّ لوح يتحكّم فيه؟ بـ aria-controls ومعرّف اللوح. واللوح المطويّ عليه hidden فيخرج من شجرة الإتاحة كذلك.
الفخّ: قيمة aria-expanded نصّ لا قيمة منطقية: 'false' نصّ غير فارغ، فالشرط if (button.getAttribute('aria-expanded')) صحيح دائمًا. قارن بـ === 'true'.
المطلوب
أعطِ كل زرّ في #faq الخاصية aria-controls بمعرّف لوحه وaria-expanded="false"، واجعل الضغط يبدّل aria-expanded وhidden لوحه معًا — كل زرّ للوحه وحده.
معايير التصحيح
6 معايير- كل زرّ مربوط بلوحه عبر aria-controls
- الألواح مطويّة والأزرار تعلن ذلك
- الضغط يفتح لوحه
- والزرّ يعلن أنه مفتوح
- الضغط ثانيةً يطويه
- كل زرّ يتحكّم في لوحه وحده