# Element is not visible or actionable

Classification: timing-race
Frameworks: Selenium, Playwright
Canonical: https://automationtester.in/failures/element-not-visible-or-actionable

## Recognizable error

```text
ElementNotInteractableException: element not interactable
```

## What it means

The test found an element, but a user could not interact with it in its current state.

## Ranked causes, checks, and fixes

### 1. An overlay covers the target

A loader, consent layer, animation, or sticky element intercepts the action.

Diagnostic: Inspect the element at failure time and identify the topmost node at its click point.

Fix: Wait for the overlay to close through the same product state a user observes.

### 2. The matched node is hidden

The locator may select a template, inactive tab, or responsive duplicate.

Diagnostic: Check visibility for all matches and the active container.

Fix: Scope the locator to the visible region or remove inactive duplicates from the DOM.

### 3. The control is disabled while work completes

The test acts before validation or a request enables the control.

Diagnostic: Inspect disabled and aria-disabled changes around the action.

Fix: Assert that the control becomes enabled, then perform the action.

## Prevention

- Test user-visible readiness.
- Avoid forced clicks except when testing low-level behavior.
- Keep overlays accessible and stateful.

## Primary references

- [Playwright actionability](https://playwright.dev/docs/actionability)

Triage this failure locally: https://automationtester.in/tools/test-failure-triage