Community Champion

The UDOIT developer community has been putting a lot of work into making UDOIT 3 more capable, easier to install, more stable, and easier to debug.  Check out the highlights!


0 0 876

Navigating Canvas with JAWS


JAWS is a commonly used accessibility screen reader and is one of the screen readers supported for use with Canvas. This post will discuss some basics of using JAWS with Canvas.


Navigating through Canvas you can use JAWS shortcuts to locate, bypass, and select without having to move through all individual elements like any other website.  

Here is a link to a guide for JAWS shortcuts:


Page Regions


The Canvas website layout has a few landmarks/regions that make up the page layout.

In a course, you will have the following regions:


  • Skip to Content: The first element on any Canvas page that a screen reader user will hit is the “Skip to Content” link.  This bypasses all of the navigation items on the page.
  • Global Navigation: This is a list of links to access your account settings, courses, calendar, inbox and help menu.  Link to Global Navigation Canvas Guide
  • Course Navigation: This is a list of links to access different course areas like Assignments, Discussions, Modules, Grades, Course Settings, etc.  Link to Course Navigation Canvas Guide
  • Breadcrumbs List:  Shows where you are in a course
  • Main Content: After the Course Navigation you’re at the main content of your course link.  If you’ve just entered a course, the main content section will be your course’s home page.
  • Complementary Region (If there is any):  Complimentary content.  

Navigation Between Courses


If you’re trying to get to a specific course and you’re at your main dashboard, you can do as follows to get to a specific course:

  • Press “R” twice (this moves through regions of the page with JAWS), this will get you to the global navigation region. 
  • Use the down arrow until you hit “Courses” and press Enter.  This puts you in the courses tray (you will reach a close button first which closes the tray, then the tray heading <H2>, and then your list of courses). 
  • Use the up/down arrows to navigate your list of courses until you find the correct one and press enter.


Navigation Within Courses


Once you’re in the course, if you press “R”, the first region is the skip to content region (if you press enter, it will skip all of the global/course navigation and take you to the main region of the page).  If you do not use the skip to content link and press "R" again and this is your Global Navigation Region which JAWS will read how many navigation items there are, Press "R" again, you get the Breadcrumbs Navigation Region, this will show you exactly where you are in the course, Press "R" again, you get to the Course Navigation Region (List of links to areas of your course).  Once you get to the region you’re looking for, you can use the up/down arrows to navigate the buttons/links in that region.


Example:  If you want to get directly to your course modules from anywhere in a course, you can do the following:

  • Press “R” 4 times (this should get you to the courses navigation region)
  • Press “Down Arrow” until it reads Modules and press enter.  This will take you to the modules index page of your course
  • If you press “H” (this moves through Headings of the page with JAWS), it will take you to the <H1> on the page (every Canvas page has an <H1> at the top of the main content region).  If you press the “Down Arrow”, it will move you through all the elements of your Course Modules List.  This is where you can add modules, add module items, edit any existing modules, etc.




2 0 1,380

In the spirit of International Day of Disabled Persons on the 3rd December, read about tangible ways that Canvas can help you create accessible resources through a Universal Design for Learning (UDL) lens.


4 8 2,888
Community Champion

This is the first official open source release of the "Next Generation" UDOIT! It has been completely rewritten from the ground up to make it easier and faster to use. It's also more extensible, so we can more easily add new accessibility checks and other features.


2 20 2,843
Community Champion

This is the final UDOIT 2.x release!  It contains a number of feature enhancements and bug fixes.  We're also changing the way we interact with the community.


0 6 1,434
Community Member

Coranavirus and trying to get caught up in my classes.


1 1 1,026
Community Champion

This release is focused on improving the user experience.  Cidi Labs contributed most of the code for this release in response to requests from their customers, and we are extremely grateful for this contribution.  If you are attending CanvasCon next week, please visit them at their virtual booth!

Now, on to the changes.  The first one you will notice is that the Content and Scan for lists have been moved into an accordion widget titled Scanning Options.  The widget is positioned above the Scan This Course button in order to closely follow the layout of previous versions of UDOIT.

The New UDOIT Home ScreenThe New UDOIT Home Screen


When the scan is complete, the Welcome to UDOIT! and Scanning Options boxes will collapse, conserving vertical space.

Screenshot showing how the interface collapses after a scanScreenshot showing how the interface collapses after a scan


The report view has changed significantly.  Each section of the course where errors or suggestions were found will be listed on the left side.  The section selected when the scan completes is the Summary, which allows the user to show or hide all errors or suggestions or individual errors or suggestions in the report.

Screenshot showing the report filtering interface with some errors hiddenScreenshot showing the report filtering interface with some errors hidden


Selecting the Pages item in the left menu shows the portion of the report related to Pages.  The interface should be familiar from this point on.

