Skip to content

responseOptions

Experiments Surveys & forms In surveys it lists the answer choices; on experiment trials the same cell configures the response widget (slider, box, clicks, mic, sort).

A column with several distinct uses: what it means depends on the trial’s responseType (and, for surveys/forms, on the question type). It carries: (a) the list of answer choices for form/survey questions and label responses, (b) slider configuration, (c) input-box constraints, (d) click-response settings, (e) microphone recording settings, and (f) response-flow flags (min/max multiple responses, waitResponseWindow, waitTimeout, noButton).

For a survey or form question, list the answer choices separated by ;: Never;Sometimes;Often. That is the most common use.

Everything in the cell is written as ;-separated values and flags. What those values mean depends on the trial’s responseType:

  • Form/survey choices (responseType = radio, checkboxes, dropdown, rank, likert, or a matrix built with responseRows): ;-separated choice texts; empty segments are ignored and %var% variables are replaced. A choice ending in :exclusive becomes a mutually exclusive checkbox option, with the keyword removed from the displayed text.
  • Slider (responseType=slider, standalone or in a form): the first segment is min_max, min_max_step, or a _-separated list of labels; numeric endpoints may carry a label in parentheses, as in 0(low)_10(high). Later segments: an optional start value (a number, or one of the labels), then any of the flags hideValue, hideStart, hideGrid, hideMinMax, hideLabels, removeFill. noButton removes or defers the Next button.
  • Input boxes (responseType=box / box*N): option:value pairs separated by ;, namely sum:N, min:N, max:N and width:N, plus HTML input attributes such as pattern:"[0-9]+", placeholder:... and maxlength:.... type: accepts color, date, datetime-local, email, month, number, range, tel, text, time, url and week; quotes around a value are removed.
  • Clicks (responseType=clicks): flags can be written in any case: min:N/max:N (multi-click selection), pixel (report pixel coordinates), origin:center|topright|bottomleft|bottomright (shift the coordinate origin), grid(RxC) (bucket clicks into an RxC grid; ignored when pixel is present).
  • Mic (responseType=mic): flags can be written in any case: save or save:MS (save a recording anchored on the voice onset; 1000 ms by default), save:all (record the entire trial from trial start; implies start:trial), save:no (never save), start:trial (start recording at trial start instead of at voice onset), prevoice:N (keep N ms of audio before the detected voice onset), noHide, hideRec. save:all, save:no, start:trial and prevoice:N must each be their own ;-separated segment; save, noHide and hideRec are recognized anywhere in the cell.
  • Sort trials: ;-separated stimulus positions (2;4;5) or a lower:upper range (2:5) saying which stimuli are sortable.
  • Keyboard and default trials: min:N / max:N (spaces around : are allowed) let the participant give several key responses.
  • Flow flags (any responseType): waitResponseWindow keeps the trial open until the response window closes even after a response; waitTimeout prevents the response window’s timeout from closing it.
  • Scoring labels: with a score column, the ;-separated segments here are the response values that map, in order, onto the ;-separated numbers in score.
