الدرس 5 من 8

أسئلة تُطوى

هدف الدرس

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

01

الشرح

القائمة القابلة للطيّ عنوان يُضغط ولوح يظهر ويختفي. والعنوان زرّ داخل وسم عنوان، لا 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
index.html
المعاينة
index.html100%
–/6

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

6 معايير في بطاقة «المطلوب».