Screenshot of the Pages section of the reportScreenshot of the Pages section of the report


The Unscannable Files section now detects more types of unscannable files.  These file types are customizable, so you can add to or remove from to the defaults if you so desire.

Screenshot of the new file types added to the Unscannable Files sectionScreenshot of the new file types added to the Unscannable Files section


Upgrade Instructions

  • Download UDOIT version 2.7.0
  • Test in a development or QA environment, not on production.
  • If you are still using PHP 7.1 or below, you must upgrade to 7.2 or 7.3.
  • If you're coming from a version older than 2.6.3:
    • (Self-Hosted) Update your localConfig.php file to make sure it's up to date with localConfig.template.php
    • (Heroku-Hosted) Update your Config Vars to include the new variables
    • back up your database and run "php composer.phar migrate"
  • Run "php composer.phar install"
  • (Heroku-Hosted) Follow the instructions in

Features Added

  • Added ability to filter the report by error/suggestion type and view a single content section at a time. Thanks Cidi Labs! #498
  • Reworked the the way unlisted/private/deleted YouTube/Vimeo videos are handled. Now they show up in their own Suggestion instead of being marked for manual inspection in other Errors or Suggesions. #547
  • Added documentation for which folders need to be writeable by your webserver #548
  • Updated Quail to support all types of table structures #488
  • Unscannable File extensions are now configurable #474

Bugs Fixed

  • Fixed a memory usage issue with the Most Common Errors report in the Admin Panel #502
  • Cleaned up some old YouTube-related code from lib/UdoitUtils.php #491
  • Fixed issue where tables with <p> tags in them prevent U FIX IT from working #488
  • Large images no longer break out of the bounds of the preview pane. #451
  • Floated images no longer float out of the bounds of the preview pane. #449

Side note:  I tried to add proper headings to this post, but this software does not allow heading tags.  If you have any issues navigating the content of this post, please let me know.

2 3 1,833
Community Champion

A few institutions have contacted me over the last few weeks regarding an error they receive when launching UDOIT in Chrome.  The full error is "Missing Session information. Please refresh the page. Missing: base_url".  Here's how to solve it.



0 11 2,997
Community Champion

I'm back with another bugfix release!  If you are able, it would be most helpful if you could update your QA or Testing instance of UDOIT to this version; the last few bugfix releases were made possible by institutions testing out the code in their unique environments.  I greatly appreciate the help!

Upgrade Instructions

  • Download UDOIT version 2.6.4
  • Test in a development or QA environment, not on production.
  • If you are still using PHP 7.1 or below, you must upgrade to 7.2 or 7.3.
  • If you're coming from a version older than 2.6.3:
    • (Self-Hosted) Update your localConfig.php file to make sure it's up to date with localConfig.template.php
    • (Heroku-Hosted) Update your Config Vars to include the new variables
    • back up your database and run "php composer.phar migrate"
  • Run "php composer.phar install"
  • (Heroku-Hosted) Follow the instructions in

Bugs Fixed

  • Changed "expire" key to "lifetime" for creating the session cookie. The old key was invalid, and was causing a PHP warning to be thrown. #530
  • Added a line to Quail to remove whitespace from HTML to eliminate false positive for missing table headers. #529
  • Updated html-minifier to a fork that fixes a warning in PHP7 #527
  • Updated to latest version of Composer #527
  • Changed misleading error when a syllabus_body is not returned from Canvas. If UDOIT is using a scoped developer key, an empty syllabus_body will display an error message to the user explaining the limitations of scoped developer keys in some installations of Canvas. If UDOIT is not using a scoped developer key, UDOIT tells the user that no accessibility issues were found in the Syllabus. #490

0 0 1,271
Community Champion

This release fixes a number of issues, both new and old.  A huge thanks to escull‌ for figuring out so many of these.  If you've been having any trouble with tables, please test out this version and let me know if it your issues are resolved.

Upgrade Instructions

  • Download UDOIT version 2.6.3 now!
  • Test in a development or QA environment, not on production.
  • If you are still using PHP 7.1 or below, you must upgrade to 7.2 or 7.3.
  • (Self-Hosted) Update your localConfig.php file to make sure it's up to date with localConfig.template.php
  • (Heroku-Hosted) Update your Config Vars to include the new variables
  • Run "php composer.phar install"
  • If you're coming from a version older than 2.6.2, back up your database and run "php composer.phar migrate"
  • (Heroku-Hosted) Follow the instructions in

