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
- Ouvrez votre étude et allez dans l'onglet Conception
- Sous Tâches comportementales, trouvez « Token Test (révisé) » et cliquez sur Ajouter
- 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ètre | Défaut | Description |
|---|---|---|
Grid rows (token_layout.rows) | 4 | Nombre de lignes dans la grille de jetons (1-10) |
Grid columns (token_layout.cols) | 5 | Nombre de colonnes dans la grille de jetons (1-10) |
Large token size (token_size_large_px) | 80 px | Taille des grands jetons en pixels (20-200) |
Small token size (token_size_small_px) | 50 px | Taille 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 avecsource: '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) oumove(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épendantsfalse: 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
| Instruction | Type | Target Shape | Target Color | Target Size | ... | Fixation (ms) | Block | Reset Positions |
|---|---|---|---|---|---|---|---|---|
| Touch the red circle. | select | circle | #e11d48 | 300 | A | true | ||
| Touch the small green square. | select | square | #10b981 | small | 300 | A | true | |
| Put the red circle on the green square. | move | circle | #e11d48 | 300 | B | false | ||
| Now touch the red circle. | select | circle | #e11d48 | 300 | B | false |
Formes disponibles
circle: Jeton rondsquare: Jeton carrétriangle: Triangle pointant vers le hautrectangle: 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
- 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. »)
- Canevas de jetons : Jetons disposés sur une grille dessinée sur un canevas HTML
- Bouton Suivant : Soumission manuelle (désactivée tant que la saisie n'est pas acceptée)
Comment les participants interagissent
Dans les essais select :
- Cliquer/toucher un jeton pour le sélectionner ; cliquer de nouveau le désélectionne
- Plusieurs jetons peuvent être sélectionnés pour les instructions en plusieurs étapes
- Soumettre la réponse avec le bouton Suivant (ou soumission automatique au délai de réponse)
Dans les essais move :
- Appuyer et glisser un jeton librement sur le canevas
- Relâcher pour le déposer n'importe où (il n'y a pas d'emplacements cibles fixes — le placement est libre)
- 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
| Marqueur | Données | Description |
|---|---|---|
trial_start | trial, block, fixation_ms, instruction, instruction_type, token_count, grid | Début de l'essai |
stimulus_shown | trial, block, fixation_ms, instruction, instruction_type, token_count, grid | Les jetons deviennent interactifs |
token_touch | token_id, shape, color, size, position | Jeton touché (tout pointerdown atteignant un jeton, tous modes) |
token_select | token_id, shape, color, size | Jeton sélectionné (mode sélection) |
token_deselect | token_id, shape, color, size | Jeton désélectionné |
drag_start | token_id, shape, color, size, position | Début du glissement (mode déplacement) |
drag_end | token_id, shape, color, size, position, z_index | Fin du glissement |
response_recorded | trial_index | Réponse soumise par le participant |
Données de réponse
Chaque réponse du participant est enregistrée dans le tableau responses[] :
| Champ | Type | Description |
|---|---|---|
trial_index | nombre | Numero d'essai (a partir de 1) |
source | chaine | 'user_submit', 'timeout', ou 'moderator_advance' |
instruction_type | chaine | 'select' ou 'move' |
selected_tokens | tableau | Jetons selectionnes par le participant [{ id, shape, color, size }] |
token_positions | tableau | Position de tous les jetons au moment de la soumission [{ id, x, y, zIndex }] |
overlaps | tableau | Relations de chevauchement detectees [{ top, bottom }] |
evaluation_details | tableau | Details factuels par cible (pas de champ correct ; les chercheurs cotent a partir de ces faits) |
interactions | tableau | Trace complete des interactions [{ type, tokenId, timestamp_hr, position? }] |
latency_ms | nombre? | Temps depuis l'apparition de l'instruction jusqu'a la soumission (omis si l'heure de debut n'est pas disponible) |
artifact_filename | chaine? | 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_index | nombre? | Indice 1-base de la capture d'ecran dans l'essai |
is_final | booleen? | true sur l'enregistrement de la capture au moment de la soumission ; false sur les captures intermediaires |
capture_reason | chaine? | 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
- Commencer simple : Un seul jeton à sélectionner
- Augmenter la complexité : Plusieurs jetons, ordre spécifique
- Varier les attributs : Mélanger les formes et les couleurs
- Tester la compréhension : Inclure des distracteurs
- 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)