Categories
eLearning

Captivate and JAWS: A Deeper Dive

In January, I posted a quick piece about the challenges Captivate 2019 output has with the JAWS 16 screen reader — more precisely, how the experience falls apart in Internet Explorer. I have since tested multiple versions of Captivate in various browsers, and here are some of those results.

Some Notes to Begin

  • All tests were with HTML5 output. Flash support in modern browsers ends this year.
  • These tests used the following Captivate/browser versions: 
    • Captivate 7 version 7.0.1.237 + Internet Explorer 11
    • Captivate 2017 version 10.0.1.283 + Edge version 81
    • Captivate 2019 version 11.5.1.499+ Edge version 81
  • Chrome results are almost identical to Edge. Most corporate settings avoid Firefox. Despite my Firefox love, I did not thoroughly test it.
  • I have no results for Captivate 2017 or 2019 with JAWS 16. There were significant compatibility issues between both versions of Captivate and JAWS 16, rendering the outputs unusable.

Reading Text

For these tests, I made some slides that handled accessibility text in the three main ways Captivate offers. I let JAWS read each slide with as little intervention as possible, and each slide had only one button to add a pause to the slide.

A text slide passed if it could read reliably with no intervention on my part. It could partially pass if I could get through all of the text with minimal frustrations or workarounds. It failed if I could not get it to read successfully.

Captivate 7 + JAWS 16

  • Auto-Label – Partial Pass 
    • Read but needed repeated down-arrow presses to continue reading. Randomly said, “clickable.”
    • Layer order affects read order.
  • Manual Item Labels – Partial Pass 
    • Read but needed repeated down-arrow presses to continue reading. Randomly said, “clickable.”
    • Layer order affects read order.
  • Slide Accessibility – Pass. The text read as expected.

Captivate 7 + JAWS 2019

  • Auto-Label – Partial Pass
    • Read but needed repeated down-arrow presses to continue reading.
    • Layer order affects read order.
  • Manual Item Labels – Partial Pass
    • Read but needed repeated down-arrow presses to continue reading.
    • Layer order affects read order.
  • Slide Accessibility – Pass. The text read as expected.

Captivate 2017 + JAWS 2019

  • Auto-Label – Partial Pass
    • Read but needed repeated down-arrow presses to continue reading. Occasionally said, “blank.”
    • Layer order affects read order.
  • Manual Item Labels – Partial Pass
    • Read but needed repeated down-arrow presses to continue reading. Occasionally said, “blank.”
    • Layer order affects read order.
  • Slide Accessibility – Pass. The text read as expected.

Captivate 2019 + JAWS 2019

  • Auto-Label – Partial Pass
    • I needed to press the down arrow to get to the next object or caption. Randomly said, “graphic.”
    • Layer order affects read order.
    • Read items a second time on tabbing to the button to continue.
  • Manual Item Labels – Partial Pass
    • I needed to press the down arrow to get to the next object or caption. Randomly said, “graphic.”
    • Layer order affects read order.
    • Read items a second time on tabbing to the button to continue.
  • Slide Accessibility – Partial Pass.
    • Read as expected.
    • Read items a second time on tabbing to the button to continue.

Of the three, Captivate 2019 performed the worst in this test. I could get through the content, but I’m concerned about a learner retaining the information if they are continually accommodating for the software.

Table of Contents

Having the TOC active produced nearly identical results in both browsers and all three versions of Captivate.

  • If a learner tabs through all slide content, they will have to take through the entire TOC to get back to the beginning of the slide.
  • Keyboard navigation is all but nonexistent. Activating an entry works occasionally. Sometimes the screen reader text does not match the selected entry.

You can get past these troubles by going to Preferences > Publish settings and activating Restrict keyboard tabbing to slide items only. Learners who depend on screen readers or keyboard navigation will have no access to the table of contents, but it’s not useful to them.

Buttons

For this test, I put together a slide that uses every button type in Captivate. I did not use click boxes. A button passed if I could tab to it and press Enter to activate it. It failed if I had to do any kind of workaround to get the button to work or if it did not work at all.