Bugs Fixed

  • If you've been having trouble with detecting and fixing table headers, we may have fixed the issue:
    • UFIXIT for tables fixed for PHP 7.3. So, that means UDOIT is now compatible with PHP 7.3!
    • UFIXIT for tables now works when selecting "first column" or "both".
    • One institution reported that UFIXIT added an empty row to a table when a space is present in the HTML. This was fixed.
  • The status page accurately reports status of the Developer Key.
  • Decreased memory usage when generating "Most Common Errors" report in the admin panel.


  • A list of all the tests UDOIT looks for was added to the README
  • The YouTube Terms of Service and Google Privacy Policy were added to footer in order to comply with the YouTube API usage requirements. This feature is able to be enabled, disabled, and customized.
  • A less expensive endpoint used for testing the Google API key in the status page.

0 15 2,669

Most of the functions in Microsoft Teams have a slightly different Keyboard Navigation method than most functionality within Canvas. Microsoft Teams will primarily use the Tab key to move between a group of objects, and then from that group, use the Arrow Keys to navigate within the controls of that group. However, if the focus indication is placed over a larger set rather than on a single control in a group, you will need to press the Enter/Return key first in order to interact with that group.

Example: Keyboard Navigation for a Message


Pressing the Tab key will create a focus box around the entire message


Pressing the Enter/Return key will place focus around the top half of the message


Pressing the Down arrow will move focus to the Reply section of the message


Pressing the Up arrow will move focus back up to the top half of the message


Message Top Half:

Pressing the Enter/Return key will display the Emoji Reactions, which can be selected with Arrows & Enter/Return key


Pressing the Tab key will move you to the “…” menu, which you can navigate with Arrows & Enter/Return key


Message Bottom Half:

Pressing the Enter/Return key will open the reply text field


Pressing Tab will place focus in  lower settings and attachment menu bar


Pressing Tab again will place focus on the Send icon


Pressing Tab again will place your cursor in the text field


Hopefully this document helps give a good indication of how to navigate smoothly with the controls in Microsoft Teams. Additionally, Microsoft has extensive accessibility support documentation that includes screen reader walkthroughs & keyboard shortcuts.

0 1 1,549

With things changing and students transitioning to online classes from home, we want to ensure that they have the resources to learn and access content in Canvas.  The following offers alternative technologies users can utilize if they do not have access to the same technologies available through their institution. 

The following are free accessibility tools that users can download which have been thoroughly tested within Canvas by our Accessibility team.

NVDA is a great screen reader for Windows platform and is free to use.  We suggest pairing NVDA with Firefox when navigating Canvas. You can download them through the following links:

NVDA Download

Firefox Download

Below is a user guide that has many of the keyboard commands and features that you can access through NVDA.

If you’re a Mac user at home but use a Windows machine in class, you can use VoiceOver paired with Safari which is already available on your Mac computer, iPhone, iPad, or iPod touch.  There is no need to download or setup anything.  

Below is a getting started guide with the basic commands for VoiceOver.

We also have Android and iOS apps available that you can download through their respected app stores.  Both apps have been tested in Canvas with iOS VoiceOver and Android’s TalkBack.



For additional information on Accessibility within Canvas or our apps, please visit our community guides which have a lot of useful information: 

Accessibility within Canvas

Canvas Student App

If you have any questions or concerns, please feel free to reach out to our customer support department and we’re more than happy to further assist you.

2 0 1,787
Community Champion

This release fixes some bugs that were reported shortly after the release of 2.6.1  Thanks to  @janejump ‌ for discovering these!

Download version 2.6.2 of UDOIT now! Please refer to the release notes for 2.6.0 for installation and configuration instructions.

Bugs Fixed

  • The cookie fix for Safari (safari_fix.php) would load even in Chrome
  • safari_fix.php would load when trying to access udoit.xml.php, preventing initial setup of UDOIT.

0 1 1,189
Community Champion

This release fixes some bugs that were reported shortly after the release of 2.6.0.  I would like to thank Tulane University and Cidi Labs for discovering these issues and contributing solutions!

Please refer to the release notes for 2.6.0 for installation and configuration instructions.

Bugs Fixed

  • Updated mPDF version to the latest, which adds compatibility with PHP 7.2.
  • Repositioned the SameSite cookie settings so that they can be overridden in localConfig.php.
  • Added a fix that works around the default Safari cookie policy.  Essentially, it streamlines the process of creating a cookie for a first-time UDOIT user so that Safari allows UDOIT to set cookies from within Canvas in the future.
  • Fixed issue where activating the UFIXIT button with your keyboard would cause you to lose focus.  Now, focus changes to the container for the UFIXIT interface after the UFIXIT button is activated.

0 0 1,177
Community Champion

This is a critical update for any institutions that run UDOIT on a separate domain from their instance of Canvas, such as the LTI server being "" and Canvas being "".  This update needs to be applied to keep UDOIT working for Chrome users starting in February.  Check the Chromium Blog for more information.

If you aren't able to update UDOIT to the latest version before February, you can manually fix this issue by inserting this session cookie settings code in config/settings.php immediately after the "define('UDOIT_VERSION',..." line.

Important Note:  If you are upgrading from an existing installation, there are some specific instructions you need to follow.  Refer to the full release notes.

