Le type de question select_one invite le répondant à choisir exactement une option dans une liste prédéfinie. Par défaut, les choix s’affichent sous forme de boutons radio, mais de nombreuses options d’apparence sont disponibles pour modifier la mise en page et le comportement.

Spécification XLSForm de base

Feuille survey :

typenamelabel
select_one yesnoconsentLe répondant a-t-il donné son consentement ?

Feuille choices :

list_namenamelabel
yesnoyesOui
yesnonoNon

Le listname dans select_one listname doit correspondre à la colonne list_name de la feuille choices.

Pour plus de détails, consultez la spécification XLSForm.

Utilisations

Les questions select_one sont utilisées pour :

  1. Les questions Oui/Non
  2. Les choix multiples à réponse unique (ex. : niveau d’études, genre, situation matrimoniale)
  3. Les évaluations catégorielles (ex. : mauvais / passable / bon / excellent)
  4. Les sélections en cascade (liées) où les choix sont filtrés selon une réponse précédente
  5. La sélection d’un pays, d’une région, d’un district ou d’une autre unité administrative

Options d’apparence

Spécifiez une valeur dans la colonne appearance pour modifier l’affichage des choix :

AppearanceDescription
(aucune)Boutons radio par défaut, un par ligne
minimalListe déroulante unique au lieu de boutons radio
quickPasse automatiquement à la question suivante après sélection (mobile uniquement)
compactGrille compacte de choix — le nombre de colonnes s’adapte à la largeur de l’écran
compact-NGrille compacte forcée à N colonnes (ex. : compact-3)
quickcompactCombine quick et compact
quickcompact-NCombine quick et compact avec N colonnes forcées
horizontalChoix disposés en ligne horizontale (web)
horizontal-compactHorizontal, espacement compact (web)
likertLigne d’échelle de Likert — étiquettes en haut, boutons radio en bas
labelAffiche uniquement les étiquettes sans saisie (à utiliser avec list-nolabel)
list-nolabelAffiche uniquement les saisies sans étiquettes (à utiliser avec label)
columns(N)Affichage en N colonnes (extension rtSurvey, ex. : columns(3))
distressWidget d’icônes émotionnelles de l’échelle de détresse psychologique de Kessler (K10)
search-api(...)Recherche dynamique — charge les choix depuis une API au moment de l’exécution

Exemple : Échelle de Likert

typenamelabelappearance
select_one satisfactionservice_ratingDans quelle mesure êtes-vous satisfait du service ?likert

Exemple : Grille compacte 3 colonnes

typenamelabelappearance
select_one regionsregionSélectionner la régioncompact-3

Sélections en cascade

Une sélection en cascade (liée) filtre les choix en fonction de la valeur sélectionnée dans une question précédente. Utilisez la colonne choice_filter avec le nom d’une colonne de votre feuille choices.

survey :

typenamelabelchoice_filter
select_one provinceprovinceSélectionner la province
select_one districtdistrictSélectionner le districtprovince_name = ${province}

choices :

list_namenamelabelprovince_name
provincenairobiNairobi
provincemombasaMombasa
districtwestlandsWestlandsnairobi
districtkasaraniKasaraninairobi
districtnyaliNyalimombasa
districtlikoniLikonimombasa

Lorsque le répondant sélectionne nairobi, seuls Westlands et Kasarani apparaissent dans la liste des districts.

Utiliser la valeur sélectionnée dans des expressions

Référencez la valeur sélectionnée (pas l’étiquette) avec ${fieldname} :

  relevant: ${consent} = 'yes'
  

Pour obtenir l’étiquette du choix plutôt que la valeur, utilisez choice-label() :

  calculate: choice-label(${education_level}, ${education_level})
  

Option “Autre” avec texte libre

Un schéma courant consiste à inclure une option “Autre” qui révèle un champ texte :

typenamelabelrelevant
select_one occupationjobQuelle est votre profession ?
textjob_otherVeuillez préciser${job} = 'other'

choices :

list_namenamelabel
occupationfarmerAgriculteur
occupationtraderCommerçant
occupationstudentÉtudiant
occupationotherAutre (veuillez préciser)

Bonnes pratiques

  1. Gardez des listes courtes et mutuellement exclusives — si les répondants pourraient vouloir plus d’un choix, utilisez select_multiple à la place.
  2. Mettez la réponse la plus fréquente en premier, ou classez par ordre alphabétique pour les longues listes.
  3. Incluez toujours une option “Je ne sais pas” ou “Préfère ne pas répondre” lorsque c’est pertinent.
  4. Utilisez minimal (liste déroulante) pour les listes de plus de 7-8 choix sur mobile afin d’économiser l’espace à l’écran.
  5. Pour les sélections en cascade, ajoutez toutes les colonnes de filtre dans la feuille choices avant de construire le formulaire.

Limitations

  • Un répondant ne peut sélectionner qu’un seul choix — utilisez select_multiple pour les questions à réponses multiples.
  • L’apparence likert fonctionne mieux avec 5-7 choix tenant sur une ligne.
  • quick (avancement automatique) est réservé au mobile ; il n’a aucun effet sur les formulaires web.
Cette page vous a-t-elle été utile ?