Slaan oor na hoofinhoud Slaan oor na dokumentnavigasie

Voorbeelde en gebruiksriglyne vir vormbeheerstyle, uitlegopsies en pasgemaakte komponente vir die skep van 'n wye verskeidenheid vorms.

Oorsig

Bootstrap se vormkontroles brei uit op ons Herlaaide vormstyle met klasse. Gebruik hierdie klasse om in te teken op hul pasgemaakte skerms vir 'n meer konsekwente weergawe oor blaaiers en toestelle.

Maak seker dat jy 'n toepaslike typekenmerk op alle invoere gebruik (bv. emailvir e-posadres of numbervir numeriese inligting) om voordeel te trek uit nuwer invoerkontroles soos e-posverifikasie, nommerkeuse en meer.

Hier is 'n vinnige voorbeeld om Bootstrap se vormstyle te demonstreer. Hou aan om te lees vir dokumentasie oor vereiste klasse, vormuitleg en meer.

Ons sal nooit jou e-pos met iemand anders deel nie.
<form>
  <div class="mb-3">
    <label for="exampleInputEmail1" class="form-label">Email address</label>
    <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp">
    <div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
  </div>
  <div class="mb-3">
    <label for="exampleInputPassword1" class="form-label">Password</label>
    <input type="password" class="form-control" id="exampleInputPassword1">
  </div>
  <div class="mb-3 form-check">
    <input type="checkbox" class="form-check-input" id="exampleCheck1">
    <label class="form-check-label" for="exampleCheck1">Check me out</label>
  </div>
  <button type="submit" class="btn btn-primary">Submit</button>
</form>

Vorm teks

Blokvlak- of inlynvlakvormteks kan geskep word deur gebruik te maak van .form-text.

Assosieer vormteks met vormkontroles

Vormteks moet uitdruklik geassosieer word met die vormkontrole waarmee dit verband hou met die gebruik van die aria-describedbykenmerk. Dit sal verseker dat ondersteunende tegnologieë – soos skermlesers – hierdie vormteks sal aankondig wanneer die gebruiker fokus of die kontrole binnegaan.

Vormteks onder invoere kan met .form-text. As 'n blokvlak-element gebruik sal word, word 'n boonste marge bygevoeg vir maklike spasiëring van die insette hierbo.

Jou wagwoord moet 8-20 karakters lank wees, letters en syfers bevat en moet nie spasies, spesiale karakters of emosiekone bevat nie.
<label for="inputPassword5" class="form-label">Password</label>
<input type="password" id="inputPassword5" class="form-control" aria-describedby="passwordHelpBlock">
<div id="passwordHelpBlock" class="form-text">
  Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.
</div>

Inlyn teks kan enige tipiese inlyn HTML-element gebruik (of dit nou 'n <span>, <small>, of iets anders is) met niks meer as die .form-textklas nie.

Moet 8-20 karakters lank wees.
<div class="row g-3 align-items-center">
  <div class="col-auto">
    <label for="inputPassword6" class="col-form-label">Password</label>
  </div>
  <div class="col-auto">
    <input type="password" id="inputPassword6" class="form-control" aria-describedby="passwordHelpInline">
  </div>
  <div class="col-auto">
    <span id="passwordHelpInline" class="form-text">
      Must be 8-20 characters long.
    </span>
  </div>
</div>

Gestremde vorms

Voeg die disabledBoolese kenmerk by 'n invoer om gebruikersinteraksies te voorkom en dit ligter te laat lyk.

<input class="form-control" id="disabledInput" type="text" placeholder="Disabled input here..." disabled>

Voeg die disabledkenmerk by a <fieldset>om al die kontroles binne te deaktiveer. Blaaiers hanteer alle inheemse vormkontroles ( <input>, <select>, en <button>elemente) binne 'n <fieldset disabled>as gedeaktiveer, wat beide sleutelbord- en muisinteraksies op hulle voorkom.

However, if your form also includes custom button-like elements such as <a class="btn btn-*">...</a>, these will only be given a style of pointer-events: none, meaning they are still focusable and operable using the keyboard. In this case, you must manually modify these controls by adding tabindex="-1" to prevent them from receiving focus and aria-disabled="disabled" to signal their state to assistive technologies.

Disabled fieldset example
<form>
  <fieldset disabled>
    <legend>Disabled fieldset example</legend>
    <div class="mb-3">
      <label for="disabledTextInput" class="form-label">Disabled input</label>
      <input type="text" id="disabledTextInput" class="form-control" placeholder="Disabled input">
    </div>
    <div class="mb-3">
      <label for="disabledSelect" class="form-label">Disabled select menu</label>
      <select id="disabledSelect" class="form-select">
        <option>Disabled select</option>
      </select>
    </div>
    <div class="mb-3">
      <div class="form-check">
        <input class="form-check-input" type="checkbox" id="disabledFieldsetCheck" disabled>
        <label class="form-check-label" for="disabledFieldsetCheck">
          Can't check this
        </label>
      </div>
    </div>
    <button type="submit" class="btn btn-primary">Submit</button>
  </fieldset>
</form>

Accessibility

Ensure that all form controls have an appropriate accessible name so that their purpose can be conveyed to users of assistive technologies. The simplest way to achieve this is to use a <label> element, or—in the case of buttons—to include sufficiently descriptive text as part of the <button>...</button> content.

For situations where it’s not possible to include a visible <label> or appropriate text content, there are alternative ways of still providing an accessible name, such as:

  • <label> elements hidden using the .visually-hidden class
  • Pointing to an existing element that can act as a label using aria-labelledby
  • Providing a title attribute
  • Explicitly setting the accessible name on an element using aria-label

If none of these are present, assistive technologies may resort to using the placeholder attribute as a fallback for the accessible name on <input> and <textarea> elements. The examples in this section provide a few suggested, case-specific approaches.

While using visually hidden content (.visually-hidden, aria-label, and even placeholder content, which disappears once a form field has content) will benefit assistive technology users, a lack of visible label text may still be problematic for certain users. Some form of visible label is generally the best approach, both for accessibility and usability.

Sass

Many form variables are set at a general level to be re-used and extended by individual form components. You’ll see these most often as $btn-input-* and $input-* variables.

Variables

$btn-input-* variables are shared global variables between our buttons and our form components. You’ll find these frequently reassigned as values to other component-specific variables.

$input-btn-padding-y:         .375rem;
$input-btn-padding-x:         .75rem;
$input-btn-font-family:       null;
$input-btn-font-size:         $font-size-base;
$input-btn-line-height:       $line-height-base;

$input-btn-focus-width:         .25rem;
$input-btn-focus-color-opacity: .25;
$input-btn-focus-color:         rgba($component-active-bg, $input-btn-focus-color-opacity);
$input-btn-focus-blur:          0;
$input-btn-focus-box-shadow:    0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color;

$input-btn-padding-y-sm:      .25rem;
$input-btn-padding-x-sm:      .5rem;
$input-btn-font-size-sm:      $font-size-sm;

$input-btn-padding-y-lg:      .5rem;
$input-btn-padding-x-lg:      1rem;
$input-btn-font-size-lg:      $font-size-lg;

$input-btn-border-width:      $border-width;