PHP 7.3 Incompatibility:  Unfortunately, due to time constraints, we were still unable to figure out the issue with PHP 7.3 on Heroku.  I would appreciate any help the community can provide testing UDOIT on PHP 7.3 and 7.4 on their "testing", "staging" or "QA" servers.  For more information see Issue 422.

Bugs Fixed

  • The Admin Panel was making multiple calls to the backend #440
  • Hardcoded reports table name #436
  • MariaDB did not like the OFFSET syntax that was compatible with MySQL and PostgreSQL #435
  • Expand/Collapse buttons did not have screen-reader accessible labels #458 (Thanks to UMN and Cidi Labs for reporting this!)
  • Cookie policy did not support soon-to-be-released default settings in Chrome #459 (Thanks again to Cidi Labs for contributing code, and to everyone who contacted me about this!)

Features Added

  • Compatibility with Scoped Developer Keys #406 #453.  Please see the updated Canvas Oauth2 section of the README for more information.
  • Temporarily caching results of YouTube and Vimeo API calls to eliminate redundant calls and reduce API quota usage #360 #455
  • Ability to scan only for Errors, Suggestions, or both #424
  • Ability to ignore unpublished content during scan #423
  • All instances of error_log were converted to use Monolog #412.  This improves error logging, and makes debugging easier.
  • YouTube and Vimeo links in "View the source of this issue" open in a new window #377
  • Detecting the language of video captions and comparing them to the course language setting #360.
  • UFIXIT for "Avoid using styles for document structure" #60
  • Instructions for updating existing Heroku installations #471

3 23 2,870
Community Champion

This release is dedicated to the memory of Dana Danger Grey, a wonderful person and fierce proponent of accessibility.  Read more about Dana's life here.

The main focus for this release is adding the "first draft" of the admin panel.  This interface is accessible from the Account Navigation menu.  Here are its current features:

  • View all scans done in all courses at your institution.
  • View the most common errors found in courses.
  • Administer users.
  • View the growth of users over time

Because this feature is still experimental, we have disabled it by default.  However, it's very simple to enable, which is explained in the README.

Important Note:  If you are upgrading from an existing installation, there are some specific instructions you need to follow.  Refer to the full release notes.

PHP 7.3 Incompatibility:  If you are using PHP 7.3 on your servers, give yourself a pat on the back for keeping up with the latest versions!  Unfortunately, due to some issues we've had with PHP 7.3 on Heroku, we do not officially support it at this time.  More testing is needed to determine compatibility.

Bugs Fixed

  • Script tags are now stripped from HTML code snippets.  This was causing a number of rendering issues.
  • Heroku instances made within the last couple of months had many issues with UFIXIT.  This issue has been fixed, but if you are experiencing those issues, you will need to go through the Heroku instance creation process again.

Features Added

  • Admin interface
  • Images marked as decorative in the RCE are detected and ignored (no error or suggestion is thrown).
  • The date and time for old reports is now displayed in a more human-readable format.
  • Database options can now be passed through to the PDO constructor by way of the localConfig file.
  • The Job Queue table name is now configurable.
  • Removed compatibility with deprecated version of PHP (5.6 and 7.0)

12 32 4,897
Community Champion

I have always appreciated that Canvas takes accessibility seriously, as evidenced in their Voluntary Product Accessibility Template, community efforts and frequent mentions of accessibility in their release notes it is clear that accessibility of the product is a priority. 

That said, there are also lots of opportunities for additional features impacting students with disabilities to be developed. While you can find many of these ideas in the Ideas Conversations searching for the #accessibility tag,   this document can hopefully be a resource to help organize and track some of those features. This document is open to anyone to edit so feel free to add any features that have been missed or leave a note in the comments. 

If you agree with any of the feature ideas below please take a minute to add your vote. Also, if you have ideas for additional features that have not been added please to add a new feature and add the link below! 

Accessibility Feature Request Resources

  1. How does the feature idea process work in the Canvas Community?
  2. Accessibility Group 
  3. Feature ideas tagged with accessibility, disability, or accommodation

Features Sorted by Component/Issue

General Accessibility

  1. Tool to check Accessibility at the course level
  2. Accessibility Enhancements for Permissions Icons
  3. Dyslexie font for dyslexic folks - A setting option to change the font display?
  4. Tag IEP and 504 students in SpeedGrader
  5. Default Font Adjustment for WYSIWYG Text Entry
  6. Provide official support for Kurzweil screen readers
  7. Immersive Reader for Mobile Devices
  8. Improve Student DocViewer Comment View/Accessibility

