Canvas Tracking Test

Try it

Try any of these to see the events fire:

  • Switch to another tab and back (alt-tab or click outside)
  • Copy or paste anything anywhere on this page
  • Type in the test field below
  • Open a different window or minimize this one
Tab/window blur events
0
Focus regained events
0
Paste events
0
Copy events
0
Cut events
0
Keystrokes (count only)
0

Page state: 👁 Visible & focused

Live event log

What Canvas's JavaScript sees, as you trigger it:

Waiting for events... Try switching tabs or pressing a key in the test field.

What this means in Canvas-land

The blur events you see counted above are exactly what becomes a "Stopped viewing the Canvas quiz-taking page" entry in your instructor's quiz log. Canvas Classic Quizzes attaches the same listener to the same event. Every fire = one log entry with a timestamp. The same is true for focus — each one becomes a "Resumed" entry, defining a precise window of how long you were away.

What Canvas's quiz code actually attaches

  • visibilitychange + document.hidden — Canvas's Page Visibility API hook. Fires when you switch tabs or minimize. Becomes a page_blurred event sent to Canvas's server.
  • window.blur / window.focus — Canvas hooks both as a secondary check. Even if visibilitychange somehow doesn't fire, the window blur catches a focus change.
  • question_answered save trigger — Not visible to this test (Canvas-specific endpoint), but tied to text-field blur events and a 30s auto-save timer.

What's not attached by Canvas, even though the events fire all the time:

  • paste, copy, cut — you can see them firing on this page, but Canvas's textareas don't listen for them. Plagiarism tools (Turnitin) analyze the final submitted text, not the paste event itself.
  • keydown, keyup, keypress — same. Canvas does not log keystroke-level data. Read does Canvas track keystrokes? for the full breakdown.
  • mousemove, scroll, resize — nope. Canvas only cares about quiz-state events.

Block the events Canvas DOES listen to

Privacy Guard intercepts the visibilitychange, blur, and focus events at the JavaScript layer in your browser — Canvas's quiz script never receives them. Your quiz log stays clean.

Get Privacy Guard — Free Install

FAQ

Does this page actually track me?
It attaches event listeners and prints them to the log on this page. Nothing leaves your browser. The counters and log live entirely in your local DOM. There's no server call.
Are these the same events Canvas uses?
Yes. visibilitychange and window blur/focus are the canonical APIs for detecting tab switches. Instructure's open-source Canvas code attaches the exact same listeners.
Can I use this as a Canvas tab-switching test?
Yes. Switch tabs, click another app, or minimize the window while this page is open. The live log shows the same browser-level signals explained in Can Canvas See If You Switch Tabs?.
Does the test show what my teacher sees?
It shows the raw browser events. To see how those actions translate into a teacher-facing timeline, use the Canvas Quiz Log Simulator.
Why don't I see "tab switch" log entries when I just look at another monitor?
Window focus is a logical state set by the OS, not a function of where your eyes are. Looking at another monitor doesn't change focus. Only clicking/keyboard-interacting with another window moves focus.
What if I have Canvas Ninja installed already?
You'd see the blur/focus counters stay at 0 even when you tab-switch — that's Privacy Guard intercepting them. Try it: install Canvas Ninja, come back, and switch tabs.
Add to Chrome — Free