<!-- FIELDSET -->
<fieldset class="rtds-input-field rtds-input-fieldset">
<legend class="rtds-input-field__label">
Legend fieldset
</legend>
<div class="rtds-grid sm:rtds-flex rtds-gap-4 sm:rtds-gap-6 sm:rtds-items-start">
<div class="rtds-input-field rtds-gap-1 sm:rtds-flex-1 ">
<label for="idField1" class="rtds-input-field__label rtds-sr-only">
Label campo 1
</label>
<div class="rtds-input">
<input id="idField1" class="rtds-text-sm rtds-input-placeholder" type="text" aria-describedBy="inputDesc1">
</div>
<span class="rtds-input-field__hint">
<span class="rtds-input-field__description" id="inputDesc1">
Descrizione campo 1
</span>
</span>
</div>
<div class="rtds-input-field rtds-gap-1 sm:rtds-flex-1 ">
<label for="idField2" class="rtds-input-field__label rtds-sr-only">
Label campo 2
</label>
<div class="rtds-input">
<input id="idField2" class="rtds-text-sm rtds-input-placeholder" type="text" aria-describedBy="inputDesc2">
</div>
<span class="rtds-input-field__hint">
<span class="rtds-input-field__description" id="inputDesc2">
Descrizione campo 2
</span>
</span>
</div>
</div>
</fieldset>
<!-- FIELDSET -->
<fieldset class="rtds-input-field rtds-input-fieldset">
<legend class="rtds-input-field__label">
Legend fieldset
</legend>
<div class="rtds-grid sm:rtds-flex rtds-gap-4 sm:rtds-gap-6 sm:rtds-items-start">
{% render '@input-field',{inputId: 'idField1',classes: 'sm:rtds-flex-1',hiddenLabel: true, inputType: 'text',label: 'Label campo 1',inputDescription:'Descrizione campo 1', inputAriaDescribedBy:'inputDesc1'} ,true %}
{% render '@input-field',{inputId: 'idField2',classes: 'sm:rtds-flex-1',hiddenLabel: true, inputType: 'text',label: 'Label campo 2',inputDescription:'Descrizione campo 2', inputAriaDescribedBy:'inputDesc2'} ,true %}
</div>
</fieldset>
/* No context defined. */
Demo di un campo composito per il widget. Raggruppa più input correlati all’interno di un <fieldset> con una <legend> comune che funge da etichetta collettiva. I singoli input hanno label individuali nascoste visivamente.
<fieldset class="rtds-input-field rtds-input-fieldset"> — contenitore semantico per un gruppo di campi correlati. La <legend> fornisce il contesto del gruppo, mentre ogni campo interno (@input-field) ha un proprio label nascosto visivamente tramite il parametro hiddenLabel: true.
Livello AA — criteri pertinenti:
<fieldset> e <legend> comunicano la relazione semantica tra i campi del gruppo<legend> fornisce il contesto del gruppo<fieldset> — elemento semantico che raggruppa controlli di form correlati<legend> funge da etichetta collettiva per il gruppo; gli screen reader la annunciano prima di ogni campo interno@input-field interno ha hiddenLabel: true: il <label> è presente nel DOM ma nascosto visivamente, garantendo accessibilità senza impatto visuale| Attributo | Valori | Condizione |
|---|---|---|
aria-describedby |
ID del paragrafo di descrizione | Su ogni <input> interno, per collegare la descrizione del campo |
| Tasto | Azione |
|---|---|
Tab / Shift+Tab |
Sposta il focus tra i campi input del gruppo |
:focus-visible è sempre visibile e non viene rimosso via CSS<legend> del fieldset + il <label> del campo + la descrizione associata tramite aria-describedbylabel: 'Label campo 1') sono presenti nel DOM anche se nascoste visivamente, garantendo la corretta associazione programmatica