Можно ли оборачивать ссылкой блочный элемент?

В HTML4 — нет, в HTML5 — да.

В HTML4, если вам нужен валидный код, необходимо помещать ссылки внутрь блочных элементов и оборачивать каждый строчной элемент отдельно.

Простой случай:

<h1><a href="page.html">Заголовок</a></h1>

Более сложная ситуация:

<div class="figure">
  <a href="page.html">
    <img src="/images/ball.jpg" alt="Мяч">
  </a>
  <div class="figcaption">
    <a href="page.html">Мяч</a>
  </div>
</div>

В HTML5 всё упростилось:

<a href="page.html">
  <figure>
    <img src="/images/ball.jpg" alt="Мяч">
    <figcaption>Мяч</figcaption>
  <figure>
</a>