Captivate 7

Both JAWS 16 and JAWS 2019 behaved identically in this test.

  • Image Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Text Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Transparent Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Smart Shape Button – Failed. Required Shift + Enter to activate while JAWS was active.

It’s also worth noting that the visual indicator for selected buttons is hard to see in IE11, making keyboard navigation extremely difficult for a sighted user.

Captivate 2017

  • Image Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Text Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Transparent Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Smart Shape Button – Failed. Required Shift + Enter to activate while JAWS was active.
  • Buttons States. Failed – Required Shift + Enter to activate while JAWS was active.

Captivate 2019

  • Image Button – Success.
  • Text Button – Success.
  • Transparent Button – Success.
  • Smart Shape Button – Success.
  • Button States – Success but didn’t reliably read the new state.
  • Picture as Button – Failed. I could not get this to work with the keyboard.

In these tests, Captivate 2019 with JAWS 2019 was the clear winner. It was the easiest to navigate by far, but there are still some issues with using a picture as a button and successfully reading different text in other button states.

Text Entry Boxes

Text Entry Boxes (sometimes called TEBs) are very problematic from an accessibility perspective.

For this test, I had a single Text Entry Box on a slide with a Submit button. The slide passed if I had no problem hearing slide text, using the TEB and getting off the slide. It could partially pass if everything worked with coaxing. It failed if I got stuck on this slide or could hear no other content.

  • Captivate 7 – Partial Pass. The TEB hijacked the screen reader. I had to press the up arrow a few times to get it to read slide content. The Submit button worked with Enter. I had the same results in JAWS 16 and JAWS 2019.
  • Captivate 2017 – Fail. JAWS read nothing but the TEB. The Submit button worked with Enter.
  • Captivate 2017 – Fail. JAWS read nothing but the TEB. The Submit button worked with Enter.

While I could get away from the Text Entry Box slide in Captivate 2017 and 2019, the learning experience was poor.

Quiz Slide

The built-in quiz slides are another problematic area. For this text, I built a simple multiple-choice question with two choices. Each element of the quiz slide passed or failed based on whether it worked predictably.

Captivate 7 + JAWS 16

  • Screen Reading – Partial Pass. I had to press the down arrow repeatedly to read slide content.
  • Feedback Reading – Fail. JAWS could not read the feedback.
  • Keyboard Navigation – Fail. I could get to the answers but could select neither.
  • Visual Indicator – Fail. There is no visible indicator for the answer selected or any other button on this slide.
  • Submit Button – Fail. Had to use Shift + Enter to activate.
  • Slide Exit – Fail. I could not progress. JAWS repeatedly said, “There are no span elements on this page.”

Captivate 7 + JAWS 2019

  • Screen Reading – Partial Pass. I had to press the down arrow repeatedly to read slide content.
  • Feedback Reading – Fail. JAWS could not read the feedback.
  • Keyboard Navigation – Fail. I had to tab to the block of answers, then switch to arrow keys to navigate them. This change is confusing, especially if you can’t see the screen.
  • Visual Indicator – Fail. There is no visible indicator for the answer selected or any other button on this slide.
  • Submit Button – Pass.
  • Slide Exit – Fail. I could not progress. JAWS repeatedly said, “There are no span elements on this page.”

Captivate 2017 + JAWS 2019

  • Screen Reading – Partial Pass. I had to press the down arrow repeatedly to read slide content.
  • Feedback Reading – Partial pass. The feedback read if I pressed the down arrow.
  • Keyboard Navigation – Fail. I had to tab to the block of answers, then switch to arrow keys to navigate them. This change is confusing, especially if you can’t see the screen.
  • Visual Indicator – Partial pass. Visually indicates when you are at the block of answers but not which answer you selected. The Submit button has a clear visual indicator.
  • Submit Button – Fail. Had to use Shift + Enter to activate.
  • Slide Exit – Fail. I could not progress. JAWS repeatedly said, “There are no span elements on this page.”

