testing-library / dom-testing-library

🐙 Simple and complete DOM testing utilities that encourage good testing practices.
https://testing-library.com/dom
MIT License
3.26k stars 466 forks source link

getByRole should not find the element with user custom and invalid ARIA role. #1192

Open mrdulin opened 1 year ago

mrdulin commented 1 year ago

Relevant code or config:

<div role='item'>
  apple
</div>

// query
screen.getByRole('item')

What happened:

The testing playground query the element successfully and told me the div element has an "item" role.

Problem description:

But the "item" role is not a pre-defined ARIA role, so I expect that screen.getByRole('item') should not find the element.

eps1lon commented 1 year ago

This would block testing new roles (or experimental roles).

So if we start blocking (or warning about) unknown roles, we also need to add a configuration open to add available roles. People might not be able to upgrade Testing Library but are able to use new roles.