Learner Facing QTI Interactions for Kolibri
Kolibri's QTI 3.0 viewer currently renders only Multiple Choice and Text Entry, leaving the majority of the specification's interaction types unsupported. This project extends the plugin to implement six additional types: Inline Choice, Match, Order, True/False, Gap Match, and Fill-in-the-Blank — each requiring careful integration with the existing SafeHTML rendering registry and QTIVariable response system. The core technical challenges are accessibility and interaction fidelity: drag-and-drop interactions (Order and Gap Match) require a fully keyboard-native select-to-place model as the primary interaction, with SortableJS-based drag as the pointer enhancement. Match Interaction requires a directed-pair association model rendered as an accessible grid. All six types must support RTL languages, touch devices, and low-end hardware — not as retrofits, but as first-class constraints from the start.
Project details
Technologies
Not listed in the archive