Color Contrast

  1. Hyperlink Color Contrast
  2. High contrast colors for analytics
  3. Insufficient Contrast Ratio - dates for recent accouncements in course homepage
  4. Contrast Ratio - published buttons, discussion subscription buttons, and "Course is Published" text


  1. Provide a method to determine which courses are using New Quizzes
  2. Speech to Text in New Quizzes
  3. New Quizzes: Quiz Availability & Extended Time
  4. New Quizzes: pause button for students with extra time
  5. New Quizzes: Improve time limit function
  6. New Quizzes: Quiz Accommodation to Reduce Answer Choices


  1. Add alt text at the file level
  2. Default Alt-Text on Uploaded Images


  1. Captioning in Studio at the Bottom of the Video
  2. Closed Caption editing in ARC
  3. Improve Captioning Editing in Studio
  4. Student Video Submission Transcript Feature
  5. New API to fetch captions from Canvas Studio
  6. Adapt closed captions font size in Studio
  7. Search and replace in captions editor


  1. Make Canvas Catalog Accessible

Completed Accessibility Features

  1. Always allow extra time for specific students (IEP, LEP, etc.)
  2. Images – Easier Way to add ALT Text
  3. Alt Text "Decorative Image" Option in Rich Content Editor
  4. High Contrast Toggle
  5. Change Color of Help Menu Font
  6. Scroll bar tone
  7. Ability to Moderate a Quizzes.Next Quiz Before a Student Accesses a Quiz
  8. Make Math Equation Editor Accessible
  9. New RCE alt-text option before image is inserted
  10. Expanding Support for Accessible HTML 5 Section Elements
  11. Change Color of Help Menu Font
  12. Disability students extra time on quizzes

Archived Accessibility Ideas

  1. Adding Accessibility in Canvas Quizzes
  2. Account Notification Settings - hidden descriptive text needs a visual indicator or icon
  3. Separate Audio & Video upload options in the "Upload Media" tool (accessibility concerns)
  4. Bulk Quiz moderation: Setting extra time for a student for all the quizzes

9 2 2,941
Community Novice

I've written some accessibility tools for Canvas using JS, they're plug and play so you shouldn't need any programming knowledge to incorporate them into your own instance.

See my original post in Canvas Admins:‌ Using JS to Add Accessibility Features to Canvas‌.

Please leave any comments/feedback here for me to see Smiley Happy Otherwise I can't fix or add anything to it!

3 1 1,365
Community Champion

Fixes the following bugs:

  • There was a typo in the migrations script (thanks  @tanners !) that would prevent reports from very old versions of UDOIT from transferring to the database.
  • Special characters in page titles would break the "view source of this issue" button (thanks Justin Lopez from FIU!).

View the release notes to download this release.

2 0 1,271
Community Champion

In my haste to release 2.4.0 before the holiday break, I forgot to include the changes I made to the "No closed captions found on media comment" error.  You can view the 2.4.1 release notes to download this version of UDOIT.

Happy new year!

1 0 1,015
Community Champion

We are working on some larger features for the 2.5.0 release, but we wanted to get these out to you before the start of the new year.  Many of these features and bug fixes are a direct result of the conversations we've been having with people on the Canvas Community and the UCF Open Source Slack.

(Yes, Christmas is a real town in Central Florida.)

Important Note:  If you are upgrading from an existing installation, there are some specific instructions you need to follow.  Refer to the full release notes.

Bugs Fixed

  • Bold text with color emphasis is no longer flagged as an error.

  • UFIXIT for links now lets you include a portion of the URL as your link text (e.g.: "Wikipedia" is perfectly good link text for "").

  • Videos playing within "View the source of this issue" now stop playing when you click "Close issue source".

  • Improved detection of YouTube and Vimeo videos to avoid erroneous results.

  • Docker files no longer mount as directories.

Features added

  • Updated the description for missing captions on Media Comments to make it more helpful.
  • Added Endpoint that returns the health status of the application in JSON for use in status dashboards.
  • Added UI for marking videos that are unlisted, private, or deleted as requiring manual verification for captions.
  • Added check for valid YouTube and Vimeo API keys, marking all videos for manual verification if a valid API key is not found for that service. A log entry is also made whenever an invalid key is found.

Read the full release notes for more information and installation/upgrade instructions.

The UDOIT team wishes everyone a safe and happy holiday!

3 0 981
Community Champion

This is a very tiny update that fixes an issue with false positives and Vimeo videos.  Previously, UDOIT was only detecting Vimeo videos embedded in an iframe because the URL was of the form "".  However, when you simply link to a Vimeo video, it's in the form "".  UDOIT was detecting those Vimeo video links, but not properly checking them for captions, resulting in a false positive.

This release does not require any changes to your localConfig file, migrations for your database, or updates to packages.  However, you should still test it on a test installation of UDOIT before moving it to production.

To download, visit Release v2.3.5 · ucfopen/UDOIT · GitHub 

3 12 2,006
Community Contributor

