**Do you want to request a _feature_ or report a _bug_?**
Bug
**What is the current behavior?**
React at the beginning rounds `input[type=range]` value to 0 or 1, and then looks at step parameter which is 0.1 for example. The result is incorrect value of input after component mounts. When I put `value` attribute after `step` attributes, it works fine.
**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar (template: https://jsfiddle.net/reactjs/69z2wepo/).**
Demo: https://jsfiddle.net/2Lm4gy5k/ Comment or uncomment line 13 and 14 to see the difference.

**What is the expected behavior?**
To always look at step parameter and then round the value (if required).
**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
v15.1.0 (Opera, Chrome, Firefox). 

Yes, works in v.0.14.0 (https://jsfiddle.net/wrcnLugd/)

var cNode = ReactDOM.findDOMNode(stub.refs.c);
    expect(aNode.checked).toBe(true);
    expect(bNode.checked).toBe(false);
    
    expect(cNode.checked).toBe(true);
    bNode.checked = true;
    
    
    
    aNode.checked = false;
    expect(cNode.checked).toBe(true);
    
    ReactTestUtils.Simulate.change(bNode);
    
    expect(aNode.checked).toBe(true);
    expect(cNode.checked).toBe(true);
  });
  it('should support ReactLink', function() {
    var link = new ReactLink('yolo', jest.fn());
    var instance = <input type="text" valueLink={link} />;
    instance = ReactTestUtils.renderIntoDocument(instance);
    expect(ReactDOM.findDOMNode(instance).value).toBe('yolo');
    expect(link.value).toBe('yolo');
    expect(link.requestChange.mock.calls.length).toBe(0);
    ReactDOM.findDOMNode(instance).value = 'test';
    ReactTestUtils.Simulate.change(ReactDOM.findDOMNode(instance));
    expect(link.requestChange.mock.calls.length).toBe(1);
    expect(link.requestChange.mock.calls[0][0]).toEqual('test');
  });
  it('should warn with value and no onChange handler', function() {