Although your expectation is perfectly natural, it is not the way browsers work. It may have been an accidental omission to the official specification. http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-76728479 | elements of type HTMLCollection, readonly | Returns a collection of all form control | elements in the form (form.elements is not an array). http://www.w3.org/TR/html401/interact/forms.html#h-17.2.1 HTML defines the following control types: buttons, checkboxes, radio buttons, menus, text input, file select, hidden controls, object controls The specification does not mention input elements being a 'form control' and, at least under the "form controls" section does not include input type="image". It is too late to change the specification at this time.