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('"aria" attribute with a warning', async render => {
        
        const e = await render(<div aria="hello" />, 1);
        expect(e.getAttribute('aria')).toBe('hello');
      });
    });
    describe('cased attributes', function() {
      itRenders(
        'badly cased aliased HTML attribute with a warning',
        async render => {
          const e = await render(<meta httpequiv="refresh" />, 1);
          expect(e.hasAttribute('http-equiv')).toBe(false);
          expect(e.getAttribute('httpequiv')).toBe('refresh');
        },
      );
      itRenders('badly cased SVG attribute with a warning', async render => {
        const e = await render(<text textlength="10" />, 1);
        expect(e.getAttribute('textLength')).toBe('10');
      });
      itRenders('no badly cased aliased SVG attribute alias', async render => {
        const e = await render(<text strokedasharray="10 10" />, 1);
        expect(e.hasAttribute('stroke-dasharray')).toBe(false);
        expect(e.getAttribute('strokedasharray')).toBe('10 10');
      });
      itRenders(
        'no badly cased original SVG attribute that is aliased',
        async render => {
          const e = await render(<text stroke-dasharray="10 10" />, 1);
          expect(e.getAttribute('stroke-dasharray')).toBe('10 10');
        },