# Multiple Choice (H5P.MultiChoice)

One question, two or more answers, one or several of them correct, with feedback per answer.

- Mark the right answers with `"correct": true`. `behaviour.type` is `"single"` (radio buttons, exactly one correct), `"multi"` (checkboxes) or `"auto"`, which picks by how many are correct.
- Feedback for an answer goes in its `tipsAndFeedback.chosenFeedback`, shown after Check when it was chosen. Write it for every answer, wrong ones especially: say why.
- A pass mark: `behaviour.passPercentage`, with `overallFeedback` ranges for each score band, `{ "from": 0, "to": 99, "feedback": "…" }`.
- Answers are shuffled unless `behaviour.randomAnswers` is false.

## Example

```json
{
  "type": "H5P.MultiChoice",
  "params": {
    "question": "Which river is the longest in Europe?",
    "answers": [
      { "text": "Volga", "correct": true, "tipsAndFeedback": { "chosenFeedback": "Right: about 3,530 km." } },
      { "text": "Danube", "correct": false, "tipsAndFeedback": { "chosenFeedback": "The Danube is second, about 2,850 km." } },
      { "text": "Rhine", "correct": false, "tipsAndFeedback": { "chosenFeedback": "The Rhine is about 1,230 km." } }
    ],
    "behaviour": { "type": "single" }
  }
}
```

<!-- Generated by `h5p-author schema --markdown` from the pinned pack. Do not edit by hand. -->

## Fields of H5P.MultiChoice 1.16

The example is `type` and `params` alone, and `params` holds the fields below. A source also names its own `title`, `language`, `license` and `authors`, all four required: the build refuses a source that leaves out any of them. The author's name and the licence are the user's: ask for what they have not given. For a name they skip, write the one you know them by, or "Unknown"; for a licence they skip, `U`.

- `media` group — Media
  - `type` sub-content: H5P.Image | H5P.Video | H5P.Audio — Type: Optional media to display above the question.
  - `disableImageZooming` boolean = false; only when type is "H5P.Image 1.1" — Disable image zooming
- `question` html: strong em sub sup h2 h3 pre code, required — Question
- `answers` list 1+ of, required — Available options
  - `text` html: strong em sub sup code, required — Text
  - `correct` boolean — Correct
  - `tipsAndFeedback` group — Tips and feedback
    - `tip` html: strong em a code — Tip text: Hint for the user. This will appear before user checks his answer/answers.
    - `chosenFeedback` html: strong em sub sup a code — Message displayed if answer is selected: Message will appear below the answer on "check" if this answer is selected.
    - `notChosenFeedback` html: strong em sub sup a code — Message displayed if answer is not selected: Message will appear below the answer on "check" if this answer is not selected.
- `overallFeedback` list 1+ of — Overall Feedback: Click the "Add range" button to add as many ranges as you need. Example: 0-20% Bad score, 21-91% Average Score, 91-100% Great Score!
  - `from` whole number 0–100 = 0 — Score Range
  - `to` whole number 0–100 = 100
  - `feedback` text — Feedback for defined score range
- `behaviour` group — Behavioural settings
  - `enableRetry` boolean = true — Enable "Retry" button
  - `enableSolutionsButton` boolean = true — Enable "Show Solution" button
  - `type` one of "auto" | "multi" | "single" = "auto" — Question Type: Select the look and behaviour of the question.
  - `singlePoint` boolean = false — Give one point for the whole task
  - `randomAnswers` boolean = true — Randomize answers
  - `showSolutionsRequiresInput` boolean = true — Require answer before the solution can be viewed
  - `confirmCheckDialog` boolean = false — Show confirmation dialog on "Check"
  - `confirmRetryDialog` boolean = false — Show confirmation dialog on "Retry"
  - `autoCheck` boolean = false — Automatically check answers
  - `passPercentage` whole number 0–100 = 100 — Pass percentage: This setting often won't have any effect. It is the percentage of the total score required for getting 1 point when one point for the entire task is enabled, and for getting result…
  - `showScorePoints` boolean = true — Show score points

25 interface texts are left out: they come from the libraries' translations. `h5p-author schema H5P.MultiChoice --all` lists them, for a source to set one.

<!-- End of the generated section. -->
