**Do you want to request a *feature* or report a *bug*?**

Bug

**What is the current behavior?**

The size prop can only be a number and I think this should be true for inputs and selects but not necessarily true for the rest of HTML tags or web components.

**If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem. Your bug will get fixed much faster if we can run your code and it doesn't have dependencies other than React. Paste the link to your JSFiddle (https://jsfiddle.net/Luktwrdm/) or CodeSandbox (https://codesandbox.io/s/new) example below:**

Sorry, it's a CodePen. This example uses a framework called OnsenUI that internally uses web components. In the OnsenUI framework there is an icon web component that transforms every size prop value into a string which is not attached to the DOM.

I know that the example has more dependencies than React, BUT there is also a simple div (as simple as this `<div size="40px" />`) which is also affected by this issue.

https://codepen.io/airamrguez/pen/bMEgEP

**What is the expected behavior?**

The size prop should be added to the DOM when it is not a number on HTML tags that aren't inputs and selects.

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**

The affected versions are >= 16.3
It works ok in versions <= 16.2
Browsers: All

/**
 * Copyright (c) 2013-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */
import warning from 'fbjs/lib/warning';
type PropertyType = 0 | 1 | 2 | 3 | 4 | 5 | 6;
export const RESERVED = 0;
export const STRING = 1;
export const BOOLEANISH_STRING = 2;
export const BOOLEAN = 3;
export const OVERLOADED_BOOLEAN = 4;
export const NUMERIC = 5;
export const POSITIVE_NUMERIC = 6;
export type PropertyInfo = {|
  +acceptsBooleans: boolean,
  +attributeName: string,
  +attributeNamespace: string | null,
  +mustUseProperty: boolean,
  +propertyName: string,
  +type: PropertyType,