January 24, 2019
Custom, Accessible Quiz: Development Highlights
Comments
(5)
January 24, 2019
Custom, Accessible Quiz: Development Highlights
Instructional designer and e-learning developer. Certified Adobe Captivate Specialist.
Newbie 12 posts
Followers: 20 people
(5)

I recently posted a showcase – a Custom, Accessible Quiz. This was a shorter, rewritten and rebranded version of a fully customized, yet accessible quiz I created for a client.
In this article I want to share some highlights of the development process. If you haven’t tried it already, it will help to understand the rest of this article if you try out the quiz before reading further. It’s at: elearning.adobe.com/2019/01/custom-accessible-quiz.

Multiple Introductions

Multiple text for introductions overlaid on a single slide.

In the course, there are two possible scenarios in which a learner may start the quiz:

  • A first attempt;
  • Re-taking after a failed attempt.

For both scenarios, I used a single slide to communicate the introduction to the quiz. Structurally, this means that the quiz always starts from a single location. Through experience, I have learned that this simple decision will help to simplify any debugging that might be necessary later as it reduces the number of non-essential branches in the course.

Advanced action showing how cpQuizInfoAttempts is used to determine which text to display.

For both scenarios, I used a single slide to communicate the introduction to the quiz. Structurally, this means that the quiz always starts from a single location. Through experience, I have learned that this simple decision will help to simplify any debugging that might be necessary later as it reduces the number of non-essential branches in the course. To determine which scenario was in play, I used Captivate’s cpQuizInfoAttempts system variable to track whether the quiz had previously been attempted. cpQuizInfoAttempts reports the number of times a quiz has been attempted; If the quiz has not yet been taken, its default value is zero.

Learn more about Captivate’s system variables at: helpx.adobe.com/captivate/using/captivate-variables-list.html.

Custom Options

I created the custom options using Smart Shapes as buttons. Each option has only two states: Normal and Visited.

The highlighted True button for question 1 with its Smart Shape properties visible in the Property Inspector.

In terms of accessibility, this was perhaps one of the trickier areas of the quiz because unlike regular buttons, smart shapes are not automatically accessible. It was therefore necessary to add Accessibility Names to each state.

Quizzing Logic

The quiz contains only accessible question-types: true or false, multiple-choice (pick one, and select all that apply) and fill-in-the-blanks.
I created separate advanced actions to implement the logic for each of these question types, and then saved them as shared actions so that I could reuse the same advanced action for multiple questions containing similar objects.

A shared action
In each question, every option has an advanced action associated with it which defines the following:

  • The score to assign to the option – 10 for the correct answer, 0 otherwise (in most cases. Select all that apply works a little differently).
  • Any options that must be deselected once this specific option is selected (for true or false and pick one question types).
  • The specific variable that should be updated when at least one option has been selected –to indicate that it is time to enable the Submit button.

It’s also worth mentioning that every question slide also has an On Enter advanced action that resets all the options to their Normal state and clears the score from the Submit button before the slide is displayed –-if the quiz is being retaken.

A Little Branching

As I mentioned earlier, through experience, I have learned that it is generally best to limit branching to only when necessary to achieve pedagogical objectives i.e. when distinct structural paths need to be defined. This situation fits that definition in that after the learner has completed the quiz, they are automatically directed along one of two distinct paths:

  • Pass the quiz and go to the course conclusion;
  • Fail the quiz and go back to the beginning of the quiz (to retake it).

So, this was a perfect situation to implement a little branching by creating a conditional advanced action which determined where to direct the learner based on the outcome of the quiz. It did this by determining which Next button and message group to display to the learner on the Quiz results slide.

The Branching View showing the branches from the Test Results slide.

Similar to the introduction, I used On Enter to attach the advanced action to the slide. This is the branch you can see in the image.

5 Comments
2022-03-16 19:56:43
2022-03-16 19:56:43

This was really thorough, thank you!

Like
2021-12-11 02:28:23
2021-12-11 02:28:23

I want to use branching to create what I call dynamic lesson planning.  I just mean that lessons do not have to move in a straight line. The order of the lessons can be different each time you teach the class.

Like
2020-08-24 20:02:56
2020-08-24 20:02:56

Thanks for this insightful article

Like
(3)
2019-12-10 00:11:45
2019-12-10 00:11:45

Thanks for the discussion on branching!

Like
(5)
2019-01-30 01:39:31
2019-01-30 01:39:31

Do you ever exit out of the remediation, or is this take it till you make it?

Like
(5)
Add Comment