Я бы сказал, что оба ваших варианта семантически верны, и они оба проверяются в стандартах HTML5.
Оба тега <a>
и <figure>
являются потоковым контентом и разрешенным контентом внутри самоготе же теги также содержимое потока в соответствии с MDN . Так что обертывание любого из них внутри другого имело бы смысл.
Если вы хотите связать содержимое рисунка, включая <img>
, <figcaption>
или любое содержимое потока, я бы обернул все внутри <a>
tag.
Если вы хотите связать только <img>
или любой другой конкретный элемент, я бы обернул все внутри тега <figure>
, а затем привязку внутри.
I 'Я не уверен в проблемах доступности в этом случае, но я думаю, что это зависит от содержания.