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. 
itRenders(
        'svg child element with a namespace attribute',
        async render => {
          let e = await render(
            <svg><image xlinkHref="http:i.imgur.com/w7GCRPb.png" /></svg>,
          );
          e = e.firstChild;
          expect(e.childNodes.length).toBe(0);
          expect(e.tagName).toBe('image');
          expect(e.namespaceURI).toBe('http:www.w3.org/2000/svg');
          expect(e.getAttributeNS('http:www.w3.org/1999/xlink', 'href')).toBe(
            'http:i.imgur.com/w7GCRPb.png',
          );
        },
      );
      itRenders('svg child element with a badly cased alias', async render => {
        let e = await render(
          <svg><image xlinkhref="http:i.imgur.com/w7GCRPb.png" /></svg>,
          1,
        );
        e = e.firstChild;
        expect(e.hasAttributeNS('http:www.w3.org/1999/xlink', 'href')).toBe(
          false,
        );
        expect(e.getAttribute('xlinkhref')).toBe(
          'http:i.imgur.com/w7GCRPb.png',
        );
      });
      itRenders('a math element', async render => {
        const e = await render(<math />);