title: Input type="number" with pattern="[0-9]*" allows letters in firefox
body: <p>So, all question is in the topic's title. Input <code>type="number"</code> with <code>pattern="[0-9]*"</code> works fine in Chrome, but allows letters in FF. Is there any way to fix it without using jQuery or JS?</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-css lang-css prettyprint-override"><code>.small-input {
    -moz-appearance: textfield;
  }
  .small-input::-webkit-inner-spin-button {
     display: none;
    }
  
  .small-input::-webkit-outer-spin-button,
  .small-input::-webkit-inner-spin-button {
     -webkit-appearance: none;
     margin: 0;
    }
   }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input class="small-input " pattern="[0-9]*" value="" type="number"&gt;</code></pre>
  </div>
  </div>
  </p>