Hi all. So, if you are/have attended InstructureCon 2018 and were able to attend the "Y'all Do It: Crowdsourcing
Development of UDOIT" presentation, you already know about the UDOIT User Guide and about how you can contribute to it. For the rest of y'all, here is what you missed.

What is UDOIT?

For those who don't yet know, UDOIT is an automated accessibility auditing tool for Canvas courses that was developed by University of Central Florida as part of a Canvas Grant. To learn more about UDOIT, explore the following links:

Below is UCF's video overview of UDOIT:

Note: Whenever you're installing an initial or new version of UDOIT into Canvas, PLEASE install it to a test instance and make sure it works before installing it to your production instance.
During the intial writing of this post, Clemson had the latest version installed on our test instance, but, because we had not been able to get it to work, it had not touched our production instance and the faculty were none the wiser.

Why Do You Or Why Does UDOIT Need a Guide?

If you or your faculty aren't really familiar with the rules or expectations of digital accessibility, you need a guide. Automated accessibility auditing tools are thought to only catch about 25% of accessibility issues, and UDOIT is no different. There are some things that UDOIT will flag that aren't accessibility issues and then there are some accessibility issues that won't be flagged.

For example, in early versions of UDOIT, all color contrast error reports were based on the assumption that the text was on a white background. If the text was not on a white background, some text colors that would be accessible on white but not accessible on the actual background color would not be flagged, and text colors that were not accessible on white backgrounds but were accessible on the actual background color would be flagged. 

Knowing when you should address or ignore a UDOIT report is important.

How Can You Get A Copy Of The Guide?

This guide is available in Canvas Commons with a Creative Commons Attribution, Non-Commercial, Share-Alike license. Because Canvas Commons doesn't give me a way to track who and how many of your are downloading the guide, please let me know you've downloaded it through a comment in Canvas Commons or here

Jacob and Karen have also expressed that they'd love to know when you've downloaded UDOIT too. So, when you do that, please leave a comment on Github or in Canvas Community (the UDOIT Information page would be a great).

Also, after you've tried the UDOIT User Guide, feel free to leave feedback here or in Canvas Commons as well!
If your feedback includes questions, please post them here instead of Commons as Commons won't allow me to reply to comments.

To access the User Guide, you must first be logged into Canvas. After you've logged in, follow this link:

UDOIT User Guide in Canvas Commons

For those who cannot access Canvas Commons, I have attached a .imscc zip file. You'll need to follow How do I import a Canvas course export package? directions to upload it to your Canvas instance.

To see an Overview of this guide, watch this UDOIT User Guide (v1, 2017) video overview.

What Can You Expect In The Next Version?

We're hoping to update the UDOIT User Guide after 2.4.1 or 2.5.1 is released (which is slated to happen this year). If we're able to do so (see earlier note), you can look forward to the following:

  • Updated information (duh)
  • Updated, cleaner look with (hopefully) simpler code.
  • Tips for using UDOIT alongside Canvas's built-in auditing tool.
  • Possibly other features suggested by YOU!

1 5 8,697
Community Champion

Wait?  What happened to 2.3.3?  Well, I released 2.3.3 and 2.3.4 on the same day, so I figured I'd cut down on the clutter and do one post.  This one contains a fix for a pretty major bug in 2.3.2, so it's definitely worth upgrading.  As with every release, please test this out on your own test server before deploying it to your production server.

I also wanted to mention that I'll be at InstructureCon/Carn next week!  I'll be presenting with  @mtuten ‌ and  @karen_tinsley-k ‌.  Check out Michelle's blog post for more information.  If you want to catch up with me and/or get a sticker, just look for the guy with a sign on his backpack that says "Ask me about UDOIT".  I'll also be attending Hack Night again this year, so feel free to come by and talk shop.

Anyway, on to the UDOIT update:

Highlighted Changes

  • Fixed major performance bug that caused even small courses to time out.
  • Added documentation for Vimeo API keys and Google Analytics tracking codes to and
  • Added support for PHP 7.2 and cleaned up documentation to remove references to 5.3 and 5.4

See the release notes for UDOIT Version 2.3.4 for download links.

3 0 1,017
Community Novice

Word, PowerPoint, &amp; Acrobat logos.

Enrollment for WebAIM's new course––Accessible Documents: Word, PowerPoint, & PDF––is now open. This online, video-based, independent-study course will be offered in Canvas Catalog and requires between two and four hours of course activity each week, for four consecutive weeks.

Participants who demonstrate their mastery of the course materials through weekly quizzes and exams will receive a Certificate of Completion. These certificates will allow individuals and/or organizations to document training and proficiency in creating accessible web documents in common formats.

The first cohort of the course starts on Monday, July 9th. New cohorts will start on the first Monday of each month. To enroll go to Accessible Documents: Word, PowerPoint, & PDF | July 2 - October 3.

