remplacer id par class oblige à changer #mainmenu par .mainmenu dans les feuilles de style, ce qui est une modification importante.
Et ma remarque ne concerne pas que mon site, mais aussi
http://www.xoops.org/ et
https://www.frxoops.org/ que l'on peut considérer comme des modèles d'utilisation de Xoops.
Apparemment, la conformité W3C n'y est pas une priorité.
Les specs W3C impliquent que
id est unique, ce qui est nécessaire pour les fonctions javascript comme document.getElementById("
id").
Si on s'abstient d'utiliser ces fonctions, l'erreur n'est pas grave.
Mais il y a bien d'autres erreurs.