<!--
  Note: if the issue is about documentation or the website, please file it at:
  https://github.com/reactjs/reactjs.org/issues/new
-->

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

**What is the current behavior?**

Since React@16.5 seems that `root` element has `onclick` event handler with noop function.
In ios Safari/Chrome browsers html element has gray overlay when tap on it.

The current behavior is that the whole `root` is blinking when we tap on it.

The simple example to reproduce:
https://codesandbox.io/s/wyo8rlj1zk
The issue is reproducing only in fullscreen mode https://wyo8rlj1zk.codesandbox.io/
(root container is steel blue)

I suppose changes came from here:
https://github.com/facebook/react/pull/11927
https://github.com/facebook/react/pull/11927/files

and the issue can be related with:
https://github.com/mui-org/material-ui/issues/11154
https://github.com/facebook/react/issues/12717

**Which versions of React, and which browser / OS are affected by this issue? Did this work in previous versions of React?**
React 16.5
ios 11.3/12 Safari/Chrome
expect(container.firstChild.getAttribute('unknown')).toBe(
        '[object Object]',
      );
    });
    it('allows objects that inherit a custom toString method', function() {
      const parent = {toString: () => 'hello.jpg'};
      const child = Object.create(parent);
      const el = ReactTestUtils.renderIntoDocument(<img src={child} />);
      expect(el.src).toBe('hello.jpg');
    });
    it('assigns ajaxify (an important internal FB attribute)', function() {
      const options = {toString: () => 'ajaxy'};
      const el = ReactTestUtils.renderIntoDocument(<div ajaxify={options} />);
      expect(el.getAttribute('ajaxify')).toBe('ajaxy');
    });
  });
  describe('String boolean attributes', function() {
    it('does not assign string boolean attributes for custom attributes', function() {
      let el;
      expect(() => {
        el = ReactTestUtils.renderIntoDocument(<div whatever={true} />);
      }).toWarnDev(
        'Received `true` for a non-boolean attribute `whatever`.\n\n' +
          'If you want to write it to the DOM, pass a string instead: ' +
          'whatever="true" or whatever={value.toString()}.',
      );
      expect(el.hasAttribute('whatever')).toBe(false);
    });
    it('stringifies the boolean true for allowed attributes', function() {
      const el = ReactTestUtils.renderIntoDocument(<div spellCheck={true} />);