I due h1 che compaiono nel codice della Home page corrispondono:
- il primo al Meta tag che compili in configurazione sito (esempio Sito ufficiale di xxxxx)
- il secondo alla frase di benvenuto (es. Benvenuto nel sito ufficiale di)
Il resto gli h2 (titoli articoli in homepage) e h3 (titolo moduli) sono OK.
Parto dai dati esempio che ho installato in installazione:
Menù principale > Descrizione di Joomla ho
- 1 h1 generato dal meta tag
- 1 h1 per titolo articolo
- 1 h2 <noscript><h2>La funzione di incremento-decremento dei caratteri e di attivazione di alto contrasto necessita javascript. Il tuo browser non supporta javascript oppure javascript è stato disabilitato.</h2></noscript>
- h3 per titolo moduli
Il Validatore dà OK perchè rileva la gerarchia, ma l'h2 presente in codice? Non capisco
Se invece in Menù principale clicco su Notizie (categorie), a parte i 2 h1, la gerarchia è ben rispettata.
Se tolgo la frase di benvenuto ho Meta tag in h1, in h1 tutti i titoli degli articoli in home page e in h3 i titoli del moduli.
Il validatore passa perchè è anche qui presente <noscript><h2>La funzione di incremento-decremento dei caratteri e di attivazione di alto contrasto necessita javascript. Il tuo browser non supporta javascript oppure javascript è stato disabilitato.</h2></noscript> che però
A mio parere (chiaramente è solo un parere personale confutabile) più corretto sarebbe avere:
h1 - Nome sito (generato da meta)
h2 - titoli dell'articoli
h3 - Titoli moduli
E' possibile intervenire sul codice? Dove agire?
Oppure potete farmi capire la presenza degli h2 in tag noscript. Di sicuro hanno una loro funzione (avvertimento?) ma se così perchè in h2?
L'H2 nel noscript è lì dagli albori di Joomla FAP (addirittura dalla versione per Joomla 1.0), effettivamente non ha molto senso. Probabilmente serve solo ad evidenziare graficamente il messaggio.
Però non mi pare che sia un problema lasciarlo.
La gerarchia dei titoli negli articoli non è purtroppo completamente sotto il controllo del template, le variabili sono le seguenti:
* show_page_title e page_title (il titolo dell pagina, come configurato nel menu)
* gerarchia dei titoli usata all'interno degli articoli
show_page_title e page_title sono configurabili dall'utente e trattandosi del titolo della pagina, sono considerati al massimo livello gerarchico, quindi H1. Il problema è che sono opzionali, quindi potrebbero non esserci. Il template FAP però prende in considerazione l'eventualità della presenza o assenza del page_title e usa tag H1 o H2 di conseguenza.
Ricapitolando: se show_page_title=yes e page_title è compilato, abbiamo un H1 e quindi tutto il resto (titolo dell'articolo o degli articoli) diventa H2, se invece show_page_title=false, il titolo dell'articolo diventa H1
Ma qui c'è un altro problema: cosa impedisce all'utente di inserire all'interno del corpo di un articolo un titolo di livello H1 ? Glielo limitiamo configurando JCE ? Ammesso che si possa...
Insomma, a mio avviso non c'è molto che si possa fare lato codice, l'unica è avere delle procedure interne che definiscono quali livelli di titolo è possibile usare all'interno degli articoli e se il titolo delle pagine deve essere attivato o meno.
Ciao