<div class="rtds-search-results-header rtds-background-01">
<div class="rtds-container rtds-space-y-4 lg:rtds-space-y-6 rtds-py-10 lg:rtds-py-12 xl:rtds-py-16">
<div class="rtds-search-results-header__content">
<h1 class="rtds-heading-1">
Risultati di ricerca
</h1>
</div>
<div class="rtds-search-results-header__search">
<div class="rtds-search-bar" data-search-bar data-all-results-href="/search?q=" data-all-results-label="Tutti i risultati">
<form class="rtds-search-bar__form" role="search" action="/search" method="get">
<div class="rtds-search-bar__wrapper">
<label for="searchResultsBar" class="rtds-search-bar__label rtds-sr-only">
Cerca
</label>
<div class="rtds-search-bar__input-wrapper">
<div class="rtds-search-bar__autocomplete" id="searchResultsBarContainer" data-placeholder="Search"></div>
<button type="button" class="rtds-btn rtds-btn--icon rtds-btn--l rtds-search-bar__clear rtds-border-0 rtds-hidden hover:rtds-background-secondary hover:rtds-text-white" data-search-clear>
<span class="rtds-sr-only">Cancella ricerca</span>
<svg class="rtds-icon rtds-fill-current rtds-w-6 rtds-h-6" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#outline--x-circle" />
</svg>
</button>
<button type="submit" class="rtds-btn
r rtds-btn--icon rtds-btn--icon-square rtds-btn--primary rtds-search-bar__submit rtds-btn--l"><svg class="rtds-icon rtds-fill-current rtds-w-6 rtds-h-6" aria-hidden="true" focusable="false" role="img">
<use href="../../icons.svg#mini--magnifying-glass" />
</svg>
<span class="rtds-sr-only">
Cerca
</span>
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="rtds-search-results-header{% if classes %} {{ classes }}{% endif %}">
<div class="rtds-container rtds-space-y-4 lg:rtds-space-y-6 rtds-py-10 lg:rtds-py-12 xl:rtds-py-16">
<div class="rtds-search-results-header__content{% if contentClasses %} {{ contentClasses }}{% endif %}" >
{% block title %}
<h1 class="rtds-heading-1">
{{ title|default('Risultati di ricerca') }}
</h1>
{% endblock title %}
{% block description %}
{% if description %}
<div class="rtds-search-results-header__description">
{{ description }}
</div>
{% endif %}
{% endblock description %}
</div>
{% block searchBar %}
<div class="rtds-search-results-header__search{% if searchBarClasses %} {{ searchBarClasses }}{% endif %}">
{% render '@search-bar', {
searchId: searchId|default('searchResultsBar'),
label: label|default('Cerca'),
submitLabel: submitLabel|default('Cerca'),
showClearButton: showClearButton|default(true),
placeholder: placeholder|default('Search'),
formAction: formAction|default('/search'),
formMethod: formMethod|default('get'),
allResultsHref: allResultsHref|default('/search?q='),
allResultsLabel: allResultsLabel|default('Tutti i risultati'),
searchOptions: searchOptions,
variant: variant,
classes: searchBarClasses
}, true %}
</div>
{% endblock searchBar %}
</div>
</div>
{
"title": "Risultati di ricerca",
"searchId": "searchResultsBar",
"label": "Cerca",
"submitLabel": "Cerca",
"showClearButton": true,
"placeholder": "Search",
"formAction": "/search",
"formMethod": "get",
"allResultsHref": "/search?q=",
"allResultsLabel": "Tutti i risultati"
}
/**
* SEARCH RESULTS HEADER
*
* Componente header per la pagina di risultati di ricerca
*/
.rtds-search-results-header {
width: 100%;
}
.rtds-search-results-header__search {
width: 100%;
}
/**
* SEARCH RESULTS HEADER
*
* Componente header per la pagina di risultati di ricerca
*/
@layer components {
.rtds-search-results-header {
@apply rtds-w-full;
}
.rtds-search-results-header__search {
@apply rtds-w-full;
}
}
Intestazione della pagina di risultati di ricerca. Compone un titolo <h1> e il componente @search-bar in un’area a larghezza piena con padding responsive.
Il componente è renderizzato come <div class="rtds-search-results-header">, con all’interno un rtds-container che contiene:
rtds-search-results-header__content) — titolo <h1> e descrizione opzionalertds-search-results-header__search) — componente @search-bar con autocomplete, label, submit e clear buttondefault: Sfondo rtds-background-01 (classes: "rtds-background-01")Contesto di sviluppo Fractal/Nunjucks — parametri del context
.config.yml. Non descrivono attributi HTML da usare nei CMS o ambienti di implementazione.
title (stringa, opzionale): Testo del titolo <h1>. Default: "Risultati di ricerca"description (stringa, opzionale): Testo descrittivo sotto il titolo; se presente viene renderizzato in <div class="rtds-search-results-header__description">classes (stringa, opzionale): Classi CSS aggiuntive sull’elemento radice (es. "rtds-background-01")contentClasses (stringa, opzionale): Classi CSS aggiuntive sul wrapper rtds-search-results-header__contentTutti i parametri sono passati direttamente al componente @search-bar:
searchId (stringa, opzionale): ID del campo di ricerca. Default: "searchResultsBar"label (stringa, opzionale): Label accessibile del campo. Default: "Cerca"submitLabel (stringa, opzionale): Testo del pulsante submit. Default: "Cerca"showClearButton (booleano, opzionale): Mostra il pulsante per cancellare il campo. Default: trueplaceholder (stringa, opzionale): Placeholder del campo di ricerca. Default: "Search"formAction (stringa, opzionale): Attributo action del form. Default: "/search"formMethod (stringa, opzionale): Attributo method del form. Default: "get"allResultsHref (stringa, opzionale): URL del link “Tutti i risultati” nell’autocomplete. Default: "/search?q="allResultsLabel (stringa, opzionale): Testo del link “Tutti i risultati”. Default: "Tutti i risultati"searchOptions (array, opzionale): Opzioni per l’autocomplete; struttura delegata a @search-barvariant (stringa, opzionale): Variante del componente @search-barsearchBarClasses (stringa, opzionale): Classi CSS aggiuntive per il wrapper della search bar e passate a @search-barLivello AA — criteri pertinenti:
<h1> come titolo principale della pagina; struttura heading rispettata<h1> descrive lo scopo della pagina di risultatilabel, passato a @search-bar<div class="rtds-search-results-header"> — wrapper presentazionale; non introduce landmark<h1> — titolo principale della pagina; deve comparire una sola volta per pagina; usare isContextBanner su @page-header-base se l’<h1> reale si trova altrove@search-bar, che gestisce internamente label, submit, clear button e attributi ARIA dell’inputLa gestione degli attributi ARIA è interamente delegata al componente @search-bar incluso.
<h1> è il primo heading della pagina di risultati — annunciato dagli screen reader come intestazione principalelabel passata a @search-bar; il pulsante clear ha testo accessibile gestito internamente.rtds-search-results-header: Larghezza piena (rtds-w-full).rtds-search-results-header__content: Wrapper di titolo e descrizione.rtds-search-results-header__description: Wrapper del testo descrittivo opzionale.rtds-search-results-header__search: Wrapper del componente search bar; larghezza piena (rtds-w-full)<!-- Variante default con sfondo e descrizione -->
<div class="rtds-search-results-header rtds-background-01">
<div class="rtds-container rtds-space-y-4 lg:rtds-space-y-6 rtds-py-10 lg:rtds-py-12 xl:rtds-py-16">
<div class="rtds-search-results-header__content">
<h1 class="rtds-heading-1">Risultati di ricerca</h1>
<div class="rtds-search-results-header__description">
Cerca nel sito per trovare informazioni e servizi
</div>
</div>
<div class="rtds-search-results-header__search">
<!-- @search-bar -->
</div>
</div>
</div>
<!-- Senza descrizione -->
<div class="rtds-search-results-header">
<div class="rtds-container rtds-space-y-4 lg:rtds-space-y-6 rtds-py-10 lg:rtds-py-12 xl:rtds-py-16">
<div class="rtds-search-results-header__content">
<h1 class="rtds-heading-1">Servizi</h1>
</div>
<div class="rtds-search-results-header__search">
<!-- @search-bar -->
</div>
</div>
</div>v2 del template @ricerca al posto di @page-header-base — centralizza il titolo e la barra di ricerca nell’header invece della sidebar{% block title %}, {% block description %}, {% block searchBar %}rtds-py-10 (mobile), rtds-py-12 (lg), rtds-py-16 (xl)@search-bar