Strategies for Providing Access to Timed Content for Assistive Technology Users

Last updated: 5/26/2025

A common eCourse practice is to have slide text appear as it is mentioned in the slide audio. This approach can minimize the amount of text and other visual information displayed at a given time — which may particularly benefit learners who have certain cognitive disabilities and could constitute learning theory, like Mayer's principles of multimedia learning, in action — and it can add visual dynamism during otherwise static slide presentations.

But how do you ensure this approach is accessible? Screen reader users may miss content if they don't explore the slide at the exact right time, and keyboard navigators may not be able to move focus to interactive elements before they disappear.

Timed, non-interactive content should always be available to screen reader users

Since you don't know when screen reader users will choose to explore a slide, there should be a separate version of timed content that is always available to screen reader users. This version of the content should be hidden visually, such as being placed behind a false slide background or slide graphic, and the version of the content that is seen visually should be hidden from assistive technologies (that is, hidden from "accessibility tools" in Storyline) so that screen reader users don't inadvertently encounter two versions of the same content.

A Storyline example of this approach is shared further below.

However, this approach may not be ideal for interactive content, as keyboard-only users (who are not also screen reader users) would be able to tab focus to the visually hidden, screen reader version of the content before the visual equivalent displayed, leaving them uncertain what element has focus and what will occur if they press enter or space to engage with the element.

Interactive content

Since you typically wouldn't want keyboard-only users to be able to engage with interactive content before they can see what it is and what it does, the better approach with interactive content may be to make it available to all users at the same time and to leave it available for the remainder of the slide so that screen reader users don't miss it thereafter. The interactive content's appearance would then need to be announced by an alert of some form so that screen reader users know it has become available. This is commonly achieved by introducing the interactive content via voice over audio — for example, "click the Learn More button that has just appeared within the slide to explore this in more detail..." — but other methods of alerting users could potentially be used.

Return visits

While timing content to appear or disappear may be ideal for a learner's first visit to a slide, on subsequent visits, they may prefer all the slide content be available from the start, for review or reference purposes or so they don't have to scrub the seekbar to gain access to an interactive component or key piece of information.

Thus, it may make sense to employ a system of variables, conditions and triggers to create one experience on an initial visit and a different experience on subsequent visits.

Storyline example

In this Animated Training Objectives example (opens in new window), on initial visits, screen reader users have access to the full, four-item list before it appears visually, while other learners see the list revealed item-by-item as each is mentioned in the audio, with the first list item appearing roughly four seconds into the slide, and then on subsequent visits, all learners will have access to the full, four-item list from the slide start.

There are numerous ways this behavior could be achieved through different combinations of Storyline programming.

This example uses a white rectangle (hidden from accessibility tools) that serves as a false background, separating the animated version of the list learners see upon their first visit to the slide from the static version that is always available to screen reader users and becomes available to all users upon return visits to the slide.

When the slide timeline ends, a true/false variable tracking slide completion is set to true.

That variable is then used as a condition in two "When timeline of this slide starts" triggers:

  1. The first changes the false background's state to hidden if the slide completion variable equals true, so that the static version of the list can now be seen beneath it
  2. The second sets another variable to true, if the slide completion variable equals true; this second variable tracks that the slide is being revisited

To understand the purpose of there being two variables, let's explore the trigger assigned to the animated version of the list: it changes the text box's state to hidden when the text box's timeline starts if both the slide completion variable and slide revisit variable equal true.

  1. If this trigger is tied to the slide's timeline starting, rather than the text box's timeline starting, the trigger won't have any effect, because the text box isn't present at the slide start, and you can't hide an element that isn't present; instead, the text box appears on its own roughly four seconds into the slide
  2. Using the "slide completion variable equals true" condition ensures that the text box will be hidden if the slide has been completed at least once; however, if that were the only condition used for this trigger, learners might inadvertently be able to hide the text box during their first visit to the slide by dragging the slide timeline back to its start after the timeline has ended, thus firing the trigger that sets the slide completion variable to true
  3. That's where the second, slide revisit variable comes in; by including that, you can ensure that the text box can't be hidden during a learner's first visit to a slide, because the slide revisit variable can only become set to true if learners revisit the slide

Somewhat similarly, the final step is for a "Change state of false background to hidden when the timeline of the false background starts if the slide revisit variable equals true" trigger to be applied to the false background, to ensure it doesn't inadvertently re-appear, blocking view of the static version of the list, if learners scrub the slide timeline back to its beginning during a revisit to the slide.

And, this trigger must be associated with the false background's timeline starting, rather than the slide timeline starting, because learners cannot (currently) initiate "When slide timeline starts" triggers by scrubbing the slide timeline back to its beginning; they have to revisit the slide or replay it, using the replay button, to have "When slide timeline starts" triggers executed.

See also within the Checklist

Audio descriptions for video