Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Labels must be succinct (1–2 words) and must not end with colons.
  • Maintain consistent spacing: 24px around forms, 8px between fields.
  • Separate input groups with sublines; an optional introduction may be added below.
  • Use tooltips only for short, explanatory information; never for essential content.
  • Provide help text below form titles to guide correct input.
  • Apply inline error and validation messages directly within the form to inform users and offer corrective actions.

Accessibility

...

Usage

  • Use for long, multi-line localized input where users must provide content per language, and label the field via labelTranslations.
  • Pre-seed known copy with defaultValue to reduce initial typing and clarify expected structure.
  • Limit verbosity with maxLength so each language stays within the allowed character budget.
  • Preserve in-progress work on long tasks by enabling saveInLocalStorage.
  • Switch to review/read-only scenarios by setting readonly: true instead of hiding the field.

Sizing & Layout

  • Set the visible height using rows; increase rows for drafting, reduce for compact forms.
  • Add breathing room around the field with paddingClass to maintain consistent spacing.
  • Keep the field present but out of view when unnecessary by toggling hidden.

States & Feedback

  • Enforce mandatory content and per-language rules through validation (e.g., required languages, length).
  • Reflect non-editable states explicitly with readonly to signal view-only content.
  • React to text edits in real time with events.ON_VALUE_CHANGE (e.g., to trigger checks or previews).

Visibility & Authorization

  • Gate visibility by policy with visibilityPolicySetId when users must not see the field.
  • Keep visible but disabled using authorizationDisable when users should understand they lack edit rights.

Content & Localization

  • Keep labels concise and localized with labelTranslations (1–2 words, no trailing colon).
  • Align validation limits with validation and maxLength so users see consistent, locale-appropriate rules.

Dos & Don’ts

DoDon’tArticle setting(s)
Use labelTranslations for a short, localized label (e.g., “Description”).Hard‑code an English label or add a trailing colon.labelTranslations
Pre-fill per‑language text with defaultValue to guide structure.Start empty when templates are known.defaultValue
Cap length per language with maxLength.Allow unbounded text that overflows downstream limits.maxLength
Use rows to make long‑form editing comfortable.Force a tiny viewport that requires constant scrolling.rows
Turn on saveInLocalStorage for lengthy authoring.Risk data loss on reloads for multi‑paragraph input.saveInLocalStorage
Drive real-time checks from ON_VALUE_CHANGE.Validate only on submit when immediate feedback is needed.events, ON_VALUE_CHANGE, validation
Use readonly for review mode.Hide the field (hidden) when users must read existing text.readonly, hidden
Gate access with visibilityPolicySetId/authorizationDisable.Expose sensitive fields without policy controls.visibilityPolicySetId, authorizationDisable
Control presence with displayConditions.Show the field in contexts where it isn’t applicable.displayConditions
Name payloads predictably with dataField and set controlsRequestType.Rely on implicit server parsing or defaults.dataField, controlsRequestType

Accessibility

  • Provide stable automation and a11y selectors with dataTestId and id for targeting and verification.
  • Optionally support comprehension via guided tours using enableAsHotspot with localized guidedTourHotSpotTitle and guidedTourHotSpotDescription (supplemental only; not for critical info).
  • Reduce accidental data loss during long authoring by enabling saveInLocalStorage, which can benefit users who need more time to complete inputs.
  • Keep labels short and specific through labelTranslations; avoid relying on placeholder-style guidance.
  • Increase rows when long content is expected to minimize excessive scrolling.