"position" property required for ItemList with Product list items?

From my testing malefique is onto the right solution.

This code fully validates using the Structured Data testing tool:

{
    "@context": "http://schema.org",
    "@type": "ItemList",
    "itemListOrder": "http://schema.org/ItemListOrderDescending",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "item": {
                "@type": "Product",
                "name": "My product",
                "url": "www.example.com",
                "offers": {
                    "@type": "Offer",
                    "availability": "http://schema.org/InStock",
                    "price": "100.00",
                    "priceCurrency": "AUD"
                }
            }
        }
    ]
}

This is not an error with your code. It just means that Google won’t display a certain Rich Snippet (or a similar feature) unless you provide this property.

However, the position property is not defined for the Product type, so this does not make any sense.

It seems that this is a new structured data feature from Google, which is not documented yet, as it links to a 404 page: List Page Carousels. Maybe it’s a work in progress and they didn’t mean to publish the check in their Testing Tool yet.

So I’d simply ignore this for now.