# Radio & Multiselect

Source: https://www.potatoannotator.com/docs/annotation-types/radio-multiselect

Radio buttons and multiselect checkboxes are the most common annotation types for classification tasks.

![Radio and multiselect annotation interface](/images/docs/radio-annotation.png "Radio buttons and checkboxes for categorical annotation in Potato")

## Radio Buttons

Use radio buttons when annotators should select exactly one option.

### Basic Configuration

```yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "Select the sentiment of this text"
    labels:
      - Positive
      - Negative
      - Neutral
```

### With Keyboard Shortcuts

Add keyboard shortcuts for faster annotation:

```yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "Select the sentiment"
    labels:
      - Positive
      - Negative
      - Neutral
    keyboard_shortcuts:
      Positive: "1"
      Negative: "2"
      Neutral: "3"
```

### With Tooltips

Provide additional context for each option:

```yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    description: "Select the sentiment"
    labels:
      - Positive
      - Negative
      - Neutral
    tooltips:
      Positive: "The text expresses happiness, satisfaction, or approval"
      Negative: "The text expresses sadness, anger, or disapproval"
      Neutral: "The text does not express strong emotion"
```

## Multiselect

Use multiselect when annotators can choose multiple options.

### Basic Configuration

```yaml
annotation_schemes:
  - annotation_type: multiselect
    name: topics
    description: "Select all topics that apply"
    labels:
      - Politics
      - Sports
      - Technology
      - Entertainment
      - Science
```

### With Minimum/Maximum Selection

Constrain the number of selections:

```yaml
annotation_schemes:
  - annotation_type: multiselect
    name: topics
    description: "Select 1-3 topics"
    labels:
      - Politics
      - Sports
      - Technology
    min_selections: 1
    max_selections: 3
```

## Styling Options

### Horizontal Layout

Display options horizontally instead of vertically:

```yaml
annotation_schemes:
  - annotation_type: radio
    name: rating
    labels:
      - "1"
      - "2"
      - "3"
      - "4"
      - "5"
    display: horizontal
```

### Custom Colors

Assign colors to labels:

```yaml
annotation_schemes:
  - annotation_type: radio
    name: sentiment
    labels:
      - Positive
      - Negative
      - Neutral
    colors:
      Positive: "#22c55e"
      Negative: "#ef4444"
      Neutral: "#6b7280"
```

## Best Practices

1. **Keep labels concise** - Use short, clear label names
2. **Use keyboard shortcuts** - Speeds up annotation significantly
3. **Add tooltips for ambiguous labels** - Helps ensure consistency
4. **Limit options** - Too many choices slow down annotators
5. **Order logically** - Most common options first, or alphabetically
