Accessible online courses: what content creators can fix
· Khushwant Parihar
After auditing many courses across learning platforms like Canvas, Moodle and Blackboard, one pattern stands out: the platform is rarely the main problem. Most accessibility barriers come from course content, and most of them take minutes to fix.
A note on scope: these are the patterns we have observed most often in our own course audits, not a complete rulebook. LMS platforms and authoring tools ship updates regularly, and new platforms keep arriving, so who fixes what can shift. A platform bug may be fixed in the next release, or a new editor may let creators fix something that used to need a developer. Check your platform's latest release notes and accessibility documentation alongside this guide.
What most courses already get right
A modern LMS gives creators a solid base. In course after course, these usually pass:
- Readable text. Default body text and headings have enough contrast.
- Keyboard access. Standard pages, links and buttons work without a mouse.
- Visible focus. Students can see where they are when tabbing.
- Zoom. Pages built in the LMS editor reflow at 200% zoom.
Problems creep in with what gets added on top: interactive widgets, custom styling, embedded tools and instructions written for sighted mouse users.
Seven things content creators can fix
These are the issues we find most often, in roughly that order. Each one is in the creator's hands, not the platform's.
| Issue | Why it matters | How to fix it |
|---|---|---|
| Buttons and icons with no real name | Screen readers announce "button", "image" or a file name like "flip.png" | Give every control a text label that says what it does |
| Instructions based on shape or position | "Click the + on the right" means nothing without sight | Name the control: "Select the Expand button under each heading" |
| Links shown by colour alone | Students with low vision or colour blindness can't spot them | Keep links underlined inside sentences |
| Vague link text | "Click here" and "Read more" say nothing when read out of context | Use the destination as the link: "Read the study guide" |
| Missing or noisy alt text | Key diagrams are skipped, while decorative art is read aloud | Describe images that teach; mark decorative ones as decorative |
| Videos without captions or transcripts | Deaf and hard-of-hearing students miss the content | Add accurate captions and a transcript next to the video |
| Fixed time limits on activities | Students who need more time are shut out | Let students extend the limit, or remove it from practice work |
Buttons and icons with no real name
- Why it matters
- Screen readers announce "button", "image" or a file name like "flip.png"
- How to fix it
- Give every control a text label that says what it does
Instructions based on shape or position
- Why it matters
- "Click the + on the right" means nothing without sight
- How to fix it
- Name the control: "Select the Expand button under each heading"
Links shown by colour alone
- Why it matters
- Students with low vision or colour blindness can't spot them
- How to fix it
- Keep links underlined inside sentences
Vague link text
- Why it matters
- "Click here" and "Read more" say nothing when read out of context
- How to fix it
- Use the destination as the link: "Read the study guide"
Missing or noisy alt text
- Why it matters
- Key diagrams are skipped, while decorative art is read aloud
- How to fix it
- Describe images that teach; mark decorative ones as decorative
Videos without captions or transcripts
- Why it matters
- Deaf and hard-of-hearing students miss the content
- How to fix it
- Add accurate captions and a transcript next to the video
Fixed time limits on activities
- Why it matters
- Students who need more time are shut out
- How to fix it
- Let students extend the limit, or remove it from practice work
Interactive content from tools like Articulate Storyline, Rise or H5P deserves extra care. Their default accessibility settings often name controls after image files and read decorative artwork aloud. Test every interactive with a keyboard and a screen reader before publishing.
Structure, tables and documents
A few habits make every page easier to use:
- Use real headings in order. Pick Heading 2, then Heading 3, from the editor menu instead of making text bold and large. Screen reader users jump between headings to skim.
- Keep tables simple. Use them for data, not layout, and mark the header row. Wide rubrics should fit a phone screen or scroll inside their own box.
- Check uploaded files. PDFs, Word files and slides need the same care as pages: headings, alt text and real text rather than scanned images.
- Fix templates once. A broken link or colour in a shared course template repeats on every page that uses it, and so does the fix.
Who fixes what
Every accessibility issue in a course lands with one of three people: the content creator, a developer or instructional technologist, or the LMS or tool vendor. Sorting issues this way on day one stops creators waiting on fixes they could make themselves, and stops vendor problems being patched page by page.
| Issue | Content creator | Developer / ID tech | LMS or tool vendor |
|---|---|---|---|
| Headings, lists, link text | Yes, in the editor | ||
| Alt text on uploaded images | Yes, in the editor | ||
| Captions and transcripts | Yes, upload or edit them | Only if the video player can't show captions | |
| Instructions and wording | Yes | ||
| Table headers and simple tables | Yes, in the editor | Wide or complex tables | |
| Time limits in quizzes | Yes, in quiz settings or per-student extra time | Timers built into external activities | |
| Links underlined course-wide | Per link only | Yes, via theme CSS | |
| Storyline, Rise, H5P interactives | Report it | Yes, edit the source file and republish | Tool bugs go to the tool's vendor |
| Custom HTML widgets (tabs, accordions, flip cards) | Report it | Yes, fix the code | |
| Shared templates and blueprint courses | Report it | Yes, fix once at the source | |
| Quiz engine, navigation, calendar, discussions | Report it | Yes | |
| Third-party tools (publisher content, proctoring, video players) | Report it | Check the configuration | Yes |
Headings, lists, link text
- Content creator
- Yes, in the editor
Alt text on uploaded images
- Content creator
- Yes, in the editor
Captions and transcripts
- Content creator
- Yes, upload or edit them
- LMS or tool vendor
- Only if the video player can't show captions
Instructions and wording
- Content creator
- Yes
Table headers and simple tables
- Content creator
- Yes, in the editor
- Developer / ID tech
- Wide or complex tables
Time limits in quizzes
- Content creator
- Yes, in quiz settings or per-student extra time
- Developer / ID tech
- Timers built into external activities
Links underlined course-wide
- Content creator
- Per link only
- Developer / ID tech
- Yes, via theme CSS
Storyline, Rise, H5P interactives
- Content creator
- Report it
- Developer / ID tech
- Yes, edit the source file and republish
- LMS or tool vendor
- Tool bugs go to the tool's vendor
Custom HTML widgets (tabs, accordions, flip cards)
- Content creator
- Report it
- Developer / ID tech
- Yes, fix the code
Shared templates and blueprint courses
- Content creator
- Report it
- Developer / ID tech
- Yes, fix once at the source
Quiz engine, navigation, calendar, discussions
- Content creator
- Report it
- LMS or tool vendor
- Yes
Third-party tools (publisher content, proctoring, video players)
- Content creator
- Report it
- Developer / ID tech
- Check the configuration
- LMS or tool vendor
- Yes
Content creators: fix it in the editor today
Most day-to-day issues need no code and no ticket.
- Run the built-in checker. Each platform has one in its editor: the Canvas Accessibility Checker, the Moodle accessibility checker, the Blackboard Ultra Accessibility Checker and the Brightspace Accessibility Checker. All four flag images without alt text, low contrast and tables without headers. Canvas, Blackboard and Brightspace also flag headings out of order. Moodle's documented checks don't cover heading order, though it flags long text without headings. Blackboard's checker works in Ultra Documents and is off by default at institutions with an Ally license. These checkers review what you write in the editor, not uploaded files, and they don't replace keyboard and screen reader testing.
- Write real alt text. Describe what the image teaches, not what it looks like. Tick "decorative" for borders, banners and stock photos.
- Rewrite vague links. Change "click here" to the destination, such as "Download the week 3 worksheet (PDF)".
- Rewrite sensory instructions. Swap "click the blue + on the right" for "select the Expand button under each topic".
- Fix captions. Auto-captions are a start, not a finish. Correct names, terms and punctuation, and add a transcript link below the video.
- Adjust time limits. Remove limits from practice work, and use the LMS's per-student extra-time setting for students with accommodations.
- Check uploaded files. Rebuild PDFs from the original Word or PowerPoint file with headings and alt text, rather than uploading scans.
Developer or instructional technologist: fix it at the source
Some fixes need code, admin rights or the original project file. Log these with whoever manages your LMS theme, templates or e-learning builds.
- Course-wide link styling. Most LMS editors strip custom CSS, so creators can't underline every link at once. One rule in the institution's theme stylesheet fixes every course.
- Storyline, Rise and H5P content. Fixes happen in the source file, then the package is republished. Typical work: set alt text or mark images decorative, give buttons real names, fix the focus order, turn off auto-advancing slides, and add a transcript for narration.
- Custom HTML widgets. Tabs, accordions and flip cards built in raw HTML need proper buttons,
aria-expandedstates and keyboard support. Pasting the same snippet into many pages repeats the bug, so fix the snippet and replace every copy. - Templates and blueprint courses. An empty link or bad colour in a shared template appears in every course built from it. Fix it once at the template, then sync.
- Embedded tools and iframes. Give each embed a descriptive
title, check that it works by keyboard, and confirm the tool doesn't trap focus. - Complex tables. Rubrics and data tables with merged cells need header scopes, or a simpler layout, plus a horizontal scroll container on small screens.
LMS or tool vendor: report it and track it
Anything built into the platform, or into a third-party tool, can only be fixed by the company that makes it. Common examples:
- Quiz and assessment screens, such as answer options that are grouped or labelled poorly for screen readers
- Course navigation, menus, breadcrumbs and sticky footers that cover focused content
- Calendars, date pickers, discussion boards and the gradebook
- The mobile app
- Publisher content, proctoring tools, video players and other LTI tools
How to report it so it gets fixed:
- Check the vendor's accessibility conformance report (VPAT) and known-issues list first. The issue may already be logged.
- Write down the exact steps, the page URL, the browser and the assistive technology used, such as NVDA with Chrome or VoiceOver with Safari.
- Name the WCAG criterion it fails, such as 4.1.2 Name, Role, Value, and add a screenshot or short screen recording.
- Send it through your LMS admin or the vendor's support channel, and ask for a ticket number and expected fix date.
- Until it's fixed, tell students about the workaround, such as a different view or an alternative format, and log the issue so it's checked again after each platform update.
Quick checklist before publishing
- Headings are real headings, in order
- Links are underlined and their text says where they go
- Images that teach have alt text; decorative ones are marked decorative
- Every button, icon and interactive control has a clear name
- Instructions name controls rather than describing shape, colour or position
- Videos have captions and a transcript
- Timed activities can be extended
- Tables have header rows and fit a small screen
- Uploaded PDFs and documents are accessible too
- Each page has been tried with only a keyboard and with a screen reader