See the original report in https://github.com/facebook/react/issues/10772#issuecomment-333242375.

The problem is that SVG is case sensitive, and so naïvely setting `tabIndex` and relying on insensitivity won't work with it.

The good news is it seems like `tabindex` is the only valid [SVG attribute](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute) with this problem. We just missed it because it applies both to HTML and SVG.

I think the fix is to add it back to the whitelist. 
return <div>foo</div>;
          }
        }
        checkFooDiv(await render(<ClassComponent />));
      });
      itRenders('factory components', async render => {
        const FactoryComponent = () => {
          return {
            render: function() {
              return <div>foo</div>;
            },
          };
        };
        checkFooDiv(await render(<FactoryComponent />));
      });
    });
    describe('component hierarchies', async function() {
      itRenders('single child hierarchies of components', async render => {
        const Component = props => <div>{props.children}</div>;
        let e = await render(
          <Component>
            <Component>
              <Component>
                <Component />
              </Component>
            </Component>
          </Component>,
        );
        for (var i = 0; i < 3; i++) {
          expect(e.tagName).toBe('DIV');