My source code doesn't have a space after those inputs, why does the outerHTML have one?
Because IE has a bug in its parser. The </li> doesn't really count when it parses the page, and the line return after the </li> is counted as part of it.