Aller au contenu principal

Token Test (révisé)

Version : v1 (actuelle)

Vue d'ensemble

Le Token Test (révisé) évalue la compréhension verbale en demandant aux participants de suivre des instructions en plusieurs étapes pour manipuler des jetons colorés. Chaque jeton est une forme colorée simple (cercle, carré, triangle ou rectangle).

Selon le type d'interaction de l'essai, les participants cliquent/touchent un jeton pour le sélectionner (mode select) ou glissent librement un jeton sur un canevas interactif pour le placer sur un autre jeton (mode move). La tâche enregistre la trace d'interaction, le timing et l'état factuel complet du plateau pour chaque réponse.

Cette implémentation utilise le canevas HTML (HTML Canvas) pour une interaction fluide et libre avec rétroaction visuelle.

Contexte scientifique

  • Origine : De Renzi & Vignolo (1962) - A sensitive test to detect receptive disturbances in aphasics
  • Cas d'utilisation : Évaluation de l'aphasie, recherche sur la compréhension du langage, évaluation du traitement auditif
  • Format standard : Commandes de complexité croissante (par ex., « Touchez le cercle rouge », « Touchez le grand carré bleu, puis le petit rectangle jaune »)

Ajouter à une étude

  1. Ouvrez votre étude et allez dans l'onglet Conception
  2. Sous Tâches comportementales, trouvez « Token Test (révisé) » et cliquez sur Ajouter
  3. Cliquez sur Configurer sur la nouvelle carte de tâche pour personnaliser les paramètres

Configuration

Instructions

  • Instructions pré-tâche : Affichées avant le début de la tâche. Expliquez la règle (par ex., « Vous verrez des formes colorées. Suivez les instructions pour les glisser dans les emplacements corrects. »)
  • Instructions d'aide : Court rappel affiché pendant la tâche (optionnel)

Disposition et apparence

ParamètreDéfautDescription
Grid rows (token_layout.rows)4Nombre de lignes dans la grille de jetons (1-10)
Grid columns (token_layout.cols)5Nombre de colonnes dans la grille de jetons (1-10)
Large token size (token_size_large_px)80 pxTaille des grands jetons en pixels (20-200)
Small token size (token_size_small_px)50 pxTaille des petits jetons en pixels (10-150)

Les formes, tailles et couleurs des jetons eux-mêmes se définissent cellule par cellule dans trois tableurs de grille (grille des formes, grille des tailles, grille des couleurs), dimensionnés selon la disposition lignes × colonnes.

Timing

  • Délai de réponse (response_timeout_ms) : Limite de temps optionnelle (en millisecondes, minimum 0) avant que l'essai ne se soumette automatiquement avec source: 'timeout'. Vide par défaut (aucune limite). Peut être remplacé par essai.
  • Délai avant l'apparition de Suivant (ms) (token_min_time_before_next_ms) : Temps minimum (en millisecondes) avant que le bouton Suivant ne devienne disponible à chaque essai. Défaut 500.

Configuration des essais (tableur)

