title: Number input falsely accepting floats with decimal places
body: <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;form&gt;
    &lt;input type="number" step="1" required&gt;
    &lt;input type="submit"&gt;
  &lt;/form&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>In the above code snippet, if you insert</p>
  
  <pre><code>0.0000001
  </code></pre>
  
  <p>into the number input, you cannot submit the form: The "step" attribute prevents this.</p>
  
  <p>But if you insert</p>
  
  <pre><code>0.00000001
  </code></pre>
  
  <p>it works in Chrome/Chromium! Why does it seem to only read the first seven decimal places when validating the input? Is this documented anywhere and what can I do to prevent this?</p>
  
  <p>I tested Firefox, it does not accept any such values.</p>
  
  <p>For clarification, the <a href="https://stackoverflow.com/questions/588004/is-floating-point-math-broken">common pitfall <code>0.30000000000000004 === 0.1+0.2</code></a> cannot be the issue here, as this occurs only with 16 decimal places. The input value above fails with 8 decimal places.</p>