HTMLFormElement#elementsにはtype="image"のinput要素は含まれない

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>HTMLFormElement#elements Test</title>
<form action="#" id="testForm">
  <ul>
    <li><input type="text"></li>
    <li><input type="password"></li>
    <li><input type="checkbox" value="checkbox"></li>
    <li><input type="radio" value="radio"></li>
    <li><input type="submit"></li>
    <li><input type="reset"></li>
    <li><input type="file"></li>
    <li><input type="hidden"></li>
    <li><input type="image" src="button.png" alt="image"></li>
    <li><input type="button"></li>
    <li><button><img src="button.png"></button></li>
    <li><select><option>option</option></select></li>
  </ul>
</form>
<script type="text/javascript">
  var form = document.getElementById('testForm');
  console.log(form.elements);  // type="image"のinput要素が含まれていない
</script>

IE8、Firefox 3.6、Opera 10.6、Chrome 6、Safari 5で確認したけれどすべて同じ。

DOM Level 2 HTMLの仕様書にもそのような記述はないと思うんだけど……。

elements of type HTMLCollection, readonly
Returns a collection of all form control elements in the form.
Document Object Model HTML

なぜだろう。

HTML5で明文化されていた。歴史的な理由か……。

with the exception of input elements whose type attribute is in the Image Button state, which must, for historical reasons, be excluded from this particular collection.

http://www.w3.org/TR/html5/forms.html#dom-form-elements