Les essais sont configurés à l'aide d'un éditeur de tableur avec les colonnes suivantes :

  • Instruction : Texte affiché au participant (par ex., « Touchez le cercle rouge »)
  • Type : Mode d'interaction - select (cliquer pour sélectionner) ou move (glisser les jetons)
  • Target Shape : Forme de jeton attendue (circle, square, triangle, rectangle)
  • Target Color : Couleur de jeton attendue (code hexadécimal, par ex., #e11d48)
  • Target Size : Taille de jeton attendue (large ou small) - optionnel
  • On Top Shape : Pour les essais de déplacement - forme du jeton sur lequel placer - optionnel
  • On Top Color : Pour les essais de déplacement - couleur du jeton sur lequel placer - optionnel
  • On Top Size : Pour les essais de déplacement - taille du jeton sur lequel placer - optionnel
  • Fixation (ms) : Délai avant le début de l'interaction (par ex., 300)
  • Block : Étiquette pour regrouper les essais (par ex., A, B, C) - optionnel
  • Reset Positions : Réinitialiser les jetons à leur position dans la grille avant cet essai (true/false, défaut : true)

Des remplacements par essai pour la taille des grands/petits jetons et le délai de réponse sont pris en charge dans les données d'essai stockées, mais ce ne sont pas des colonnes éditables dans ce tableur — ils sont conservés s'ils sont présents et reviennent sinon aux paramètres généraux.

Comprendre la réinitialisation des positions

L'option reset_positions contrôle si les jetons retournent à leur position d'origine dans la grille avant chaque essai :

  • true (défaut) : Les jetons se réinitialisent à la disposition en grille - utile pour des essais indépendants
  • false : Les jetons restent là où ils ont été laissés - utile pour des tâches séquentielles où la position compte

Exemple de cas d'utilisation : Dans un essai de déplacement, vous pourriez définir reset_positions à false pour un essai suivant qui demande « Maintenant, touchez le cercle rouge » afin de tester si le participant se souvient de l'endroit où il l'a placé.

Exemple de configuration du tableur

InstructionTypeTarget ShapeTarget ColorTarget Size...Fixation (ms)BlockReset Positions
Touch the red circle.selectcircle#e11d48300Atrue
Touch the small green square.selectsquare#10b981small300Atrue
Put the red circle on the green square.movecircle#e11d48300Bfalse
Now touch the red circle.selectcircle#e11d48300Bfalse

Formes disponibles

  • circle : Jeton rond
  • square : Jeton carré
  • triangle : Triangle pointant vers le haut
  • rectangle : Rectangle horizontal

Couleurs recommandées

  • Rouge : #e11d48
  • Vert : #10b981
  • Bleu : #3b82f6
  • Jaune : #f59e0b

Vous pouvez utiliser n'importe quel code couleur hexadécimal.

Expérience du participant

Ce que les participants voient

  1. Bannière d'instruction : Le texte de l'instruction de l'essai en cours, affiché au-dessus du canevas (par ex., « Touchez le cercle rouge. »)
  2. Canevas de jetons : Jetons disposés sur une grille dessinée sur un canevas HTML
  3. Bouton Suivant : Soumission manuelle (désactivée tant que la saisie n'est pas acceptée)

Comment les participants interagissent

Dans les essais select :

  1. Cliquer/toucher un jeton pour le sélectionner ; cliquer de nouveau le désélectionne
  2. Plusieurs jetons peuvent être sélectionnés pour les instructions en plusieurs étapes
  3. Soumettre la réponse avec le bouton Suivant (ou soumission automatique au délai de réponse)

Dans les essais move :

  1. Appuyer et glisser un jeton librement sur le canevas
  2. Relâcher pour le déposer n'importe où (il n'y a pas d'emplacements cibles fixes — le placement est libre)
  3. Les relations de chevauchement et d'ordre de superposition (z-order) sont enregistrées au moment de la soumission

Rétroaction visuelle

  • Anneau de surbrillance : Le jeton touché le plus récemment affiche un anneau vif ; les autres jetons sélectionnés affichent un anneau plus discret
  • Effet d'ombre : Les jetons glissés ont une ombre portée
  • Changement de curseur : Le curseur se transforme en « saisie » pendant le glissement

Données de sortie

Marqueurs et réponses

La tâche enregistre des marqueurs et réponses haute résolution pour chaque essai :

Marqueurs

MarqueurDonnéesDescription
trial_starttrial, block, fixation_ms, instruction, instruction_type, token_count, gridDébut de l'essai
stimulus_showntrial, block, fixation_ms, instruction, instruction_type, token_count, gridLes jetons deviennent interactifs
token_touchtoken_id, shape, color, size, positionJeton touché (tout pointerdown atteignant un jeton, tous modes)
token_selecttoken_id, shape, color, sizeJeton sélectionné (mode sélection)
token_deselecttoken_id, shape, color, sizeJeton désélectionné
drag_starttoken_id, shape, color, size, positionDébut du glissement (mode déplacement)
drag_endtoken_id, shape, color, size, position, z_indexFin du glissement
response_recordedtrial_indexRéponse soumise par le participant

Données de réponse

Chaque réponse du participant est enregistrée dans le tableau responses[] :

ChampTypeDescription
trial_indexnombreNumero d'essai (a partir de 1)
sourcechaine'user_submit', 'timeout', ou 'moderator_advance'
instruction_typechaine'select' ou 'move'
selected_tokenstableauJetons selectionnes par le participant [{ id, shape, color, size }]
token_positionstableauPosition de tous les jetons au moment de la soumission [{ id, x, y, zIndex }]
overlapstableauRelations de chevauchement detectees [{ top, bottom }]
evaluation_detailstableauDetails factuels par cible (pas de champ correct ; les chercheurs cotent a partir de ces faits)
interactionstableauTrace complete des interactions [{ type, tokenId, timestamp_hr, position? }]
latency_msnombre?Temps depuis l'apparition de l'instruction jusqu'a la soumission (omis si l'heure de debut n'est pas disponible)
artifact_filenamechaine?Nom du fichier de la capture d'ecran du plateau (par ex., token_test_0_trial-1_select-001.png), disponible sous data/media/ dans l'export
sequence_indexnombre?Indice 1-base de la capture d'ecran dans l'essai
is_finalbooleen?true sur l'enregistrement de la capture au moment de la soumission ; false sur les captures intermediaires
capture_reasonchaine?Quelle interaction a declenche cette capture : select (un jeton a ete selectionne ou deselectionne), drag_start (capturee au contact, avant que le jeton ne bouge), drag_end (capturee au relachement), ou final (etat confirme du plateau au moment de la soumission, correspondant a is_final: true)

Pas de champ response_correct : La justesse du Test de l'Enonce depend de criteres de cotation cliniques (credit partiel, cibles multiples, relations de chevauchement) que les chercheurs determinent en post-traitement. L'etat factuel complet est enregistre pour que les chercheurs puissent calculer la precision avec n'importe quel schema de cotation.

Captures du plateau : Apres chaque changement significatif du plateau et au moment de la soumission, une capture PNG est emise comme artefact fichier, nommee token_test_{index de la tache}_trial-{essai}_{motif de capture}-{sequence}.png (par ex. token_test_0_trial-1_select-001.png, token_test_0_trial-1_drag-start-002.png, token_test_0_trial-1_final-003.png). Le nom du fichier est lie depuis l'enregistrement de reponse via artifact_filename, et le meme motif de capture est enregistre dans le champ capture_reason afin que le nom du fichier ne soit pas la seule source de ce sens. Les captures intermediaires (avant soumission) ont is_final: false.

Detail des captures dans l'onglet Notation : la carte Token Test de l'onglet Notation comprend un tableau repliable « Captures d'ecran (Token Test) » qui liste chaque capture avec son essai, son numero de sequence, son motif de capture et son indicateur final, a cote d'une vignette du PNG, afin qu'un chercheur puisse comprendre le contexte de chaque etat de plateau capture sans decoder le nom du fichier.

Artefact de synthèse

À la fin de la tâche (hors mode aperçu), un fichier JSON de synthèse est émis comme artefact, nommé token_test_summary_{task_index}.json. Il contient uniquement des décomptes factuels — aucun jugement d'exactitude :

{
"task_kind": "token_test_revised",
"task_index": 0,
"overall": {
"total_trials": 3,
"completed_trials": 3,
"timeouts": 0
},
"breakdowns": {
"block": { "A": { "total": 2, "timeouts": 0 }, "B": { "total": 1, "timeouts": 0 } },
"instruction_type": { "select": { "total": 2, "timeouts": 0 }, "move": { "total": 1, "timeouts": 0 } }
},
"trials": [
{
"trial_index": 1,
"instruction": "Touch the red circle.",
"instruction_type": "select",
"block": "A",
"source": "user_submit",
"selected_tokens": [{ "id": "large_circle_0_0", "shape": "circle", "color": "#e11d48", "size": "large" }],
"interactions_count": 1
}
]
}

Le champ breakdowns.block vaut null lorsqu'aucun bloc n'est utilisé. completed_trials compte les essais dont la source n'est pas 'timeout'.

Conseils pour les chercheurs

Créer des commandes efficaces

  1. Commencer simple : Un seul jeton à sélectionner
  2. Augmenter la complexité : Plusieurs jetons, ordre spécifique
  3. Varier les attributs : Mélanger les formes et les couleurs
  4. Tester la compréhension : Inclure des distracteurs
  5. Considérer la langue : Adapter les instructions à la langue du participant

Considérations relatives aux couleurs

  • Utiliser des couleurs à haut contraste
  • Envisager des palettes adaptées au daltonisme :
    • Rouge/Bleu : Le plus adapté au daltonisme
    • Éviter les combinaisons uniquement Rouge/Vert
  • Tester sur votre population cible

Conception des essais

  • Bloc A : Commandes simples (1-2 jetons)
  • Bloc B : Complexité modérée (3-4 jetons)
  • Bloc C : Commandes complexes (5+ jetons avec attributs)

Modes de modération

  • Non modéré : Commandes écrites, les participants travaillent de manière indépendante
  • Modéré : Le chercheur observe, peut donner des commandes verbales
  • Strictement modéré : Le chercheur contrôle la progression de la tâche, le bouton Suivant est masqué

Dépannage

Les jetons ne répondent pas

  • S'assurer que la tâche a commencé (l'instruction devrait être visible)
  • Vérifier la console du navigateur pour les erreurs
  • Vérifier que la configuration JSON des essais est valide

Les jetons glissés ne bougent pas

  • Dans les essais move, appuyer directement sur un jeton avant de glisser
  • Vérifier que le canevas n'est pas zoomé/mis à l'échelle
  • Les jetons sont déposés librement ; il n'y a pas d'emplacements fixes vers lesquels s'aligner

Le tactile ne fonctionne pas

  • S'assurer que l'appareil prend en charge les événements de pointeur
  • Essayer d'utiliser un stylet ou un doigt (pas la paume)
  • Vérifier la compatibilité du navigateur (navigateurs modernes uniquement)

Détails techniques

  • Taille du canevas : Calculée à partir de la disposition de la grille et de la taille des jetons (lignes × colonnes × taille de cellule), et non une valeur fixe
  • Tailles des jetons : Les tailles des grands et petits jetons sont configurables (défauts 80 px / 50 px)
  • Rendu : HTML5 Canvas avec événements de pointeur ; jetons dessinés par ordre de superposition (z-order) avec détection de chevauchement
  • Support tactile : Oui (via les événements de pointeur)
  • Accessibilité : Le support clavier n'est pas encore implémenté

Références

  • De Renzi, E., & Vignolo, L.A. (1962). The token test: A sensitive test to detect receptive disturbances in aphasics. Brain, 85(4), 665-678.
  • Standardisation du Token Test révisé (différentes versions disponibles)