#### Type
`inconsistency` for common use cases.
`bug` for projects relying on correct DOM emissions.

#### Description
It's unclear to me if the following is a known issue or not.
Take in consideration the snippet below:
```jsx
<input type="checkbox" defaultChecked={true} />
```
#### Current Behavior
Setting the `defaultValue` prop on inputs of other types sets both the `value` and `defaultValue` attribute on the DOM element.

When setting the `defaultChecked` prop on inputs of type `checkbox` only the `checked` attribute is correctly set, leaving the `defaultChecked` attribute unchanged.

#### Expected Behaviour
Like mentioned above, the expected behavior would be for the `defaultChecked` prop to set both the `checked` and `defaultChecked` attributes on the corresponding DOM node (like it's the case with the `defaultValue` prop).

setUntrackedValue = Object.getOwnPropertyDescriptor(
      HTMLInputElement.prototype,
      'value',
    ).set;
    React = require('react');
    ReactDOM = require('react-dom');
    ReactDOMServer = require('react-dom/server');
    ReactTestUtils = require('react-dom/test-utils');
  });
  it('should properly control a value even if no event listener exists', () => {
    const container = document.createElement('div');
    let node;
    expect(() => {
      node = ReactDOM.render(<input type="text" value="lion" />, container);
    }).toWarnDev(
      'Failed prop type: You provided a `value` prop to a form field without an `onChange` handler.',
    );
    document.body.appendChild(container);
    try {
      setUntrackedValue.call(node, 'giraffe');
      
      
      dispatchEventOnNode(node, 'change');
      expect(node.value).toBe('lion');
    } finally {
      document.body.removeChild(container);
    }
  });
  it('should control a value in reentrant events', () => {
    class ControlledInputs extends React.Component {