Input form control
Likert scale
<ut-likert>
Survey matrix that rates several statements on one agree, satisfaction, frequency or custom scale, with optional N/A. Cards on phones.
Try it
Live preview
The real control in the same sandboxed frame the app uses. Switch to dark mode or read-only to see how it adapts.
How did we do?
Value the form receives
{
"the_request_was_handled_quickly": 4,
"the_staff_were_helpful_and_courteous": 5
}Sandboxed frame (opaque origin, its own CSP), talking to this page only through the typed postMessage bridge — exactly as on a form.
About
What it does
Ask several questions on the same scale in one tidy field: a customer satisfaction survey at the end of a support request, an employee pulse check, a training evaluation or a supplier review. Each statement is a row; choose a five or seven point agree scale, satisfaction, frequency or your own labels, and add an N/A column when a statement may not apply.
On a wide form it is a matrix with the scale across the top; on a phone each statement becomes a card with the labels spelled out. Every statement is its own radio group with one Tab stop, so keyboard users Tab from statement to statement and choose with the arrow keys, and screen readers announce the statement and each label. The answers are stored as one object keyed by the statement ("the_staff_were_helpful": 4), ready for reports and workflow conditions. Turn on Every statement must be answered to block submission until all rows are done.
Good for
- Customer satisfaction survey when a support request closes
- Employee pulse or engagement check
- Training course or event evaluation
- Supplier performance review
After installing
- Install the package: Likert scale appears in Extensibility → Form controls and in the form designer's palette under Custom.
- Drag Likert scale onto a form, type the statements (one per line) and choose the scale.
- Optionally offer N/A and require every statement. Keep statement wording stable once responses come in: the answer keys are made from the text.
Reference
Value, properties and accessibility
Value
json
Stored as the field's value (type json), validated by the server against the control's schema; the control also reports its own validity while people type.
Read-only views (completed tasks, mobile, emails) show the value as json.
Keyboard and screen readers
Role: radiogroup, named by the field label.
Each statement is a radio group with one Tab stop: Tab / Shift+Tab move between statements, the arrow keys choose within a statement (Home / End jump to the ends), Space or Enter chooses the focused point, Delete clears the statement's answer.
| Property | Type | Default | What it does |
|---|---|---|---|
Statements statements | list | The request was handled quickly, The staff were helpful and courteous, I would recommend us to a colleague | One row each. The answer is stored under a key made from the statement (lowercase, other characters become _), so renaming a statement changes its key. |
Scale scale | Strongly disagree … Strongly agree (5) / Strongly disagree … Strongly agree (7) / Very dissatisfied … Very satisfied (5) / Never … Always (5) / Custom labels | agree5 | |
Custom scale labels scale_labels | list | — | For a custom scale: 2 to 10 labels, lowest first. The answer is the label's position (1 = first). |
Offer N/A show_na | boolean | no | Adds a Not applicable column, stored as 0. |
Every statement must be answered all_required | boolean | no |
Install
Install it in your workspace
Works on UserTasks cloud and any self-hosted instance. The control lands in Extensibility → Form controls, enabled, and appears in the form designer's Custom palette.
In the app
- Open Extensibility → Form controls → Browse gallery (it opens Packages → Browse gallery on the Form controls tab) and choose Install on Likert scale. Or download form-control-likert-1.0.0.utpkg and drag it onto Automations → Packages.
- The wizard verifies the checksum, every file hash and the signature, and shows what it adds.
- Drag the control onto a form in the designer and set its properties.
With the CLI
curl -fLO https://usertasks.com/gallery/form-control-likert-1.0.0.utpkg
usertasks packages inspect form-control-likert-1.0.0.utpkg
usertasks packages install form-control-likert-1.0.0.utpkgVerify the download
- File SHA-256
- 5d507fe88a17da25b31ced4ea8eab6d36c276defea8c9a0e9ec207de7f203351
- Package checksum (what is signed)
- sha256:dc93fd8199ebb321d3ad9ad6144431bd0c2a5095ad652248e106e02415faddce
- <ut-likert> module SHA-256
- 292f1b82ff9452052b5e9d710999d6f31b0f01474fd7418318dc7788bd869be6
- Signer
- UserTasks Gallery · 49:f3:04:90:47:02:4d:07:28:61:3d:dc:bb:aa:db:11
More form controls
All controls- Input
Form control
Address
<ut-address> <ut-map>
Address search with suggestions from Google Places (key kept on the server) or a data table, saved as street, city, postcode, country and coordinates.
LookupsNetwork Google Maps Platformvalue json · v1.0.0Try it - Display
Form control
Chart
<ut-chart>
Bar, line, area, pie or doughnut chart of static data, another field's rows, lookup results or a saved report, with keyboard-navigable points.
LookupsSaved reportsvalue json · v1.0.0Try it - Display
Form control
Info card
<ut-info-card>
Info, success, warning, error or neutral callout that can show up to six other form values, formatted for the reader, as text or a key / value list.
Self-containedvalue string · v1.0.0Try it