A promotional code* for 20% off the $125 course fee is available for the first cohort of the course. Use the code "LAUNCH". For more information, visit the Document Accessibility Course page on the WebAIM website.

WebAIM_ web accessibility in mind

*Valid July 2 - 10, 2018.

2 0 1,227
Instructure Alumni
Instructure Alumni

Hey Everyone!

One of Instructure’s core values is openness. We believe that great ideas can come from anywhere and that one of our greatest assets is you—the amazing Canvas community. It is from this belief that the founders of Instructure decided to make Canvas an open source LMS. As we continue to add new capabilities to Canvas, we’re committed to making them available to the open source community. Not only do we work hard to publish the code for Canvas, we also allow anyone to jump into github and make contributions. We review every single pull request that comes in, and numerous community projects have been added into the core product. To everyone who has helped make Canvas what it is today, THANK YOU! To anyone who hasn’t yet contributed, we invite you to dive in and give it a go!

In fact, that’s the core message of this post: we’d like to encourage even more people to make contributions to Canvas, and we’re actively working on ways to make it easier for you to do so. We’re extremely grateful for all the pull requests we receive, and we’d love to have even more. And, as it turns out, we think we might have a good project for new and seasoned contributors alike.

We recently released a new tool to help identify accessibility issues when creating content in Canvas, called the accessibility checker. It runs in the Rich Content Editor (RCE) and detects several of the most common accessibility mistakes that users make when creating content. In addition to alerting the user about any issues, the checker also makes it easy for the user to resolve the concern.

279411_Screen Shot 2018-06-05 at 3.52.44 PM.png

Currently, the tool checks for 11 different accessibility errors. We’re passionate about accessibility, as we know many of you are, and we’re optimistic about the potential that this tool has to raise awareness and education on the importance of accessibility. The accessibility checker has been fully open sourced, and everyone is invited to check it out on github! We’ve added several items to the project, some of which have been identified as good projects for beginners to tackle:

Project Ideas:

  • Don’t combine words when merging sequential links
  • Add “Auto Fix” button for resolving color contrast issues
  • Link Validation
  • Check for ordered and unordered list structure
  • Check that headings have appropriate tags
  • Check links for descriptive words
  • Check videos for captions

Besides the items that we’ve added, we’re sure many other great ideas will come from the community. Please feel free to share this project with developers or anyone you know who might be interested in seeing this project move forward. Is your computer science class looking for a worthy project? Maybe this is it.

As we work together, we’re confident that this tool will be a positive driver in making learning content more accessible for everyone.

19 0 3,564
Community Champion

This release removes support for PHP 5.4 and 5.5, fixes some bugs, and adds some convenience features.

Highlighted Changes

  • Supported PHP versions:  5.6, 7.0, 7.1
  • Added a configurable maximum size for files before they are marked as "unscannable".  This is mainly to prevent server and database issues, but also promotes best practices for students on mobile devices or slow internet connections.  Default value is ~50MB
  • Added a configurable value for the maximum allowed length of ALT text.  Default value is 125 characters. (Thanks  @szw151 ‌ for suggesting it!)
  • Added detection of captions in Vimeo videos.
  • Added detection of Dailymotion videos.  It will create a suggestion for every video found regardless of the presence of captions.
  • Added a Report Summary that contains totals for each type of error and suggestion.
  • Added "download" and "view in folder" buttons for each unscannable file.
  • Updated outdated links to accessibility resources.
  • Clarified phrasing for closed caption errors.

For more information, and to download the latest release, visit the v2.3.2 Release Notes.

If you previously installed v2.3.0, please follow the "Existing Installations" instructions in the v2.3.1 Blog Post.

5 6 2,138
Community Champion

This release is mainly bug fixes for the migration scripts from 2.3.0.  Big thanks go to Santa Rosa Junior College for discovering and fixing most of these.

Existing Installations

If you previously installed version 2.3.0, you will need to perform the following actions manually:

  • In the reports table, add a report_json field of type MEDIUMTEXT if it does not already exist. If it already exists, change the type to MEDIUMTEXT
  • In the job_queue table, make sure the results field is of type MEDIUMTEXT

If you are upgrading from an existing installation (including 2.3.0), follow these instructions:

  • Test in a development or QA environment, not on production.
  • Update your localConfig.php file to include new fields from localConfig.template.php
  • Back up your database and run
    php composer.phar migrate


  • Fixed bug where $oauth2_id was sent in place of $oauth2_uri during the setupOauth call.
  • Fixed bug where null or empty scan_results were not handled properly.
  • Fixed bug where empty canvas_url fields in the user table were never updated with the proper value.
  • Fixed bug where null values in table row child nodes were not handled properly.
  • Fixed bug with migration scripts where the report_json column was never added to self-hosted instances.
  • Added status messages to migration scripts to help with debugging in the future.
  • Added mobile verbiage to the unscannable suggestion in localConfig.

For more information, and to download the latest release, visit the v2.3.1 Release Notes.

3 4 1,731
Community Champion

Note: There is a known issue with the self-hosted version of this release.  If you are using Heroku, you can safely ignore this message.  View the UDOIT FAILED TO SCAN THIS COURSE thread for more information.  This issue will be fixed in 2.3.1.  For now, we recommend waiting until the next release to upgrade.

This release was mostly an overhaul of the backend with a few visual tweaks here and there.  You might not notice the changes, but they were sorely needed.  As always, if you have any issues, please comment on this blog post so that we can keep everything in one place.

Important Note:  If you are upgrading from an existing installation, there are some specific instructions you need to follow.  Refer to the  full release notes.


  • Added support for PHP7 while maintaining backwards compatibility.
  • Enabled usage of a background worker with Heroku, fixing timeout issues and allowing for scalibility on that platform. #292
  • Added version number to the top-right of the banner.
  • Fixed "double scrollbar" issue by making the iFrame height dynamic.
  • Fixed a bug where UFIXIT would stop working an hour after your scan was started.
  • Replaced the UDOIT graphic with an SVG for higher quality and scalability.

Read the full release notes for more information and installation/upgrade instructions.

The UDOIT team wishes everyone a safe and happy holiday!

5 0 2,004
Community Champion

When you create content for your course it is important to make sure you are structuring content in accessible way. The list feature in the rich content editor in Canvas has options for creating unordered and ordered lists. The unordered list is for organizing lists of similar content where as the ordered list option is for organizing tasks that should be completed in specific order. 

Example an Unordered (Bullet) List

In this example I created a list of dog breeds. In the rich content editor select the items you wish to create a list and then in the toolbar select unordered list item option. 


  • Akita
  • Doberman Pinscher
  • Boxer
  • Great Dane

Example of an Unordered List with Indenting List Items

Lists can also be nested using the indent option in the rich content editor toolbar. Select the list items you wish to indent and select the indent option in the toolbar. The bullet style will be different for the indented items. 


  • Working Dogs
    • Akita
    • Doberman Pinscher
    • Boxer
    • Great Dane
  • Toy Dogs
    • Miniature Poodle
    • Yorkshire Terrier
    • Miniature Schnauzer 

Example an Ordered (Numbered) List

In this example I created a list of instructions for assignment. In the rich content editor select the items you wish to create a list and then in the toolbar select the ordered list item option. 


  1. Read the following article from the Illinois Online Network website: What Makes a Successful Online Student.
  2. Create a message and answer the following questions: What are your role priorities (student, parent, child, worker, friend, etc)? and How will being an online student fit with your other responsibilities?
  3. Now that you have completed this course what advice would you give to students who are new to taking courses online? 

Example of an Ordered List with Indenting List Items

In this example we are going to create a ordered list with nested items. In this list we are going to display the questions on separate lines and nest them under number 2. Place the cursor before the first question and hit the enter key to create a new line in the list. Repeat this process for the second question. Select the list items you wish to indent and select the indent option in the toolbar. The nested items will also have numbering; however, you can change by switching to the HTML View and changing the code just a bit. 

  1. Read the following article from the Illinois Online Network website: What Makes a Successful Online Student.
  2. Create a message and answer the following questions: 
    1. What are your role priorities (student, parent, child, worker, friend, etc)? 
    2. How will being an online student fit with your other responsibilities?
  3. Now that you have completed this course what advice would you give to students who are new to taking courses online? 

How to Change the Nested List Numbering

In the rich content editor switch to HTML View. In the code find the nested list. In the example below it is line 4. Place the cursor inside the LI element tag and hit the space bar. Then type the following text to create the attribute for ordered list item (type="a").  There are other attributes you can apply. See this reference guide from HTML Dog. 

<li>Read the following article from the Illinois Online Network website: <strong><a href="">What Makes a Successful Online Student</a>.</strong></li>
<li>Create a message and answer the following questions:
<ol type="a">
<li>What are your role priorities (student, parent, child, worker, friend, etc)?</li>
<li>How will being an online student fit with your other responsibilities?</li>
<li>Now that you have completed this course what advice would you give to students who are new to taking courses online? </li>

(Bonus) Other List Options

There is another list option called the definition list option. This list option is useful for glossary terms. It is important to note this list option is not available as an option from rich content editor toolbar and you will need to edit the HTML code on the page. Below is example of how to write the code. Refer to the resource list below for more details on how to write a definition list. 

<dd>three-dimensional; used commonly in computer animation, virtual reality, etc.</dd>
<dd>Not Found error message; a HTTP standard response code, in computer network communications, to indicate that the client was able to communicate with a given server, but the server could not find what was requested</dd>

Additional Resources

7 1 7,681