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
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:
Potential display options:
UX considerations:
Implementation scope:
Acceptance criteria: