HTML5 — Pas de balise aside dans un hgroup ?

Après Une orientation encore trop « littéraire » et pas assez « web » je m’interroge aujourd’hui sur un autre aspect des spécifications HTML5 :  cette tendance à dire aux éditeurs de contenus comment il doivent écrire ou mettre en forme leurs documents. Aujourd’hui, j’ai eu la surprise de voir une page rejetée par le validateur au motif qu’un Element aside not allowed as child of element hgroup in this context. Autrement dit, un élément aside n’est pas autorisé à être enfant d’un élément hgroup. C’est agaçant parce que je trouvais que mon marquage en avait sous la santiag :

<hgroup id="brand"">
  <h1><a href="/"><?php echo get_bloginfo ( 'title' ); ?></a></h1>
  <h2><?php echo get_bloginfo ( 'description' ); ?></h2>
  <aside>
    <?php if (!function_exists('dynamic_sidebar') || !dynamic_sidebar('logo')) : ?>
        <p><img src="images/logo.png" alt></p>
    <?php endif; ?>
  </aside>
</hgroup>

Bon, évidemment les exemples des specs sont assez claires et `hgroup` n’est pas censé contenir autre chose que des niveaux d’en-tête de `h1` à `h6`. Si on veut regrouper d’autres éléments on peut le faire à un autre niveau, comme la balise `header`.

Oui mais voilà : dans mon idée, l’image incluse dans `aside` — qui aurait pu n’être qu’un background — est destinée à être imprimée sans que l’utilisateur ne bidouille les options d’impression, d’où sa présence en dur dans le code HTML.

Je n’ai pas cherché à couper les cheveux en quatre ; je suis sûr qu’en cherchant un peu on pourrait trouver «what 1000» occasions légitimes et sémantiques (c’est-à-dire qui font sens du point de vue de l’auteur du document) pour justifier la présence d’un élément `aside` dans un `hgroup`.

Maintenant que le lait est tiré il faut le boire, certes, mais plus je réfléchis et plus je trouve que HTML5 a le «cul entre deux chaises» : soit il y a trop de balises spécifiques, soit pas assez, sans parler des restrictions comme celle que je viens de soumettre à votre attention.

N’hésitez pas à me remettre les idées en place dans les commentaires si quelque chose d’évident m’a échappé 😉