Captivate 2019 + JAWS 2019

  • Screen Reading – Partial Pass. Read well, but read the choices before I navigated to them.
  • Feedback Reading – Partial pass. The feedback read if I pressed the down arrow.
  • Keyboard Navigation – Fail. I had to tab to the block of answers, then switch to arrow keys to navigate them. This change is confusing, especially if you can’t see the screen.
  • Visual Indicator – Partial pass. Visually indicates when you are at the block of answers but not which answer you selected. The Submit button has a clear visual indicator.
  • Submit Button – Pass.
  • Slide Exit – Fail. I could not progress. JAWS repeatedly said, “There are no span elements on this page.”

Of these, Captivate 2019 performed the best, but that is faint praise. The quiz slides remain unusable from an accessibility point-of-view.

Other Tests

These are other items that I either did not focus on heavily in my testing or are specific to particular versions of Captivate.

  • Widgets and Interactions – I did not exhaustively test these. The few that I did had problems either with the screen reader, keyboard navigation, or both.
  • Interactive Video – I could get through an interactive video in Captivate 2019 as long as I avoided built-in quiz slides. However, using custom buttons can generate a lot of false reads. Proceed with caution.
  • VR/360º Slides – These are specific to Captivate 2019 and are entirely inaccessible for keyboard users.

Conclusion

Captivate 2019 is an overall improvement in terms of accessibility with JAWS. Compatibility with JAWS is crucial because it is still the most popular screen reader globally, and it dominates the United States government sector. Adobe has a long way to go before eLearning developers can have confidence their modules will provide a good experience to disabled learners.

Here are some things I’d like to see:

  • Output standards-compliant HTML.
  • Output real text. Captivate outputs text as images. Using actual text will greatly help screen readers.
  • Deprecate or replace interactions that don’t work with keyboard navigation.
  • Use ARIA tagging for interactive elements.

If you are developing eLearning modules in Captivate, don’t just assume accessibility works. Use a freely available screen reader like NVDA for Windows or VoiceOver on macOS. Then close your eyes and see if you can navigate your module. See where you can make improvements, research, and ask for help.

Remember that accessibility may affect only a small percentage of your learners, but those efforts affect 100% of how they interact with your products.

Categories
eLearning

Captivate Text Entry Box Tips

Text entry boxes (TEB) can be useful tools to assess learners’ progress or to simulate web forms or other applications. Here are some tips for a smooth experience with Captivate’s TEBs.

Text Entry Boxes and the Timeline

the Captivate timeline showing a text entry box offset by a tenth of a second from the front of the timeline

In you are navigating through the module by keyboard, it’s possible to trigger text entry boxes on slide enter. (This may be true of anything with a keyboard shortcut of Enter.)

To avoid this problem, move the TEB 0.10 seconds from the beginning of the slide’s timeline (see Figure 1).

Checking Against a Variable

Captivate’s built-in validation for text entry boxes can be problematic for accessibility. To account for this, create a custom button and assign an action to it that checks against the variable associated with the given TEB. This will allow you to create and navigate to a dedicated slide for feedback rather than Captivate’s built-in feedback, which will be invisible to a screen reader. You can also make other elements dependent on a correct TEB answer in this way.

Sample

--IF--
Text_Entry_Box_1 is equal to John OR
Text_Entry_Box_1 is equal to john OR
Text_Entry_Box_1 is equal to JOHN
--THEN--
Jump to Slide 34
--ELSE--
Go to Next Slide

Important: Be sure to account for alternate spellings and answer formats.

Disabling the Text Entry Box Button

If you are using a custom button for your text entry box, you can hide the default button.

  1. Select the TEB on the slide or in the timeline.
  2. In the Properties tab, assign it a keyboard shortcut. Since I want the learner to interact with the button instead of just hitting Enter, I usually make is something complicated, so it can’t be triggered by accident.
  3. Once you have the keyboard shortcut assigned, you can uncheck Show Button in the Properties tab
