cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Community Member

Please explain: Why does Canvas utilize accordions but denies the same functionality to students?

Jump to solution

Will someone please explain why Canvas will not support the code for accordions on pages and the rational behind this decision?  This used to work.

When I am building a page for my students and I want to link to a page, assignment, quiz, etc, Canvas uses accordions to organize the material.  Accordions are important in terms of organizing these links.  However, the html code that supported accordions on pages was depreciated and no longer function. Why are students are denied a basic tool that would provide clear structure and organization of material?

1 Solution

Accepted Solutions
Highlighted
Navigator

jbeyer@jtcc.edu 

Accordions were supported as part of jQuery UI, which included a lot of bloated code in it and had some accessibility issues. Canvas came up with their own library that they called InstUI and it has (their take on it) some of the best accessibility around.

Including both libraries (jQuery UI and InstUI) adds to the amount of material that needs downloaded. Canvas has switched to ReactJS and is slowly (as things get rewritten) phasing out jQuery UI. Some people noticed this as early as 2016, but Accordions were the first to go, see Canvas Production Release Notes (2017-06-24), since they were the least used and would disrupt the fewest people.

The accordions, tabs, draggable, resizeable, and sortable widgets were usually implemented through the use of an undocumented and unsupported class added to use content called enhanceable_content. People writing content for their users were never supposed to use this, but like most good things, people found out it worked and used it. Canvas made the decision that if people want to use that, they need to supply their own libraries.

An analogy l used last week when explaining this is to pretend that Canvas makes lawnmowers. They decided to switch from a Briggs & Stratton (jQuery UI) engine to a Honda (InstUI) engine on their lawnmowers. However, a bunch of people had been exploiting a feature they found in a technical manual (the [now deprecated] style guide) specific to the Briggs & Stratton (B&S) engines that doesn't exist in the Honda engine. Canvas has swapped the B&S engine for a Honda engine and now they're reworking the rest of the system to take advantage of all the new things the Honda allows them to do. That takes time and so many of the features are reflective when the lawnmower had a B&S engine.

Meanwhile, Canvas is sitting back and saying they're not responsible that you used a feature on the B&S engine and modified your lawnmower to do things it wasn't intended to do. I'm not sure they fully understand the concern of people because the style guide was written for software developers, not for content writers.

This analogy is not meant to infer one engine manufacturer is better than another, it's just an example.

I see that you commented on that discussion while I was writing the above.

If you want accordions, then you need to include the JavaScript libraries to make it work. You can use the examples from the WAI ARIA website to help: Accordion Example | WAI-ARIA Authoring Practices 1.1 

The problem for people using the enhanceable_content class is that Canvas wrote a new technical manual for software developers: InstUI: Instructure’s Style Guide 2.0  . Since it's not for content writers, they didn't answer the question of how people were supposed to continue to use the undocumented features that aren't supported with it, or that you can't even use their new, great, best-in-class, most accessible library out there with user content, it's only for software developers.

By the way, the last I looked, jQuery UI widgets aren't supported in the mobile apps, which is something to consider.

View solution in original post

1 Reply
Highlighted
Navigator

jbeyer@jtcc.edu 

Accordions were supported as part of jQuery UI, which included a lot of bloated code in it and had some accessibility issues. Canvas came up with their own library that they called InstUI and it has (their take on it) some of the best accessibility around.

Including both libraries (jQuery UI and InstUI) adds to the amount of material that needs downloaded. Canvas has switched to ReactJS and is slowly (as things get rewritten) phasing out jQuery UI. Some people noticed this as early as 2016, but Accordions were the first to go, see Canvas Production Release Notes (2017-06-24), since they were the least used and would disrupt the fewest people.

The accordions, tabs, draggable, resizeable, and sortable widgets were usually implemented through the use of an undocumented and unsupported class added to use content called enhanceable_content. People writing content for their users were never supposed to use this, but like most good things, people found out it worked and used it. Canvas made the decision that if people want to use that, they need to supply their own libraries.

An analogy l used last week when explaining this is to pretend that Canvas makes lawnmowers. They decided to switch from a Briggs & Stratton (jQuery UI) engine to a Honda (InstUI) engine on their lawnmowers. However, a bunch of people had been exploiting a feature they found in a technical manual (the [now deprecated] style guide) specific to the Briggs & Stratton (B&S) engines that doesn't exist in the Honda engine. Canvas has swapped the B&S engine for a Honda engine and now they're reworking the rest of the system to take advantage of all the new things the Honda allows them to do. That takes time and so many of the features are reflective when the lawnmower had a B&S engine.

Meanwhile, Canvas is sitting back and saying they're not responsible that you used a feature on the B&S engine and modified your lawnmower to do things it wasn't intended to do. I'm not sure they fully understand the concern of people because the style guide was written for software developers, not for content writers.

This analogy is not meant to infer one engine manufacturer is better than another, it's just an example.

I see that you commented on that discussion while I was writing the above.

If you want accordions, then you need to include the JavaScript libraries to make it work. You can use the examples from the WAI ARIA website to help: Accordion Example | WAI-ARIA Authoring Practices 1.1 

The problem for people using the enhanceable_content class is that Canvas wrote a new technical manual for software developers: InstUI: Instructure’s Style Guide 2.0  . Since it's not for content writers, they didn't answer the question of how people were supposed to continue to use the undocumented features that aren't supported with it, or that you can't even use their new, great, best-in-class, most accessible library out there with user content, it's only for software developers.

By the way, the last I looked, jQuery UI widgets aren't supported in the mobile apps, which is something to consider.

View solution in original post

Labels