<!-- * Please fill out this template with all the relevant information so we can understand what's going on and fix the issue. We appreciate bugs filed and PRs submitted! * Please make sure that you are familiar with and follow the Code of Conduct for this project (found in the CODE_OF_CONDUCT.md file). We'll probably ask you to submit the fix (after giving some direction). If you've never done that before, that's great! Check this free short video tutorial to learn how: https://kcd.im/pull-request If this is an issue with the documentation, please file an issue in the docs repo: https://github.com/testing-library/testing-library-docs --> - `DOM Testing Library` version: 6.12.0 - `node` version: 13.7.0 - `npm` (or `yarn`) version: 6.13.6 ### Relevant code or config: Component: ```jsx export default function App() { return ( <label> Select me: <select> <option value="1">first</option> </select> </label> ); } ``` Test: ```jsx test('click select', function () { let { getByRole } = render(<App/>) fireEvent.click(getByRole('listbox')) }) ``` ### What you did: Simulated a click on a `<select>` element that is inside a `<label>` element. ### What happened: Get `Maximum call stack size exceeded`. ### Reproduction: https://codesandbox.io/s/eloquent-pike-7uw1h ### Problem description: When clicking a select (or possibly input) element which is inside a label, the code is thrown into an infinite loop, which shouldn't happen. ### Suggested solution: <!-- It's ok if you don't have a suggested solution, but it really helps if you could do a little digging to come up with some suggestion of how to improve things. -->