$npx -y skills add Owl-Listener/inclusive-design-skills --skill multi-modal-inputDesign interfaces that offer multiple input methods so users can choose what works for their abilities and context. Use when designing any interactive system where users provide input — forms, search, editors, creative tools, communication interfaces. Triggers on: multi-modal, in
| 1 | # Multi-Modal Input Design |
| 2 | |
| 3 | Design systems where users can accomplish any task through whichever |
| 4 | input method works for them — keyboard, mouse, touch, voice, switch, |
| 5 | eye tracking, or any combination. |
| 6 | |
| 7 | ## Core Principle |
| 8 | |
| 9 | Never assume how someone will interact with your interface. Offer |
| 10 | choices. Let the user decide. |
| 11 | |
| 12 | ## The Input Spectrum |
| 13 | |
| 14 | People interact with technology through many methods, often combining |
| 15 | several at once: |
| 16 | |
| 17 | - **Keyboard** — physical, on-screen, or switch-activated |
| 18 | - **Mouse / trackpad** — standard pointer devices |
| 19 | - **Touch** — fingers, stylus, or assistive touch |
| 20 | - **Voice** — speech commands, dictation |
| 21 | - **Switch devices** — single or dual switches scanning through options |
| 22 | - **Eye tracking** — gaze-based selection |
| 23 | - **Head pointers** — head movement controlling a cursor |
| 24 | - **Sip-and-puff** — breath-controlled switches |
| 25 | |
| 26 | ## Design Patterns |
| 27 | |
| 28 | ### Input Equivalence |
| 29 | - Every action must be possible through at least keyboard AND |
| 30 | pointer (mouse/touch) |
| 31 | - Voice input should be available as a third option where practical |
| 32 | - Never lock a feature to a single input method |
| 33 | - Test: can someone complete this task using ONLY keyboard? |
| 34 | ONLY touch? ONLY voice? |
| 35 | |
| 36 | ### Flexible Text Entry |
| 37 | - Support physical keyboard, on-screen keyboard, voice dictation, |
| 38 | and paste from clipboard |
| 39 | - Auto-complete and suggestions reduce typing burden |
| 40 | - Don't disable paste in form fields (password managers, assistive |
| 41 | tools depend on this) |
| 42 | - Allow scanning and OCR for filling in reference numbers or codes |
| 43 | |
| 44 | ### Selection Without Precision |
| 45 | - Radio buttons and checkboxes: make the label clickable, not just |
| 46 | the control |
| 47 | - Dropdowns: allow type-ahead search for long lists |
| 48 | - Date pickers: always offer a text field alternative alongside |
| 49 | the calendar widget |
| 50 | - Colour pickers: provide text input for hex/RGB values |
| 51 | |
| 52 | ### Complex Interactions |
| 53 | - Drag-and-drop: always provide button-based reordering |
| 54 | - Drawing/annotation: offer text description as alternative |
| 55 | - Map interactions: provide address search alongside map selection |
| 56 | - Gestures (swipe, pinch): always provide button equivalents |
| 57 | |
| 58 | ## Assessment Questions |
| 59 | |
| 60 | 1. Can every task be completed through keyboard alone? |
| 61 | 2. Can every task be completed through pointer alone? |
| 62 | 3. Are there complex interactions (drag, gesture, drawing) that |
| 63 | lack simpler alternatives? |
| 64 | 4. Is paste enabled in all text fields? |
| 65 | 5. Do all form controls have clickable labels? |