top of page


When developing an eLearning module, you will often need to provide closed captions (CC) that can be toggled on and off. There are several ways to do this, and I want to share a method with you which works the best for us as Pathways Training and eLearning.

Let’s first examine some other ways and their deficiencies. You could create closed captions by placing text boxes on tracks in the timeline, and timing their start and end to the audio. Although this method works, your stage will show all of these text boxes overlapping, and it will be difficult to edit them. You will have to toggle off the visibility of all other CC tracks to edit the one you’re working on, and that takes time. Further, if you forget to toggle some tracks on when you’re done, you will not see those lines on the slide. Therefore, using text boxes on track in the timeline to do closed captioning is not very efficient and can lead to errors. There are better ways to do it.

A method we used until recently involves creating a CC layer on the Slide Master, and a text box there with a variable to display the text. We use the variable name “CCtext” to store the current string for closed captions. To display it in the text box, you must type %CCtext% into it. Storyline will recognize anything enclosed in percentage signs as a variable. We used a separate variable, “CC” to toggle the layer on and off.

The advantage of this method is that you can change the value of CCtext at any time, on any slide. Simply place a cue point on the timeline, and create a trigger that will change CCtext to the appropriate string when you need to update the line. No need for overlapping text boxes and messy timelines with many tracks. All of the CC text can be updated in the Player Triggers section alone. Cue points on the timeline can easily be adjusted to time the close captions perfectly.

The disadvantage of this method is that if you want to toggle CC on and off from the player menu, you will need to use a bit of Javascript code. The code merely toggles the value of the Boolean “CC” variable. This doesn’t seem too complicated, but the problem is that in Storyline, Javascript will not evaluate during preview. That means you have to publish the module to see the functionality. This can really be inconvenient, as you have to “trust” the code to function properly.

However, there is another solution! Set up your CC layer as described above through the Slide Master. Then, create a blank slide in your module, disconnected from any other slide. Let’s name this slide “CC Toggle”. The slide will be empty and set the timeline to be zero – drag the “End” of the timeline back to zero. Create two triggers on this slide: (1) Toggle variable CC when timeline starts, and (2) Jump to previous slide when timeline ends.

Essentially, this slide will toggle the CC variable and then jump back to wherever it was called from. This is done without Javascript, and is flexible to use from any slide in the module – as long as said slide uses the CC SlideMaster that we set up earlier. Now you can preview your slides with CC toggling functionality.

The only drawback that we could find is that when you toggle CC with this method, the slide you are currently on will restart. This can be remedied if you set your slide options to resume saved state when revisiting, however, you likely don’t want to do that for most slides. Still, replaying the slide when toggling CCs is not necessarily a bad idea, and it’s unlikely to be intrusive as closed captions are not toggled frequently. Usually, the user would turn them on or off once or twice during the module, and in that case it’s acceptable to replay the current slide.

Until an integrated CC solution is available in Storyline, the solution presented here will allow you a flexible and pre-viewable option to implement closed captions. We hope you will find it useful.

To learn more about our company and how we contribute in the field of eLearning, please visit our website at

Featured Posts
Recent Posts
Search By Tags
Follow Us
  • Facebook Basic Square
  • Twitter Basic Square
  • Google+ Basic Square
bottom of page