# Actionability Playwright does a range of actionability checks on the elements before performing certain actions. These checks ensure that action behaves as expected, for example Playwright does not click on a disabled button. Playwright waits until all the relevant actionability checks pass before performing an action. This means that action will fail with `TimeoutError` if checks do not pass within the specified `timeout`. Some actions like `page.click()` support `{force: true}` option that disable non-essential actionability checks, for example passing `force` to `click()` method will not check that the target element actually receives click events. | Actions | Performed checks | | ------ | ------- | | `check()`
`click()`
`dblclick()`
`uncheck()` | [Visible]
[Stable]
[Enabled]
[Receiving Events]
[Attached] | | `hover()` | [Visible]
[Stable]
[Receiving Events]
[Attached] | | `fill()` | [Visible]
[Enabled]
[Editable]
[Attached] | | `dispatchEvent()`
`focus()`
`press()`
`setInputFiles()`
`selectOption()`
`type()` | [Attached] | | `scrollIntoViewIfNeeded()`
`screenshot()` | [Visible]
[Stable]
[Attached] | | `selectText()` | [Visible]
[Attached] | | `getAttribute()`
`innerText()`
`innerHTML()`
`textContent()` | [Attached] | ### Visible Element is considered visible when it has non-empty bounding box and does not have `visibility:hidden` computed style. Note that elements of zero size or with `display:none` are not considered visible. ### Stable Element is considered stable when it has maintained the same bounding box for at least two consecutive animation frames. ### Enabled Element is considered enabled when it is not a `