Token / segmentApplies toEffect
text;text;...forms, label, rank, likert, matrixChoice list, order = display order (unless responseOptionsRandom)
choice:exclusivecheckboxesExclusive option (unchecks/blocks others)
min_max, min_max_stepsliderNumeric range and step (default step 1)
N(label) endpointssliderEndpoint labels: 0(not at all)_10(very)
lab1_lab2_lab3sliderDiscrete labeled slider (values 1..n)
number or label after first ;sliderStart position
hideValuesliderNever show tooltip value
hideStartsliderHide handle until touched; untouched slider records NA
hideGrid, hideMinMax, hideLabelssliderHide the respective chrome
removeFillslider (standalone + forms)Hide the filled bar
noButtonslider (standalone)No auto Next button
sum:NboxAll boxes must sum to N; boxes become type=number
min:N / max:NboxPer-box numeric bounds; boxes become type=number
width:NboxBox width in px
attr:value (e.g. pattern:"\d+", type:email, placeholder:x, maxlength:5)boxSet as HTML input attribute
min:N / max:Nkeyboard/default trialsMultiple responses: confirm after >=min, auto-end at max
min:N / max:NclicksMulti-click selection with Confirm button
N (standalone segment)clicksNo effect; use min:/max: instead (see Tips & gotchas)
pixelclicksResponse is stim_topxleft pixel position
origin:center/topright/bottomleft/bottomrightclicks + pixelShift coordinate origin; only works when origin: is the sole x:y pair in the cell (see Tips & gotchas)
grid(RxC)clicksResponse bucketed to grid cell
save, save:MSmicSave an onset-anchored recording; MS = duration in ms (default 1000)
save:allmicRecord the whole trial from trial start (forces start:trial); without buttons, keyboard or a responseWindow timeout the trial can never end
save:nomicNever save the recording, even if another segment contains save
start:trialmicStart recording at trial start instead of at voice onset
prevoice:NmicKeep N ms of audio before the detected voice onset in the saved file
noHide, hideRecmicKeep stimuli visible / hide the REC-waiting indicator; only unsaved voice-key trials ever hide stimuli, saved and start-at-trial recordings stay visible
2;4;5 or 2:5sortWhich stimulus indices are sortable
waitResponseWindowanyDo not end trial before the response window closes
waitTimeoutanyResponse-window timeout does not close the trial
left blankallNo options
  • With no responseOptions column, or with the cell left blank, the trial falls back to the plain behavior of its response type: no answer choices, no extra flags, no multiple responses, and nothing recorded from the microphone.
  • Form question types that need choices (radio, checkboxes, dropdown, rank, likert) should always fill this column in. Left blank, the question has nothing for the participant to pick.
  • Slider defaults: step 1, the handle starts at the minimum, and none of the hide flags apply. The scale is numeric unless the first segment is not a number, or has more than three _-separated parts, in which case those parts become labels with the values 1 to n.
  • Sort trials with the cell left blank have no sortable stimuli.
  • responseType: decides which of this column’s meanings applies, both on test trials and in form questions.
  • responseOptionsRandom: any value shuffles the choice order shown to the participant; responseCode in the results still counts positions in the ORIGINAL order you wrote here.
  • responseRows: turns choices into matrix columns, one row per responseRows entry.
  • responseOther: appends an “other” choice with text input.
  • keyboard: min:/max: here is what enables multiple keyboard responses; see the keyboard page.
  • key: for radio/dropdown/rank/checkboxes the expected answer is usually expressed as responseCode=N against the 1-based position in this column’s original order.
  • score: this column’s segments are the lookup keys for the score column’s values.
  • required: with box responses, any value in required forces every box to be filled in before the trial can be submitted; with sliders, it hides the automatic Next button until the slider is touched.
  • responseWindow: the waitResponseWindow and waitTimeout flags change how the response window opens and closes the trial. The minimum-duration lock is written as min: in the responseWindow column itself, not here.
  • Multiplayer: responseOptions is one of the columns shared to the arena.
  • Dynamic lists and variables: on form trials the expanded dynamic-list value is used, and variables in the cell are substituted before the question is built.
typeheadresponseTyperesponseOptionsresponseOptionsRandom
testHow do you feel today?radioBad;Neutral;Good;None of these:exclusive1

Randomized radio choices; responseCode records the position in the written (unrandomized) list.

typestim1responseTyperesponseOptions
testpain_scaleslider0(no pain)_10(worst pain);5;hideValue;removeFill

Numeric slider 0-10 with endpoint labels, starting at 5, tooltip hidden, fill bar removed.

typestim1stimFormatresponseTyperesponseOptions
testmap.jpgclickspixel;origin:center

Click response on the image reported as pixel coordinates relative to the image center. Do not add min:/max: (or any other x:y pair) to a cell that uses origin: (see Tips & gotchas); plain pixel;min:1;max:3 without origin: is fine.

  • On click trials min:/max: must be written without spaces around the colon; on keyboard trials spaces are tolerated.
  • The standalone number for clicks does nothing; min:/max: is what controls how many clicks are collected.
  • pixel and grid(...) cannot be combined: pixel wins.
  • For form sliders with label lists, the recorded response is the label text and responseCode is the slider’s numeric value.
  • An untouched STANDALONE slider only records NA when hideStart is present. An untouched slider inside a form always records NA, with or without hideStart, even though the handle was showing its start value. A form slider the participant deliberately sets to 0 records 0, not NA, and a required slider cannot be submitted untouched at all.
  • Input attributes written in this column are only applied to input boxes, whatever the trial’s response type.
  • The standalone box and comment response types split the cell on : as well as ;, so labels containing a colon behave differently there.

responseOptions appears in these worked recipes:

  • Label choice task: Let participants assign on-screen text labels to images by drag and drop, requiring a minimum amount of labelling before they can continue.
  • Likert block in random order: Present a block of likert questions in a fresh random order per participant, with the answer options in a fixed order.
  • Slider rating trial: Rate each stimulus on a configurable slider scale inside an experiment trial.
  • Voice-recorded picture naming: Collect spoken picture-naming responses, saving an audio recording and the voice onset for every trial.
  • Factorial vignette study: Show each participant one version of a scenario from a factorial design, then have everyone rate it on the same questions.