Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

10 — Interaction Specification (Teachers Module)

Specializes 00-shared/08 for this module. All motion tokens from 02_Design_Tokens.md §6.


1. Touch gestures (phone/tablet)

GestureBehaviourScreen
Tap rowInk ripple (m-fast) → S2S1
Long-press rowAppMenu: Edit, Deactivate (+ selectionClick haptic)S1
Swipe leftRemove assignment (with confirm) — keep ≤ 2 actions (08 §1)S3 rows
Pull downRefresh list / tab contentS1, S3, S4
Tap FABScale-in (m-entrance) → S5S1
Back gestureForm → detail (discard confirm if dirty, (proposed)); detail → listS5/S6
Tap assignment cardNo navigation (info only) — remove via trailing menuS3

2. Desktop/web (mouse + keyboard)

InputBehaviour
Hover rowm-fast surface tint; tooltip after 500 ms (08 §2)
Right-click rowsame AppMenu as long-press
+ / NNew teacher (S5) on list screen (05_Global_Information_Architecture.md §7)
Ctrl+FFocus search bar (proposed)
EscClose editor sheet / dialog / menu
EnterSubmit focused form; Tab logical order; visible focus ring primary 2 dp (09 §6)
Delete keyOn selected row → deactivate confirm (proposed)

3. Haptics (mobile)

EventHaptic
Assignment addedlightImpact()
Deactivate confirmedheavyImpact()
Duplicate-assignment blockedmediumImpact()
Long-press menuselectionClick()
Pull-to-refresh donelightImpact()
Ruledisabled when system haptics off; none on web/desktop (08 §3)

4. Motion per screen

ScreenEntranceElement motion
S1page fade+rise m-slow; list rows stagger m-entrance 40 mschips animate selection m-fast; status chip badge pop
S2header card hero from list avatar (Hero m-slow)tab indicator slide m-base; info rows fade-in staggered 40 ms
S3tab content fade m-fastyear dropdown m-base; row add/remove: AnimatedList insert/remove m-base
S4grid fade m-fastnone (data-dense)
S5/S6full-page slide m-basefield focus states m-fast; button spinner replaces label
S7sheet slide-up m-base, r-xl cornerspicker option highlight m-fast
S8dialog scale+fade m-basedestructive button press ripple m-fast
S9/S10page fade+risesummary tiles entrance stagger 40 ms

Reduced-motion: all above collapse to fades ≤ m-instant, no stagger, no hero (08 §4, 09 §8).

5. Micro-interactions

  • FAB hide/show on scroll (S1): hide on scroll-down, show on scroll-up (03 §D).
  • Submit button: label → spinner; on success brief check + snackbar (08 §5); disabled while pending (anti-double-submit 08 §6).
  • Year switch in S3: dropdown + matrix cross-fade m-fast; stale request dropped (request generation token, 13 §4).
  • Infinite scroll: bottom spinner fade-in m-instant; "End of list" footer bodySmall (03 §F).
  • Status chip change after PATCH: AnimatedSwitcher icon morph m-fast.

6. Frustration controls

  • Every interactive element responds ≤ 100 ms (08 §6).
  • Network-bound actions always pending-visible — never silent.
  • Form save double-tap prevented; deactivate dialog requires explicit confirm (typed confirm of employeeNumber NOT required — soft-delete is reversible server-side; 05_Global_Information_Architecture.md §5 rule applies only to irreversible purge).