2016-10-24 2 views
0

Я пытаюсь добавить разметку Microdata (используя Schema.org) на страницу. На данный момент, код выглядит следующим образом:h1, h2, h3 вокруг разметки Microdata

<div itemscope itemtype="http://schema.org/Product"> 
    <div class="primary"> 
     <div itemprop="brand" itemscope itemtype="http://schema.org/Brand"> 
      <span itemprop="name">Acme Co</span> 
     </div> 
     <h4 itemprop="name">Blue Widget</h4> 
    </div> 
</div> 

Однако то, что я хочу сделать, это изменить h4 от «Blue Widget» в «Acme Co Синий Widget». У меня уже есть название компании, инкапсулированное типом Brand, поэтому я не хочу повторять его на странице. Вот что я думаю.

Возможное решение

<div itemscope itemtype="http://schema.org/Product"> 
    <h4 class="primary"> 
     <span itemprop="brand" itemscope itemtype="http://schema.org/Brand"> 
      <span itemprop="name">Acme Co</span> 
     </span> 
     <span itemprop="name">Blue Widget</span> 
    </h4> 
</div> 

Это не вопрос о том, будет ли разметка микроданных/Schema.org быть действительным (я могу проверить, что), но заголовок будет читаться браузерами, как я хочу - «Acme Co Blue Widget»? Я не уверен, что все вещи Schema.org продолжаются.

+0

ли я вижу один и тот же код дважды? – giorgio

+0

Нет, нет, я сказал, что не хочу повторять это, следовательно, второе решение. –

+0

ах! да, теперь я вижу различия;) dunno, в котором вы находитесь, но сегодня утром в понедельник: p – giorgio

ответ

1

Да, это нормально.

heading elements h1-h6 может содержать phrasing content (в том числе span). Как span элементы не имеют смысла, эти h4 семантически эквивалентны: атрибуты

<h4>Foobar</h4> 
<h4><span>Fo<span>o</span>bar</span></h4> 

микроданных не меняют HTML семантику.


Альтернативы вашего решения будет использовать meta элемент (но нет никакой необходимости использовать этот вариант, если вы счастливы с вашим решением):

<div itemscope itemtype="http://schema.org/Product"> 
    <span itemprop="brand" itemscope itemtype="http://schema.org/Brand"> 
    <meta itemprop="name" content="Acme Co" /> 
    </span> 
    <h4 itemprop="name" class="primary">Acme Co Blue Widget</h4> 
</div>