Cover image for Canvas LMS Quick Navigation Bar

Coding Projects

Canvas LMS Quick Navigation Bar

Reducing clicks with an accessible, reusable on-page nav for modules and topics.

RoleProduct Owner, UX/UI, PrototyperYear2025DurationAugust 2025TeamSolo, with academic collaboration
Canvas LMSHTMLCSSComponentNavigation
nav bar implemented on a teaching page in canvas lms

Canvas LMS quick navigation bar

Reducing clicks with an accessible, reusable on-page nav for modules and topics

Project overview

A lightweight, consistent quick navigation element embedded on Canvas pages to jump between topics, assignments and key resources with fewer clicks.

The problem

  • Frequent navigation requires multiple clicks and context switching
  • Patterns vary across courses, increasing cognitive load
  • Designers often lack theme access, restricting global changes

Constraints

  • Page-level only (no theme/LTI); must be keyboard navigable
  • Maintain AA contrast; responsive; easy to duplicate
  • Should sit above/below page content without breaking layout

The solution

A page-embedded nav bar using semantic HTML and a small CSS block, styled with brand tokens; supports icon + label buttons, an active state, previous/next anchors, and optional grouped links.

Process

  • Review current course pages and common journeys
  • Prototype HTML/CSS in a test shell; scope styles locally
  • Confirm contrast, focus states and tab order
  • Create variants (topic rail, compact quick nav, instances)
  • Duplicate across pages; validate active-state consistency
  • Walkthrough with the academic; capture feedback
  • Consult the media team on alignment with upcoming global navigation

Media team consultation & feedback

  • Confirmed that global navigation is being delivered at the theme level, and should remain the system standard.
  • Supportive of this page-level component as a temporary, course-specific aid when clearly labelled as non-standard.
  • Guidance: keep AA contrast, visible focus rings, and generous hit areas; check spacing on smaller viewports.
  • Recommendation: provide a template page and short "how to" so academics don't fork styles; avoid conflicting with theme CSS.
  • Governance note: any theme-level change should route through Media for review and release cadence.

Variants

  • Topic rail — topics 1–10 with active state and prev/next
  • Compact quick nav — home, topics, assignments, extra resources
  • Instances view — repeated bars across pages to confirm consistency

Accessibility

  • Semantic <nav> landmark with labelled list structure
  • Visible focus indicators; aria-current="page" for the active item
  • Minimum AA contrast; large hit areas; keyboard-only operation
  • Meaningful labels for any icon-only buttons

Outcomes

  • Consistent in-page pattern ready for wider trial
  • Faster setup for designers (copy/paste then update targets)
  • Positive pilot feedback; media team alignment achieved; candidates identified for templating

Reflection & next steps

  • Convert snippet into a canvas template page for adoption at scale
  • Explore auto-highlighting of the current week/topic
  • Produce a short setup video and a redacted example course
  • Coordinate with the media team on timing and governance for any future theme-level include or retirement of the page-level pattern once global nav is live

Resources

Interested in accessible component design for LMS?

I can walk you through the process of creating reusable, accessible components for Canvas.

Contact me