<fieldset class="rtds-input-field rtds-gap-2">
<legend class="rtds-input-field__label">
Check fieldset
</legend>
<div class="rtds-input rtds-input-field rtds-input-checkbox">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId0" name="radioId0" data-label="radioShortLabel" class=" " type="checkbox">
<label class="rtds-input-checkbox__label" for="radioId0">
label checkbox
</label>
</div>
</div>
<div class="rtds-input rtds-input-field rtds-input-checkbox">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId1" name="radioId1" data-label="radioShortLabel" class=" " type="checkbox">
<label class="rtds-input-checkbox__label" for="radioId1">
label checkbox
</label>
</div>
</div>
<div class="rtds-input rtds-input-field rtds-input-checkbox">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId2" name="radioId2" data-label="radioShortLabel" class=" " type="checkbox">
<label class="rtds-input-checkbox__label" for="radioId2">
label checkbox
</label>
</div>
</div>
</fieldset>
<fieldset class="rtds-input-field rtds-gap-2{% if fieldsetClasses %} {{ fieldsetClasses }}{% endif %}"{% if fieldsetAriaInvalid %} aria-invalid="true"{% endif %}>
<legend class="rtds-input-field__label{% if legendClasses %} {{ legendClasses }}{% endif %}">
{{ legend }}
{% if fieldsetRequired %}
<abbr class="rtds-font-bold rtds-no-underline" title="obbligatorio">*</abbr>
{% endif %}
</legend>
{% for i in range(0, checkboxCount) %}
{% render '@input-checkbox', { id: inputId ~ i, shortLabel: inputShortLabel, padding: inputPadding, border: inputBorder, radius: inputRadius, classes: inputClasses, checked: inputChecked, placeholder: inputPlaceholder, iconPlaceholder: inputIconPlaceholder, fieldRequired: inputRequired, ariaDescribedBy: inputAriaDescribedBy, hasErrorControl: inputHasErrorControl, hasError: inputHasError, errorId: inputErrorId, inFieldset: true }, true %}
{% endfor %}
{% if fieldsetRequired or inputAriaDescribedBy or inputHasErrorControl %}
<span class="rtds-input-field__hint">
{% if fieldsetRequired or inputHasErrorControl %}
<span class="rtds-input-field__error" id="{{ inputErrorId }}" aria-live="assertive">
{{ errorDescription }}
</span>
{% endif %}
{% if inputDescription %}
<span class="rtds-input-field__description" id="{{ inputAriaDescribedBy }}">
{{ inputDescription }}
</span>
{% endif %}
</span>
{% endif %}
</fieldset>
{
"legend": "Check fieldset",
"checkboxCount": 3,
"inputId": "radioId",
"inputShortLabel": "radioShortLabel",
"fieldsetName": "radioFieldsetName",
"inputErrorId": "checkboxErrorId"
}
Gruppo di checkbox raggruppati all’interno di un fieldset, utilizzato per raccogliere input multipli correlati tra loro.
Il componente utilizza un <fieldset> HTML con <legend> e un gruppo di checkbox. Supporta vari stati e configurazioni per l’accessibilità e la validazione.
default: Configurazione base senza validazionerequired: Fieldset obbligatorio con controllo errorihas-error: Fieldset con errori di validazionehas-description: Fieldset con descrizione aggiuntivahas-error-and-description: Combina errori e descrizioneContesto di sviluppo Fractal/Nunjucks — Questa sezione riguarda esclusivamente i parametri del context
.config.ymlusati durante lo sviluppo nella libreria. Non descrive attributi HTML o proprietà da usare nei temi, CMS o ambienti di implementazione: per quello, fare riferimento alla sezione Esempi di utilizzo.
fieldsetClasses (stringa, opzionale): Classi CSS aggiuntive per il fieldsetfieldsetAriaInvalid (booleano, opzionale): Indica se il fieldset ha errori di validazionefieldsetRequired (booleano, opzionale): Indica se il fieldset è obbligatoriofieldsetName (stringa, opzionale): Nome del fieldsetlegend (stringa, obbligatorio): Testo della legenda del fieldsetlegendClasses (stringa, opzionale): Classi CSS aggiuntive per la legendacheckboxCount (numero, opzionale): Numero di checkbox da generareinputId (stringa, obbligatorio): ID base per i checkbox (verrà concatenato con un indice)inputShortLabel (stringa, opzionale): Etichetta breve per i checkboxinputChecked (booleano, opzionale): Indica se i checkbox sono selezionatiinputRequired (booleano, opzionale): Indica se i checkbox sono obbligatoriinputAriaDescribedBy (stringa, opzionale): ID dell’elemento che descrive i checkboxinputHasErrorControl (booleano, opzionale): Indica se i checkbox hanno controllo erroriinputHasError (booleano, opzionale): Indica se i checkbox hanno erroriinputErrorId (stringa, opzionale): ID dell’elemento di erroreinputDescription (stringa, opzionale): Descrizione testuale dei checkboxinputPadding (stringa, opzionale): Padding dei checkboxinputBorder (stringa, opzionale): Bordo dei checkboxinputRadius (stringa, opzionale): Raggio del bordo dei checkboxinputClasses (stringa, opzionale): Classi CSS aggiuntive per i checkboxLivello AA — criteri pertinenti:
<fieldset> con <legend> raggruppa semanticamente i checkbox correlati; la <legend> funge da etichetta del gruppoaria-invalid sul <fieldset> e annunciati con aria-live="assertive"<label> associata; la <legend> descrive il gruppoaria-invalid comunica lo stato di errore del gruppo<fieldset> con <legend> come etichetta del gruppo di checkboxinput-checkbox con la propria <label> associata<abbr title="obbligatorio">*</abbr> nella <legend><span class="rtds-input-field__hint"> al di fuori dei singoli checkbox| Attributo | Valori | Condizione |
|---|---|---|
aria-invalid |
"true" |
presente sul <fieldset> quando fieldsetAriaInvalid è true |
aria-live |
"assertive" |
sullo span del messaggio di errore |
aria-describedby |
ID del messaggio di errore / descrizione | presente sui singoli <input> quando ci sono errori o descrizioni |
<fieldset> con il nome della <legend>aria-live="assertive"*) è leggibile tramite l’attributo title="obbligatorio" sull’<abbr><!-- Esempio base -->
<fieldset class="rtds-checkbox-fieldset">
<legend class="rtds-input-field__label">Seleziona le opzioni</legend>
<div class="rtds-input rtds-input-checkbox">
<input type="checkbox" id="option1" name="options">
<label for="option1">Opzione 1</label>
</div>
<div class="rtds-input rtds-input-checkbox">
<input type="checkbox" id="option2" name="options">
<label for="option2">Opzione 2</label>
</div>
</fieldset>
<!-- Esempio con errore -->
<fieldset class="rtds-checkbox-fieldset" aria-invalid="true">
<legend class="rtds-input-field__label">
Seleziona almeno un'opzione <abbr title="obbligatorio">*</abbr>
</legend>
<div class="rtds-input rtds-input-checkbox">
<input type="checkbox" id="option1" name="options" aria-describedby="fieldset-error">
<label for="option1">Opzione 1</label>
</div>
<span class="rtds-input-field__hint">
<span id="fieldset-error" aria-live="assertive" class="rtds-input-field__error">
Seleziona almeno un'opzione
</span>
</span>
</fieldset>input-checkbox per generare i singoli checkboxrtds-input-field__hint