<label class="txt">
    <span class="txt-l">First name</span>
    <input type="text" value="Carol Danvers" placeholder="First name" class="txt-f">
  </label>
<label class="txt">
    <span class="txt-l">Email</span>
    <input type="text" value="" placeholder="Your email address" class="txt-f">
  </label>
{{#each textboxes as |textbox|}}
  <label class="txt">
    <span class="txt-l">{{label}}</span>
    <input type="text" value="{{value}}" placeholder="{{placeholder}}" class="txt-f">
  </label>
{{/each}}
{
  "inputType": true,
  "textareaType": null,
  "textboxes": [
    {
      "label": "First name",
      "placeholder": "First name",
      "value": "Carol Danvers",
      "id": "text"
    },
    {
      "label": "Email",
      "placeholder": "Your email address",
      "value": null,
      "id": "text"
    }
  ]
}

Crispus supports creating form elements with explicit and implicit labels. The preferred use is to utilize explicit labelling if possible. According to the W3, explicit labelling is better supported by assistive technologies.