text entry box properties showing a complex keyboard shortcut and the show button checkbox unchecked

Conclusion

Text entry boxes are a great tool, and Captivate’s built-in features are a good place to get you started. If you want to start taking your text entry box use to new levels of interactivity and accessibility, I hope these tips give you a good start.

Categories
eLearning

Captivate 2019 and Older Versions of JAWS

One of the clients I support has JAWS 16 installed as the default screen reader on all employee computers, so our accessibility testing for that client has to work with that specific JAWS release. On the other hand, we’ve been investigating migrating to Captivate 2019 for better HTML5 output and the other improvements it brings. However, we have run into a serious snag.

Captivate 2019 and JAWS 16 seem to be entirely incompatible with each other. Here are the things I’ve been able to test and the results I’ve seen:

  • HTML5: Auto labeled buttons, text, and objects reliably do not read.
  • HTML5: Manually labeled buttons, text, and objects only sporadically read.
  • HTML5: Manual slide accessibility reads inconsistently.
  • HTML5: When JAWS 16 is active, buttons only respond when you press Shift along with Spacebar or Enter.
  • HTML5: When JAWS 16 is active, keyboard input lag may become unbearable.
  • HTML5: If you accidentally tab out of the eLearning frame, you may never get back in without mouse input.
  • Flash: Buttons don’t read.

All of this is leading to every Captivate 2019 module failing accessibility compliance testing. Right now, I have no solution except to avoid Captivate 2019 if you have a client on an older version of JAWS. The good news is that one of my testers has informed my team that things are better in JAWS 19 and newer, but I don’t have an official report about how much better.

Of course, my pie-in-the-sky hope is that a future version of Captivate will export to HTML5 using standards-compliant code, which will solve a myriad of accessibility hurdles. Until then, we have to work with the software compatibility that we have. At this time, that means I have to recommend avoiding Captivate 2019 if you are tied to JAWS 16 for any reason.

I will post updates as I learn more.

Updates

  • Most of the issues are specific to a combination of Captivate 2019’s HTML5 output plus and outdated version of JAWS plus Internet Explorer. Tests with JAWS 16 were marginally better in other browsers like Edge and Chrome.
  • Keyboard accessibility saw the biggest improvements when switching browsers. Text reading was still flaky but more manageable.
  • Knowledge Check slides and cookie cutter interactions like drag-and-drop were still almost entirely inaccessible.

Bokeh background by Sharon McCutcheon on Unsplash

Categories
eLearning

Adobe Captivate: Mind Your Layers

When you visually edit a Captivate file, it’s easy to lose track of where things fall on your timeline. However, keeping your timeline tidy provides a few benefits.

Accessibility

  • If you use auto-label for accessibility (which we do not on the my contracts), the screen reader will read the text captions from bottom to top on your timeline. Out of order text captions can make your slide sound nonsensical to someone listening through a screen reader.
  • Layer order affects tab order. When you tab through the slide, the default order is determined by the layer order. Like captions, tabbing will go from bottom to top. You will save yourself a lot of time by avoiding the Tab Order dialog box if you start with your buttons in a logical timeline order.

Maintenance

If you have a pattern you follow when putting your timelines together, it helps you find things more easily later. It also helps someone coming in after you. As an example, this is an order I try to follow.

From bottom to top:

  • Pasteboard elements, like color palettes or developer notes.
  • Decorative graphics and pictures.
  • Captions and groups with text in read order, bottom to top.
  • Buttons and other interactive elements in tab order, bottom to top.

Conclusion

Layer order in the timeline may seem trivial. In fact, the timeline is pretty hidden in the Captivate Classic view. I therefore keep the timeline on its own monitor when I’m working, so I don’t forget about it. If you have the screen real estate and want to do the same, just check the box next to “Enable custom workspaces” in the General Settings category of the Preferences window. Restart Captivate, and now you can move your panels around. This will help you keep the timeline part of your workflow and provide one more way you can deliver a well-maintained and more accessible product.