Skip to content

fix(no-node-access): stop reporting blur() usage #1031

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 13, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/rules/no-node-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Disallow direct access or manipulation of DOM nodes in favor of Testing Library'
This rule aims to disallow direct access and manipulation of DOM nodes using native HTML properties and methods — including traversal (e.g. `closest`, `lastChild`) as well as direct actions (e.g. `click()`, `select()`). Use Testing Library’s queries and userEvent APIs instead.

> [!NOTE]
> This rule does not report usage of `focus()`, because imperative focus (e.g. `getByText('focus me').focus()`) is recommended over `fireEvent.focus()`.
> This rule does not report usage of `focus()` or `blur()`, because imperative usage (e.g. `getByText('focus me').focus()` or .`blur()`) is recommended over `fireEvent.focus()` or `fireEvent.blur()`.
> If an element is not focusable, related assertions will fail, leading to more robust tests. See [Testing Library Events Guide](https://testing-library.com/docs/guide-events/) for more details.

Examples of **incorrect** code for this rule:
Expand Down
2 changes: 1 addition & 1 deletion lib/utils/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ const METHODS_RETURNING_NODES = [
'querySelectorAll',
] as const;

const EVENT_HANDLER_METHODS = ['click', 'blur', 'select', 'submit'] as const;
const EVENT_HANDLER_METHODS = ['click', 'select', 'submit'] as const;

const ALL_RETURNING_NODES = [
...PROPERTIES_RETURNING_NODES,
Expand Down