Skip to content

[Formplayer] Likert scale question type #693

Description

@r0ssing

Add a custom Likert Scale question type for ODE, focused on a flexible and user-friendly control UX.

The control should support common Likert-style response patterns, including:

  • Agreement scales: Strongly disagree → Strongly agree
  • Frequency scales: Never → Always
  • Satisfaction scales: Very dissatisfied → Very satisfied
  • Importance scales: Not important → Very important
  • Likelihood scales: Very unlikely → Very likely
  • Numeric rating scales: e.g. 0–10, 1–5, 1–7
  • Sentiment scales: emoji/smiley-based responses

Potential display options:

  • Horizontal segmented buttons
  • Radio-button row
  • Emoji/smiley row
  • Numeric 0–10 scale
  • Horizontal slider control
  • Compact mobile-friendly stacked layout
  • Optional labels at endpoints only, or labels on every option

UX considerations:

  • Clearly indicate the selected value
  • Support keyboard navigation and screen readers
  • Work well on mobile and desktop
  • Allow configurable labels, values, min/max, and step size
  • Support optional neutral/midpoint values
  • Support "Not applicable" where configured
  • Support translation of all user-facing text (labels, option text, endpoint labels, etc.) using the standard ODE i18n/localization mechanism
  • Preserve existing form validation and required-question behavior
  • Ensure the control can render consistently in readonly/review mode

Implementation scope:

  • Add the Likert Scale as a custom question type in ODE
  • Support configurable display variants such as numeric, emoji, buttons, radio row, and slider
  • Add a Storybook component for the Likert control in formplayer
  • Include stories for major variants, required state, disabled/readonly state, validation/error state, translated labels, and mobile-friendly layouts
  • Update relevant documentation to describe configuration options, supported display modes, accessibility behavior, localization support, and example usage

Acceptance criteria:

  • A Likert Scale question can be configured and rendered in ODE
  • Users can select a response using the chosen display style
  • The selected value is saved consistently with the configured option values
  • All user-facing text is translatable using the existing ODE i18n support
  • The control supports accessible labels, keyboard interaction, and visible focus states
  • Storybook includes examples for the main display variants, including localized examples
  • Documentation is updated with usage guidance and examples

Metadata

Metadata

Assignees

Labels

enhancementNew feature or requestformplayerIssues related to the FormPlayer React applicationvNextMinor"vNextMinor" would currently mean for example v1.1.0

Fields

No fields configured for Feature.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions