diff --git a/src/AjaxUploader.tsx b/src/AjaxUploader.tsx index 2d4de93..7d4e73e 100644 --- a/src/AjaxUploader.tsx +++ b/src/AjaxUploader.tsx @@ -373,6 +373,7 @@ class AjaxUploader extends Component { const dirProps: any = directory ? { directory: 'directory', webkitdirectory: 'webkitdirectory' } : {}; + const isInteractive = openFileDialogOnClick && !hasControlInside; const events = disabled ? {} : { @@ -382,10 +383,10 @@ class AjaxUploader extends Component { onMouseLeave, onDrop: this.onFileDrop, onDragOver: this.onFileDragOver, - tabIndex: hasControlInside ? undefined : '0', + tabIndex: isInteractive ? '0' : undefined, }; return ( - + { expect(container.querySelector('span')!).not.toHaveAttribute('role', 'button'); }); + it("Should not be focusable and doesn't have role=button with openFileDialogOnClick=false", () => { + const { container } = render(); + + expect(container.querySelector('span')!.tabIndex).not.toBe(0); + expect(container.querySelector('span')!).not.toHaveAttribute('role', 'button'); + }); + it('should receive same defaultRequest as src', done => { const { default: srcRequest } = require('../src/request'); let receivedDefaultRequest: any;