Если у вас есть только один тег <h1>
, вам не нужен элемент <hgroup>
, плюс можно спорить о размещении <a>
внутри <h1>
, а не наоборот, это не повлияет семантика, но размещение ее вне имеет некоторые преимущества стиля по умолчанию (такие как большая область щелчка). Так что семантически правильный код (на мой взгляд) будет:
<header>
<a href="/"><h1>Site Title</h1></a>
</header>
Почему нет <hgroup>
?
Поскольку цель <hgroup>
состоит в том, чтобы сгруппировать заголовки, которые служат одной и той же цели, например:
<h1>Site Title</h1>
<h2>Longer Site Description</h2>
может привести к неожиданным результатам для программ чтения с экрана и поисковых систем, поэтому <hgroup>
здесь, чтобы решить эту проблему:
<hgroup>
<h1>Site Title</h1>
<h2>Longer Site Description</h2>
</hgroup