From 852348e97459b76602c7917b8e675c8354bc3f86 Mon Sep 17 00:00:00 2001 From: Jessica Wilkins <67210629+jdwilkin4@users.noreply.github.com> Date: Tue, 17 Jun 2025 03:14:51 -0700 Subject: [PATCH] chore(curriculum): add JS a11y module (#60579) Co-authored-by: Tom <20648924+moT01@users.noreply.github.com> Co-authored-by: Huyen Nguyen <25715018+huyenltnguyen@users.noreply.github.com> Co-authored-by: Ilenia <26656284+ilenia-magoni@users.noreply.github.com> --- client/i18n/locales/english/intro.json | 14 + .../quiz-js-a11y/index.md | 9 + .../review-js-a11y/index.md | 9 + .../challenges/_meta/quiz-js-a11y/meta.json | 10 + .../challenges/_meta/review-js-a11y/meta.json | 10 + .../quiz-js-a11y/68376949899fcbad3c9cac23.md | 454 ++++++++++++++++++ .../683766860f71d4a96e429f3a.md | 23 + .../superblock-structure/full-stack.json | 12 + 8 files changed, 541 insertions(+) create mode 100644 client/src/pages/learn/full-stack-developer/quiz-js-a11y/index.md create mode 100644 client/src/pages/learn/full-stack-developer/review-js-a11y/index.md create mode 100644 curriculum/challenges/_meta/quiz-js-a11y/meta.json create mode 100644 curriculum/challenges/_meta/review-js-a11y/meta.json create mode 100644 curriculum/challenges/english/25-front-end-development/quiz-js-a11y/68376949899fcbad3c9cac23.md create mode 100644 curriculum/challenges/english/25-front-end-development/review-js-a11y/683766860f71d4a96e429f3a.md diff --git a/client/i18n/locales/english/intro.json b/client/i18n/locales/english/intro.json index cd08a2abc37..8b6b865f059 100644 --- a/client/i18n/locales/english/intro.json +++ b/client/i18n/locales/english/intro.json @@ -1799,6 +1799,7 @@ "review-javascript-fundamentals": "JavaScript Fundamentals Review", "higher-order-functions-and-callbacks": "Higher Order Functions and Callbacks", "dom-manipulation-and-events": "DOM Manipulation and Events", + "js-a11y": "JavaScript and Accessibility", "debugging-javascript": "Debugging", "basic-regex": "Basic Regex", "form-validation": "Form Validation", @@ -3370,6 +3371,19 @@ "Test your knowledge of DOM manipulation and click events in JavaScript with this quiz." ] }, + "review-js-a11y": { + "title": "JavaScript and Accessibility Review", + "intro": [ + "Before you're quizzed on JavaScript and accessibility, you should review what you've learned about it.", + "Open up this page to review concepts including how to work with the aria-expanded, aria-live, and aria-controls attributes." + ] + }, + "quiz-js-a11y": { + "title": "JavaScript and Accessibility Quiz", + "intro": [ + "Test your knowledge of JavaScript and accessibility best practices with this quiz." + ] + }, "lecture-debugging-techniques": { "title": "Debugging Techniques", "intro": [ diff --git a/client/src/pages/learn/full-stack-developer/quiz-js-a11y/index.md b/client/src/pages/learn/full-stack-developer/quiz-js-a11y/index.md new file mode 100644 index 00000000000..83c0cff6012 --- /dev/null +++ b/client/src/pages/learn/full-stack-developer/quiz-js-a11y/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to the JavaScript and Accessibility Quiz +block: quiz-js-a11y +superBlock: full-stack-developer +--- + +## Introduction to the JavaScript and Accessibility Quiz + +Test your knowledge of JavaScript and accessibility best practices with this quiz. diff --git a/client/src/pages/learn/full-stack-developer/review-js-a11y/index.md b/client/src/pages/learn/full-stack-developer/review-js-a11y/index.md new file mode 100644 index 00000000000..c277d4dd3fd --- /dev/null +++ b/client/src/pages/learn/full-stack-developer/review-js-a11y/index.md @@ -0,0 +1,9 @@ +--- +title: Introduction to the JavaScript and Accessibility Review +block: review-js-a11y +superBlock: full-stack-developer +--- + +## Introduction to the JavaScript and Accessibility review + +This is review page for concepts including how to work with the `aria-expanded`, `aria-live`, and `aria-controls` attributes. diff --git a/curriculum/challenges/_meta/quiz-js-a11y/meta.json b/curriculum/challenges/_meta/quiz-js-a11y/meta.json new file mode 100644 index 00000000000..6dea9d38934 --- /dev/null +++ b/curriculum/challenges/_meta/quiz-js-a11y/meta.json @@ -0,0 +1,10 @@ +{ + "name": "JavaScript and Accessibility Quiz", + "isUpcomingChange": true, + "blockType": "quiz", + "blockLayout": "link", + "dashedName": "quiz-js-a11y", + "superBlock": "full-stack-developer", + "challengeOrder": [{ "id": "68376949899fcbad3c9cac23", "title": "JavaScript and Accessibility Quiz" }], + "helpCategory": "JavaScript" +} diff --git a/curriculum/challenges/_meta/review-js-a11y/meta.json b/curriculum/challenges/_meta/review-js-a11y/meta.json new file mode 100644 index 00000000000..0fd9816cf75 --- /dev/null +++ b/curriculum/challenges/_meta/review-js-a11y/meta.json @@ -0,0 +1,10 @@ +{ + "name": "JavaScript and Accessibility Review", + "isUpcomingChange": true, + "blockType": "review", + "blockLayout": "link", + "dashedName": "review-js-a11y", + "superBlock": "full-stack-developer", + "challengeOrder": [{ "id": "683766860f71d4a96e429f3a", "title": "JavaScript and Accessibility Review" }], + "helpCategory": "JavaScript" +} diff --git a/curriculum/challenges/english/25-front-end-development/quiz-js-a11y/68376949899fcbad3c9cac23.md b/curriculum/challenges/english/25-front-end-development/quiz-js-a11y/68376949899fcbad3c9cac23.md new file mode 100644 index 00000000000..267b1a3872b --- /dev/null +++ b/curriculum/challenges/english/25-front-end-development/quiz-js-a11y/68376949899fcbad3c9cac23.md @@ -0,0 +1,454 @@ +--- +id: 68376949899fcbad3c9cac23 +title: JavaScript and Accessibility Quiz +challengeType: 8 +dashedName: quiz-js-a11y +--- + +# --description-- + +To pass the quiz, you must correctly answer at least 18 of the 20 questions below. + +# --quizzes-- + +## --quiz-- + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer + +### --question-- + +#### --text-- + +Placeholder question + +#### --distractors-- + +Placeholder distractor 1 + +--- + +Placeholder distractor 2 + +--- + +Placeholder distractor 3 + +#### --answer-- + +Placeholder answer diff --git a/curriculum/challenges/english/25-front-end-development/review-js-a11y/683766860f71d4a96e429f3a.md b/curriculum/challenges/english/25-front-end-development/review-js-a11y/683766860f71d4a96e429f3a.md new file mode 100644 index 00000000000..f91118d2fcf --- /dev/null +++ b/curriculum/challenges/english/25-front-end-development/review-js-a11y/683766860f71d4a96e429f3a.md @@ -0,0 +1,23 @@ +--- +id: 683766860f71d4a96e429f3a +title: JavaScript and Accessibility Review +challengeType: 24 +dashedName: review-js-a11y +--- + +# --description-- + +Review the concepts below to prepare for the upcoming quiz. + +## Topic 1 + +- **Concept**: Explanation goes here + +## Topic 2 + +- **Concept**: Explanation goes here + +# --assignment-- + +Review the JavaScript and Accessibility topics and concepts. + diff --git a/curriculum/superblock-structure/full-stack.json b/curriculum/superblock-structure/full-stack.json index f7609e495aa..6f9e617f91d 100644 --- a/curriculum/superblock-structure/full-stack.json +++ b/curriculum/superblock-structure/full-stack.json @@ -784,6 +784,18 @@ } ] }, + { + "dashedName": "js-a11y", + "comingSoon": true, + "blocks": [ + { + "dashedName": "review-js-a11y" + }, + { + "dashedName": "quiz-js-a11y" + } + ] + }, { "dashedName": "debugging-javascript", "blocks": [