schema.orgrdfa

'itemListElement' not recognized in 'HowTo' schema


Based on the Microdata example in http://schema.org/HowTo and extrapolating syntax from the Microdata vs RDFa example in http://schema.org/hasOfferCatalog (there seem to be so few actual examples of RDFa to find?), I put together something like so:

<main vocab="http://schema.org/" typeof="HowTo">
  <h1><span property="name">How to do the Hokey Pokey</span></h1>
  <ol property="steps">
    <li property="itemListElement" typeof="HowToStep">
      <img alt="step 1" src="step1.jpg" align="left">
      <p property="itemListElement" typeof="HowToDirection">
        put your left hand in</p></li>
    <li property="itemListElement" typeof="HowToStep">
      <img alt="step 2" src="step2.jpg" align="left">
      <p property="itemListElement" typeof="HowToDirection">
        put your left hand out</p></li>

But, when put into Google's Structured Data Testing Tool, I get:

The property itemListElement is not recognized by Google for an object of type HowTo.

Yandex's validator also says:

WARNING: http://schema.org/itemListElement field not specified in http://schema.org/HowTo

What am I doing wrong?


Solution

  • You missed to specify the HowToSection (or HowToStep) type as value for the steps property.

    The Microdata example uses:

    <div id="steps" itemprop="steps" itemscope itemtype="http://schema.org/HowToSection">
    

    The equivalent RDFa would be:

    <div id="steps" property="steps" typeof="HowToSection">
    

    If you aren’t providing an ItemList/CreativeWork value for the steps property, you are providing a Text value (this is what you are doing in your example markup). But you can’t add properties (like itemListElement) to a Text value.