About This HTML Issue
An li element's value attribute must hold an integer, so a value that starts with anything other than a digit or a minus sign, such as NaN, is invalid.
Inside an ol, value sets the number shown for that list item. The HTML standard requires a valid integer: an optional - followed by one or more digits, like 3 or -1. The validator reads the value one character at a time. This message means the first character was neither - nor a digit, and it quotes that character. A word like first fails on its first letter, and so does a leading + or space.
NaN is JavaScript's "not a number" value. In the markup, it usually means a script or a rich text editor tried to work out the item's number, for example with parseInt() on text that has no digits, and wrote the failed result into the attribute.
Browsers ignore a value they can't parse and number the item as if the attribute weren't there, counting on from the item before it. Removing the attribute keeps the numbering readers see today. If an item needs a specific number, write that integer in value. To start the whole list at a number other than 1, put start on the ol instead. Fix whatever generates the attribute as well, or the bad value can come back the next time the page is edited.
Invalid example
<ol>
<li value="NaN">Preheat the oven to 180 °C.</li>
<li value="NaN">Mix the flour and the sugar.</li>
<li value="NaN">Bake for 25 minutes.</li>
</ol>
Valid example
<ol>
<li>Preheat the oven to 180 °C.</li>
<li>Mix the flour and the sugar.</li>
<li>Bake for 25 minutes.</li>
</ol>
Find issues like this automatically
Rocket Validator scans thousands of pages in seconds, detecting HTML issues across your entire site.