<fieldset class="rtds-input-field rtds-gap-2">
<legend class="rtds-input-field__label">
Radio fieldset
</legend>
<div class="rtds-input rtds-input-field rtds-input-radio">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId0" name="radioFieldsetName" data-label="radioShortLabel" class=" " type="radio">
<label class="rtds-input-radio__label" for="radioId0">
label radiobutton
</label>
</div>
</div>
<div class="rtds-input rtds-input-field rtds-input-radio">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId1" name="radioFieldsetName" data-label="radioShortLabel" class=" " type="radio">
<label class="rtds-input-radio__label" for="radioId1">
label radiobutton
</label>
</div>
</div>
<div class="rtds-input rtds-input-field rtds-input-radio">
<div class="rtds-flex rtds-gap-2 rtds-items-center">
<input id="radioId2" name="radioFieldsetName" data-label="radioShortLabel" class=" " type="radio">
<label class="rtds-input-radio__label" for="radioId2">
label radiobutton
</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, radioCount) %}
{% render '@input-radio', { name: fieldsetName, id: inputId ~ i, shortLabel: inputShortLabel, padding: inputPadding, border: inputBorder, radius: inputRadius, classes: inputClasses, checked: inputChecked, placeholder: inputPlaceholder, iconPlaceholder: inputIconPlaceholder, fieldRequired: inputRequired, ariaDescribedBy: inputAriaDescribedBy, errorId: inputErrorId, hasErrorControl: inputHasErrorControl, hasError: inputHasError, 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": "Radio fieldset",
"radioCount": 3,
"inputId": "radioId",
"inputShortLabel": "radioShortLabel",
"fieldsetName": "radioFieldsetName"
}
Il componente Radio Fieldset è un gruppo di radio button raggruppati all’interno di un fieldset, utilizzato per raccogliere input multipli correlati tra loro dove è possibile selezionare una sola opzione.
Il componente utilizza un fieldset HTML con legend e un gruppo di radio button. Supporta vari stati e configurazioni per l’accessibilità e la validazione.
Il componente supporta diverse varianti preconfigurate:
Il componente implementa diverse caratteristiche di accessibilità:
aria-invalid per indicare erroriaria-describedby per descrizioniaria-live="assertive"fieldsetClasses: Classi CSS aggiuntive per il fieldsetfieldsetAriaInvalid: Booleano che indica se il fieldset ha errori di validazionefieldsetRequired: Booleano che indica se il fieldset è obbligatoriofieldsetName: Nome del fieldsetlegend: Testo della legenda del fieldsetlegendClasses: Classi CSS aggiuntive per la legendaradioCount: Numero di radio button da generareinputId: ID base per i radio button (verrà concatenato con un indice)inputShortLabel: Etichetta breve per i radio buttoninputChecked: Booleano che indica se i radio button sono selezionatiinputRequired: Booleano che indica se i radio button sono obbligatoriinputAriaDescribedBy: ID dell’elemento che descrive i radio buttoninputHasErrorControl: Booleano che indica se i radio button hanno controllo erroriinputHasError: Booleano che indica se i radio button hanno erroriinputErrorId: ID dell’elemento di erroreinputDescription: Descrizione testuale dei radio buttoninputPadding: Padding dei radio buttoninputBorder: Bordo dei radio buttoninputRadius: Raggio del bordo dei radio buttoninputClasses: Classi CSS aggiuntive per i radio buttoninputPlaceholder: Placeholder per i radio buttoninputIconPlaceholder: Icona del placeholder per i radio buttoninput-radio per generare i singoli radio buttonrtds-input-field__hintinputPlaceholder e inputIconPlaceholder sono presenti nel template ma non sono utilizzati nella configurazione di default