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.

Officialv1.0.0 Self-contained

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

  1. Install the package: Likert scale appears in Extensibility → Form controls and in the form designer's palette under Custom.
  2. Drag Likert scale onto a form, type the statements (one per line) and choose the scale.
  3. 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.

Properties (set in the form designer)
PropertyTypeDefaultWhat it does
Statements statementslistThe request was handled quickly, The staff were helpful and courteous, I would recommend us to a colleagueOne 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 scaleStrongly disagree … Strongly agree (5) / Strongly disagree … Strongly agree (7) / Very dissatisfied … Very satisfied (5) / Never … Always (5) / Custom labelsagree5
Custom scale labels scale_labelslist—For a custom scale: 2 to 10 labels, lowest first. The answer is the label's position (1 = first).
Offer N/A show_nabooleannoAdds a Not applicable column, stored as 0.
Every statement must be answered all_requiredbooleanno

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

  1. 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.
  2. The wizard verifies the checksum, every file hash and the signature, and shows what it adds.
  3. Drag the control onto a form in the designer and set its properties.

With the CLI

shell
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.utpkg

Verify 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