Assessment & decision

Ordinal scale

One radio-backed contract for ordered Likert, agreement, confidence, frequency, and similar scales.

Canonical sourcepatterns/ordinal-scale.html
Behavior ownerNative HTML
Runtime inside FormaNone
Example 1

Canonical

Canonical repository markup, namespaced only to keep examples independent.

Our deployment process is predictable.
View HTML
<fieldset class="ef-ordinal-scale ef-ordinal-scale--5">
  <legend class="ef-ordinal-scale__legend">Our deployment process is predictable.</legend>

  <div class="ef-ordinal-scale__options">
    <label class="ef-ordinal-option">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="0" required>
      <span class="ef-ordinal-option__marker" aria-hidden="true">1</span>
      <span class="ef-ordinal-option__label">Strongly disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="1">
      <span class="ef-ordinal-option__marker" aria-hidden="true">2</span>
      <span class="ef-ordinal-option__label">Disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="2">
      <span class="ef-ordinal-option__marker" aria-hidden="true">3</span>
      <span class="ef-ordinal-option__label">Neither agree nor disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="3">
      <span class="ef-ordinal-option__marker" aria-hidden="true">4</span>
      <span class="ef-ordinal-option__label">Agree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="4">
      <span class="ef-ordinal-option__marker" aria-hidden="true">5</span>
      <span class="ef-ordinal-option__label">Strongly agree</span>
    </label>
  </div>

  <div class="ef-special-choices" aria-label="Other responses">
    <label class="ef-special-choice">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="unknown">
      <span>Don't know</span>
    </label>
    <label class="ef-special-choice">
      <input type="radio" name="ex1-ordinal-scale-deployment-predictability" value="na">
      <span>Not applicable</span>
    </label>
  </div>
</fieldset>
Example 2

Representative state

A browser-native state made visible without adding a runtime.

Our deployment process is predictable.
View HTML
<fieldset class="ef-ordinal-scale ef-ordinal-scale--5">
  <legend class="ef-ordinal-scale__legend">Our deployment process is predictable.</legend>

  <div class="ef-ordinal-scale__options">
    <label class="ef-ordinal-option">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="0" required checked>
      <span class="ef-ordinal-option__marker" aria-hidden="true">1</span>
      <span class="ef-ordinal-option__label">Strongly disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="1">
      <span class="ef-ordinal-option__marker" aria-hidden="true">2</span>
      <span class="ef-ordinal-option__label">Disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="2">
      <span class="ef-ordinal-option__marker" aria-hidden="true">3</span>
      <span class="ef-ordinal-option__label">Neither agree nor disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="3">
      <span class="ef-ordinal-option__marker" aria-hidden="true">4</span>
      <span class="ef-ordinal-option__label">Agree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="4">
      <span class="ef-ordinal-option__marker" aria-hidden="true">5</span>
      <span class="ef-ordinal-option__label">Strongly agree</span>
    </label>
  </div>

  <div class="ef-special-choices" aria-label="Other responses">
    <label class="ef-special-choice">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="unknown">
      <span>Don't know</span>
    </label>
    <label class="ef-special-choice">
      <input type="radio" name="ex2-ordinal-scale-deployment-predictability" value="na">
      <span>Not applicable</span>
    </label>
  </div>
</fieldset>
Example 3

Constrained layout

The canonical contract inside a narrow application region.

Our deployment process is predictable.
View HTML
<fieldset class="ef-ordinal-scale ef-ordinal-scale--5">
  <legend class="ef-ordinal-scale__legend">Our deployment process is predictable.</legend>

  <div class="ef-ordinal-scale__options">
    <label class="ef-ordinal-option">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="0" required>
      <span class="ef-ordinal-option__marker" aria-hidden="true">1</span>
      <span class="ef-ordinal-option__label">Strongly disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="1">
      <span class="ef-ordinal-option__marker" aria-hidden="true">2</span>
      <span class="ef-ordinal-option__label">Disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="2">
      <span class="ef-ordinal-option__marker" aria-hidden="true">3</span>
      <span class="ef-ordinal-option__label">Neither agree nor disagree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="3">
      <span class="ef-ordinal-option__marker" aria-hidden="true">4</span>
      <span class="ef-ordinal-option__label">Agree</span>
    </label>
    <label class="ef-ordinal-option">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="4">
      <span class="ef-ordinal-option__marker" aria-hidden="true">5</span>
      <span class="ef-ordinal-option__label">Strongly agree</span>
    </label>
  </div>

  <div class="ef-special-choices" aria-label="Other responses">
    <label class="ef-special-choice">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="unknown">
      <span>Don't know</span>
    </label>
    <label class="ef-special-choice">
      <input type="radio" name="ex3-ordinal-scale-deployment-predictability" value="na">
      <span>Not applicable</span>
    </label>
  </div>
</fieldset>